怎么找到曲面上任何一个点以及它在曲面上的法线方向
要实现这个效果其实也很简单,只要使用到这个运算器就可以的(右图),不过我们必须先找到曲面上任何的一个点。直接在曲面找点不太现实,我这里使用到方法是利用“UV映射”的原理,只要找到UV面上的任何一个点,那在把这个点“映射”到曲面上。

Domain²这个运算器是输出曲面的UV值,输出的UV值连到矩形运算器中生成矩形,这个矩形用于限定点的取值区域。


怎么找到曲面上任何一个点以及它在曲面上的法线方向
要实现这个效果其实也很简单,只要使用到这个运算器就可以的(右图),不过我们必须先找到曲面上任何的一个点。直接在曲面找点不太现实,我这里使用到方法是利用“UV映射”的原理,只要找到UV面上的任何一个点,那在把这个点“映射”到曲面上。

Domain²这个运算器是输出曲面的UV值,输出的UV值连到矩形运算器中生成矩形,这个矩形用于限定点的取值区域。


效果图是转子big的官网
grasshopper效果

grasshopper算法思路
在犀牛创建曲面
在grasshopper分切曲面,注意V方向的数量必须是奇数的。
刷选曲面并寻找曲面的中心点
在中心点创建box


这一节讲解voronoi细胞曲面的做法
关于voronoi我这里引用一段百度百科里面的文字,详细的内容大家可以自己百度一下。
Voronoi图,又叫泰森多边形或Dirichlet图,它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。N个在平面上有区别的点,按照最邻近原则划分平面;每个点与它的最近邻区域相关联。Delaunay三角形是由与相邻Voronoi多边形共享一条边的相关点连接而成的三角形。Delaunay三角形的外接圆圆心是与三角形相关的Voronoi多边形的一个顶点。 Voronoi三角形是Delaunay图的偶图
效果:

制作的方法:
- 创建一个方块用于限定voronoi的区域
- 在方块区域内生成点。
- 连接voronoi运算器(3d或2d)


这一节课讲解等高线切片的做法。
在grasshopper可以通过非常简单的算法而轻易地制作地形的等高线或者等高线的切片。制作的效率相比犀牛来讲要高很多,而且可以随意的调整等高线的间距高度。
在制作等高线之前要先准备一个地形的曲面。如下图

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

本节课新学习的运算器


根据曲线函数变化点的分布
这个算法的作用是快捷的算出一些具有数学函数曲线的点分布或者曲线造型。利用曲线函数可以随意控制曲线输出值和曲线的形态。下面的图例是本实例生成的曲线图。
下图中最顶的点阵列式抛物线函数曲线。
中间的点阵列式贝塞尔曲线点阵列,贝塞尔曲线点可以在两端调整曲线的曲率。
下段是正弦函数曲线,输出值可以生成波动的点阵列。

曲线函数的用法。

输入端口输入一个数值的数列,一般是线性的(Flatten Tree),比如[0,1,2,3,4………,40]这样的数列。
双击设定曲线函数的取值范围

X设定X的变化区间。
假设X输入的数列中最大值等于40,而曲线运算器设定值最大值等于4,则这个曲线会在这个区间内重复10次。
Y设定输出值的范围。
比如设定0 40,则输出的最大值不会超过40,最小值不会低于0
最后函数输出的值用于点的移动或者曲面拉伸的厚度。

这一小节来讲解使用grasshopper制作地形的方法。
通常我们制作的地形的方法多数使用贴图置换的方法,当然这次的grasshopper制作地形也不例外。
贴图置换也就是把贴图的RGB(或者灰阶值)转化为突起的高度,从而达到贴图表面高低起伏的地形效果。
本次实例的效果图如下,灰阶图片点击这里下载

制作思路:
1.制作一个点阵,点阵总长宽必须固定。
2.把点阵的点集合输入到“Image Simple”运算器里。
3.把Image Simple运算器输出的值转化为小数后再输入点在高度上的位移值,就会生成空间地形点阵。
4.把同一排的点串联成线,再把线“Loft”成面。
新学习运算器
图像采样运算器:Parmas–>Input–>Image Simple
导入图片,输出图片的RGB值,输出的RGB可转化为普通数值。双击图中的“感叹号”进入图像采样运算器的设置面板,面板参数见下图。
[divider]

上图大的红色框是图片覆盖的区域大小,一般跟点阵的大小一致,小于点阵长度会有图案重复的情况。
小的红色框表示图像采样输出的数值的类型,这里要输出图片的灰阶值就可以了(前面的彩色图案输出的都是RGB值)。

这一节跟大家说说单体流动到曲面的效果. 先来看看效果图,见下图, 从这个图我们可以看到物体在曲面上重复出现, 形成有序的肌理纹的效果.

制作思路:
首先准备一个”单体”, 形状并没有限定, 任何的形状都是可以的, 这个实例我就画怎么几个造型,下图.

其次是一个曲面
准备好上面的的两个物体制作, 只需要怎么一个简单算法就可以了.

本节课学习到的新运算器

与犀牛的多重曲面一样,区别于曲面
边界盒子的作用是给多重曲面或者曲面套上一层盒子外壳, 套上盒子外壳的模型可以用于后面计算变形盒子. C端口输入被套盒子的模型, P端口是盒子的起始平面,默认平面为XY平面,可以不用指定. B端口输出边界盒子.
曲面按区间uv划分面片,并在面片生成盒子. D端口输入划分的区间, H端口输入盒子的高度
这个运算器能让输入的盒子发生变形.即输入盒子和曲面的上的盒子在形状上保持一致. G端口输入套在盒子里面的物体, R端口输入需要做变形的盒子. T端口输入曲面上的盒子

本篇文章在昨天做了个小小预告,今天早上借着不用上班的空余时间把本文的教程写好放上来。
昨天已经简单介绍了这个算法的基本思路了,这里不再赘述而提一提里面重要的运算器的作用。
其中最重要的运算器是
它作用是:计算出一些已知的点集合到曲线的距离。
[divider]
本节课最新学习到的运算器

基础的数据运算器, 它输出的是一般的浮点数 也就是小数.
当有两个值作比较是, 输出端口输出的值是较小的那个.
参数基本同上面的Square,不同的是可以编辑不同XY大小.
输出往Z轴向的向量

这个运算器用于拆解矩形图形, B端口输出矩形拆解后的起点平面, XY则输出矩形的长宽区间
计算出已知点到已知曲线的最短距离, 也能理解为点到曲线的最短距离 P端口输入点的集合数列, C端口输入曲线. 输出端口的P端口输出已知点投影到线上生成的点. t端口输出投影所在的位置距离该曲线端点的距离. D端口输出已知点与投影之间的距离.
挤出运算器:Surface–>Freeform–>Extrude
挤出曲面,跟犀牛的一样的效果, 这里D端口要输入一个向量设定挤出的方向.
用于封闭曲面,也是跟犀牛的用法一样

今天还是时间关系,没法写文章了,先放上grasshopper线干扰算法的效果图. 明天应该会抽点时间把算法教程写好和录制算法的视频.
先来简单介绍这个算法的特点
线的干扰跟点的干扰<RH-08-点吸引因子渐变肌理(Grasshopper教程)>很类似, 主要是算出已知点与线条的距离, 再把距离与一些图形的参数(比如半径,边长等等)做关联.

使用线干扰图形变换,网格生成曲面和数据筛选等基本算法制作的小模型.
不过今天工作忙了一整天,公司的网络也及其不给力, 自己的网站在公司网络都登陆不上,没空写教程了 , 本次的教程还是抽空在写了,今天分享个图片先