标签: grasshopper运算器

  • 如何在grasshopper上找到真正的uv展开曲面

    如何在grasshopper上找到真正的uv展开曲面

    如何在grasshopper上找到真正的uv展开曲面

    grasshopper里Dimensions运算器是计算曲面的展开的uv值的,但是这个计算本身有比较大的误差,计算后的uv值根本不能如是反应到原来曲面上,如下图所示:计算出的uv值分别是26.5和25.2,但是把uv值转化为点在“映射”会曲面时就有问题了。

    箭头所指就是平面点(uv点)映射到曲面的情况,这时点并不在曲面上,而是飞出曲面。

    那除了这个在grasshopper里面还有一个运算器能够得到曲面的点的uv值:Divide Surface(等分点运算器),这个运算器输出曲面的等分点,同时还输出每个点的uv值,而且等分点的第一个点的值是从0坐标开始计算起,这样为我们做从原点开始绘制一个展开的矩形uv曲面提供极大便利。如下图

    整个uv值的“终点”就是等于最后一个点的uv坐标,我们只要能够获取该值就可以了。

    如下图所示,我把uv值“拍平”(Flatten Tree)让它形成线性数据,在Reverse List(翻转数据),翻转数据后点的最后一个数据会被排到一个位置上,最后List Item选出第一个数据,也就是曲面等分的最后一个点。如下图所示。

    用Deconstruct运算器得到UV值

     

  • 14-等高线切片面片制作

    14-等高线切片面片制作

    这一节课讲解等高线切片的做法。

    在grasshopper可以通过非常简单的算法而轻易地制作地形的等高线或者等高线的切片。制作的效率相比犀牛来讲要高很多,而且可以随意的调整等高线的间距高度。

    在制作等高线之前要先准备一个地形的曲面。如下图

    读取地形曲面使用如下图的算法,就可以制作出地形切片了,具体的逻辑算法我会在视频教程中提及到。

    本节课新学习的运算器

     

  • 根据灰度图片变化点分布生成地形

    根据灰度图片变化点分布生成地形

    这一小节来讲解使用grasshopper制作地形的方法。

    通常我们制作的地形的方法多数使用贴图置换的方法,当然这次的grasshopper制作地形也不例外。

    贴图置换也就是把贴图的RGB(或者灰阶值)转化为突起的高度,从而达到贴图表面高低起伏的地形效果。

    本次实例的效果图如下,灰阶图片点击这里下载

    grasshopper地形

    制作思路:

    1.制作一个点阵,点阵总长宽必须固定。

    2.把点阵的点集合输入到“Image Simple”运算器里。

    3.把Image Simple运算器输出的值转化为小数后再输入点在高度上的位移值,就会生成空间地形点阵。

    4.把同一排的点串联成线,再把线“Loft”成面。

    学习提醒,实例中如果出现前面课程出现的运算器,请查看本文了解运算器的用法《3d学习网grasshopper教程内所有的运算器汇总<持续更新>

    新学习运算器

    图像采样运算器:Parmas–>Input–>Image Simple

    导入图片,输出图片的RGB值,输出的RGB可转化为普通数值。双击图中的“感叹号”进入图像采样运算器的设置面板,面板参数见下图。

    [divider]

    图片

    上图大的红色框是图片覆盖的区域大小,一般跟点阵的大小一致,小于点阵长度会有图案重复的情况。

    小的红色框表示图像采样输出的数值的类型,这里要输出图片的灰阶值就可以了(前面的彩色图案输出的都是RGB值)。

  • grasshopper线干扰算法模型

    grasshopper线干扰算法模型

    今天还是时间关系,没法写文章了,先放上grasshopper线干扰算法的效果图. 明天应该会抽点时间把算法教程写好和录制算法的视频.

    先来简单介绍这个算法的特点

    线的干扰跟点的干扰<RH-08-点吸引因子渐变肌理(Grasshopper教程)>很类似, 主要是算出已知点与线条的距离, 再把距离与一些图形的参数(比如半径,边长等等)做关联.

     

     

  • 3d学习网grasshopper教程内所有的运算器汇总

    3d学习网grasshopper教程内所有的运算器汇总

    Params栏目

    [toggle title=”Geometry” state=”close” ]

    点:Params–>Geometry–>point

    创建点,可用右键指定已知点.

    曲线运算器:Params–>Geometry–>Curve

    点击右键读取犀牛场景的曲线,本实例使用”set multiple Curve”读取上图的多条曲线.

    曲面运算器Params–>Geometry–>Surface

    拾取犀牛曲面对象,属于最基础的运算器之一. 点击右键”set one surface”命令拾取曲面对象.

    矢量运算器:Params–>Geometry–>Vector

    基础运算器,输入和输出矢量.

    多重曲面运算器:Params–>Geometry–>Brep

    与犀牛的多重曲面一样,区别于曲面

    [/toggle]

    [toggle title=”Input” state=”close” ]

    数据滑动条:Params–>Input–>Number Slider

    滑动控制数据,这个运算器非常常用,可以非常方便而且随时控制数据,双击打开设置面板,可以设置滑动杆最大值最小值或者数据类型(整数,小数,奇偶数等等)

    数据面板,Params–>Special–>Panel

    显示数列的数据结构,可以查看数据的类型,数据的分组结构等,数据的结果等等

    [/toggle]

    [toggle title=”Primitive” state=”close” ]

    浮点数运算器: Params–>Primitive–>Number

    基础的数据运算器, 它输出的是一般的浮点数 也就是小数.

    [/toggle]

    Maths运算器

    [toggle title=”Domain” state=”close” ]

    区间运算器,Math–>domain–>domain

    A端口输入区间的最小值。B端口输入区间最大值

    UV区间划分运算器,Math–>domain–>Divide Domain2

    针对曲面划分UV区间,I端口输入曲面,U和V输入纵横的分割数量.S端口输出区间

    [/toggle]

    [toggle title=”Operaters” state=”close” ]

    乘法法则运算:Math–>OPerators–>Multiplication

    数学乘法法则运算.

    正负值转换运算器:Math–>OPerators–>Negative

    除法法则运算:Math–>OPerators–>Division

    加法法则运算:Math–>OPerators–>addition

    [/toggle]

    [toggle title=”Util” state=”close” ]

    取最小值运算器: Math–>Util–>Minimum

    当有两个值作比较是, 输出端口输出的值是较小的那个.

    [/toggle]

    Stes运算器

    [toggle title=”List” state=”close” ]

    筛选数据运算器:Ste–>list–>list Item

    可以筛选任意一个或者多个指定的数据对象,L端口输入要筛选的数列,I端口输入指定的数据的序列号(序列号是从”0″开始算起)

    数列长度:Ste–>list–>list length

    这个运算器可以计算出一个数列所有元素的总和,他输出的是一个整数.常用语计算物体的数量值.

    [/toggle]

    [toggle title=”Sequence” state=”close” ]

    随机运算器,Sets–>Sequance–>Random

    产生随机的数值数列,R端口输入产生的随机数列的区间。N端口输入生成随机数列的个数。S端口输入随机变化值(输入整数,根据不同值生成不同的随机数列),I是布尔值(布尔值只有两个值,既false或ture),这时i端口询问是否输出整数。

    [/toggle]

    [toggle title=”Tree” state=”close” ]

    拍平数据:Sets–>Tree–>Flatten Tree

    把分组的数据集合成一个组合,也就是把树形数据转化为线形数据类型.

    路径编辑器:Sets–>Tree–>path Mapper

    可以这个运算器可以编辑一个数列内任何元素的组合,双击运算器进入编辑界面.具体的用法查看视频教学.

    简化路径运算器:Sets–>Tree–>Simplify Tree

    这个运算器用于简化运算器的路径,比如本节内容中某一运算器的路径是{0;2;0}{0;2;1}{0;2;2}….{0;5;1}{0;5;2},很明显,路径前面的”0″的这一层路径是可以简化掉的,而”2;0″或”2;1″等路径还是有效的,因此保留.

    分组运算器:Sets–>Tree–>Flatten Tree

    这个运算器可以把线形的数列拆分为分组的数列.

    举个例子说明:看下图,原本这个运算器的输出的值是” 0.0 1.0 2.0 ” 是按照顺序排列的,那接上Flatten Tree 运算器之后输出的列表是”0.0″,”1.0″,”2.0″分为三个不同的列表,我们把拥有多个不同列表的”数列”称之为分组列表.

    翻转数列运算器:Sets–>Tree–>Flip Matrix

    把数列方向翻转,比如纵向排列的翻转为横向排列.在较早时候本人也发关于这个技术的文章,点击这里进入查看《grasshopper自学笔记之三钢架表皮制作

    [/toggle]

    Vetor运算器

    [toggle title=”Grids” state=”close” ]

    格线运算器vector–>Grid–>Square

    创建正方形网格,P端口输入点的起点位置,S网格大小Ex和Ey设置网格的数量.

    矩形格线运算器:vector–>Grid–>Rectangular

    参数基本同上面的Square,不同的是可以编辑不同XY大小.

    [/toggle]

    [toggle title=”Plane” state=”close” ]

    法线平面: Vector–>Plane–> Plane Normal

    根据指定的矢量方向和已知点生成平面. O端口输入点, Z端口输入矢量方向.

    [/toggle]

    [toggle title=”Point” state=”close” ]

    两点距离: Vector–>Point–>Distance

    计算两个点之间的距离.

    [/toggle]

    [toggle title=”Vector” state=”close” ]

    两点距离: Vector–>Vector–>Unit Z

    输出往Z轴向的向量

    [/toggle]

    Curve运算器

    [toggle title=”Analysis” state=”close” ]

    解构矩形运算器: Curve–>Analysis–>Deconstruct Rectangle

    这个运算器用于拆解矩形图形, B端口输出矩形拆解后的起点平面, XY则输出矩形的长宽区间

    计算已知点到曲线的距离运算器: Curve–>Analysis–>Curve Clost Point

    计算出已知点到已知曲线的最短距离, 也能理解为点到曲线的最短距离 P端口输入点的集合数列, C端口输入曲线. 输出端口的P端口输出已知点投影到线上生成的点. t端口输出投影所在的位置距离该曲线端点的距离. D端口输出已知点与投影之间的距离.

    [/toggle]

    [toggle title=”Primitive” state=”close” ]

    多边形运算器: Curve–>Primitive–>polygon

    创建多边形曲线,P指定中心点,R多边形半径,S多边形段数.

    矩形运算器::Curve–>Primitive–>rectangle

    创建矩形曲线,P端口输入矩形起点,XY输入矩形的长宽(输入一般数值或区间都可以),R输入矩形的圆角半径.

    两点线段运算器: Curve–>Primitive–>Line

    通过输入A和B两个已知点生成线段.

    [/toggle]

    [toggle title=”Util” state=”close” ]

    偏移曲线运算器:Curve–>Util–>offset

    偏移曲线的运算器,C端输入偏移的曲线,D端指定偏移的距离,P端口指定偏移的平面,一般情况下默认即可,C端口指定偏移后曲线的类型,一般也是默认值.

    组合曲线运算器:Curve–>Util–>Join Curve

    类似犀牛的组合命令, 这个运算器能把相互连接在一起的曲线组成起来,形成连续的一条线条.

    光滑多段线运算器: Curve–>Util–>Smooth Polyline

    光滑多段线运算器,, 组合运算器(Join Curve)形成的曲线并不平滑, 在它之后用这个运算器可以平滑曲线, 其中S端口平滑的段数.

    [/toggle]

    [toggle title=”Spline” state=”close” ]

    内插点曲线运算器:Curve–>Spline–>Interpolate

    创建内插点曲线,V端口输入点,D端口输入内插点的阶数,C端口输出曲线,L端口输出曲线的长度.

    [/toggle]

    [toggle title=”Division” state=”close” ]

    线截面运算器:Curve–>Division–>Perp Frames

    生成与曲线完全垂直的平面. C端口输出曲线, N端口输出等分数量.

     

    [/toggle]

    Surface曲面运算器

    [toggle title=”Freeform” state=”close” ]

    放样运算器:Surface–>Freeform–>Loft

    放样命令,注意放样的曲线必须是线性列表数据

    按边生成曲面:Surface–>Freeform–>Surface parameter

    类似犀牛的边界成面

    圆管运算器:Surface–>Freeform–>Pipe

    生成圆管,R端口圆管的半径,E端口修改圆管封口的类型.

    单轨扫掠运算器:Surface–>Freeform–>Sweep1

    类似犀牛的单轨扫掠.R端口输入路径曲线,S端口输入截面曲线

    挤出运算器:Surface–>Freeform–>Extrude

    挤出曲面,跟犀牛的一样的效果, 这里D端口要输入一个向量设定挤出的方向.

    [/toggle]

    [toggle title=”Util” state=”close” ]

    曲面细分运算器:Surface–>Util–>Divide Surface

    在被细分的曲面上生成网点.UV输入细分网点数量,P端口输出网点.

    加盖运算器: Surface–>Util–>Cap Holes

    用于封闭曲面,也是跟犀牛的用法一样

    [/toggle]

    [toggle title=”Primitive” state=”close” ]

    边界盒子运算器:Surface–>Primitive–>Bounding Box

    边界盒子的作用是给多重曲面或者曲面套上一层盒子外壳, 套上盒子外壳的模型可以用于后面计算变形盒子. C端口输入被套盒子的模型, P端口是盒子的起始平面,默认平面为XY平面,可以不用指定. B端口输出边界盒子.

    [/toggle]

    [toggle title=”Analysis” state=”close” ]

    分解元素:Surface–>Analysis–>Deconstruct Brep

    把对象分解成点线面三种基本元素,V E F分别是输出点, 线, 面

    面积运算器:Surface–>Analysis–>Area

    计算曲面的面,A端口输出曲面的面积,C端口输出曲面的中心点,通常找物体的缩放中心都用这个运算器.

    [/toggle]

    Transform运算器

    [toggle title=”Affine” state=”close” ]

    缩放运算器:Transform–>Affine–Scale

    缩放物体. G端口输入物体. C端口输入缩放的中心点, 中心点通常使用Area运算器寻找. F端口输入缩放的倍数.

    [/toggle]

    [toggle title=”Euclidean” state=”close” ]

    平面对齐运算器:TRansform–>Euclidean–>Orient

    对齐两个平面,通常使用这个运算器把A物体镶嵌到B物体上. G端口输入对齐的物体A, A端口输入A物体的基准平面, B端口输入对齐的目标物体平面.

    移动运算器:Transform–>Euclidean–>Move

    移动物体运算器, T端口输入方向矢量.

    [/toggle]

    [toggle title=”Morph” state=”close” ]

    曲面盒子:Transform–>Morph–>Surface Box

    曲面按区间uv划分面片,并在面片生成盒子. D端口输入划分的区间, H端口输入盒子的高度

    变形盒子:Transform–>Morph–>Box Morph

    这个运算器能让输入的盒子发生变形.即输入盒子和曲面的上的盒子在形状上保持一致. G端口输入套在盒子里面的物体, R端口输入需要做变形的盒子. T端口输入曲面上的盒子

    [/toggle]

    [toggle title=”Accordion Pane4″ state=”close” ] content [/toggle]

    [toggle title=”Accordion Pan5″ state=”close” ] content [/toggle]

  • GH-05-曲面嵌板分割模型的制作(grasshopper)

    GH-05-曲面嵌板分割模型的制作(grasshopper)

    这一节讲解嵌板模型的制作.
    嵌板
    嵌板模型是又一些不同大小和形状的平板相互连接而成的立体模型,如上图所示.上图中左1是原始曲线,用于做放样成面,中间的图片是具有厚度的嵌板模型,而右边那个图形是不带厚度的嵌板模型.
    本节课所用到的运算器

    运算器1.曲线运算器:Params–>Geometry–>Curve

    点击右键读取犀牛场景的曲线,本实例使用”set multiple Curve”读取上图的多条曲线.

    2.放样运算器:Surface–>Freeform–>Loft

    放样命令,注意放样的曲线必须是线性列表数据

    3.UV区间划分运算器,Math–>domain–>Divide Domain²

    针对曲面划分UV区间,I端口输入曲面,U和V输入纵横的分割数量.S端口输出区间

    4.曲面盒子:Transform–>Morph–>Surface Box

    把每一个划分好的曲面转化为盒子(box),S端口输入曲面,D端口输入划分区间,D端口输入盒子的高度(厚度)

    5.分解元素:Surface–>Analysis–>Deconstruct Brep

    把对象分解成点线面三种基本元素,V E F分别是输出点, 线, 面

    6.筛选数据运算器:Ste–>list–>list Item

    可以筛选任意一个或者多个指定的数据对象,L端口输入要筛选的数列,I端口输入指定的数据的序列号(序列号是从”0″开始算起)

    算法

     

     

     

     

  • GH-03随机半径大小的多边形阵列

    GH-03随机半径大小的多边形阵列

    这一节课讲解随机数据的生成的方法

    将会用到以下的运算器,关于运算器的学习,希望在学习本人视频教程的时候,先把本节课的所有出现的运算器的位置及其他们端口的作用先了解清楚,这样在配合本人的视频学习grasshopper将会事半功倍。

    本次实例有一部分运算器在上一节可已经提及到,详细的内容查看这篇文章《GH-02-创建阵列孔板(grasshopper视频教程)

    suiji1.随机运算器,Sets–>Sequance–>Random

    产生随机的数值数列,R端口输入产生的随机数列的区间。N端口输入生成随机数列的个数。S端口输入随机变化值(输入整数,根据不同值生成不同的随机数列),I是布尔值(布尔值只有两个值,既false或ture),这时i端口询问是否输出整数。

    2.区间运算器,Math–>domain–>domain

    A端口输入区间的最小值。B端口输入区间最大值

    3.数据面板,Params–>Special–>Panel

    显示数列的数据结构

    4.数列长度:Ste–>list–>list length

    这个运算器可以计算出一个数列所有元素的总和,他输出的是一个整数.常用语计算物体的数量值.

     

  • 跟随设定点产生渐变高度方块的算法(grasshopper教程)

    跟随设定点产生渐变高度方块的算法(grasshopper教程)

    今天给大家介绍一个grasshopper的基本算法,点干扰的一种,本次教程中我把这个算法称为:”跟随设定点产生渐变高度方块的算法”(grasshopper教程),名字非常夸张,实际上就是物体会跟随某一个设定点做变化,本次实例的效果可以看下图, L完整的算法电池图点击下图效果图下载t.

    suijifangkuai

    这里一些教程上的文字(这些文字只是为了让”百度看见”,大家可以不必看^_^)

    相乘之后的结构就是网格面积范围,也等于点的活动范围,他们的乘积要输入到”MD slider”里面

    由于输入的网格面是”成组”方式.我们这里要把他们都”拍平为连续的一个组合状态”

    可以运算器可以手动调整点的位置.
    点开这个运算器后可以设置点的活动范围

    计算两点之间距离的运算器.
    这里计算的是游动的点和网格面中心点的距离

    跟随设定点产生渐变高度方块的算法
    www.3dscg.com
    3d学习网
    邮差大叔

    有不明白的可以在下面给我留言

  • 仅仅通过这些曲面的点,可以生成曲面吗?

    风清无最

    @邮差大叔 仅仅通过这些曲面的点,可以生成曲面吗?

    草蜢

    [blockquote]邮差大叔:草蜢里有一个使用点生成面的运算器的,如果点是按顺序生成,那可以把点生成线再放样成面[/blockquote]

    关键字:草蜢,rhino建模,grasshopper生成曲面

  • 分享一个grasshopper封装好的六边形网格曲面程序

    full_4d550676b4804

    在grasshopper官方网站下载的一个小程序,程序的作者把做好的grasshopper电池图封装为一个代码集合,以后要制作像蜂巢这一类的曲面表面将为非常的简单了。

    wanggezuofa

     

    srf端口输入一个曲面

    u和v输入uv分段数。

    hex crvs输出内部六边形网格

    edge curves输出曲面边缘的六边形网格

    下载链接:

    2012_HexOnSurfaceWithEdges