博客

  • grasshopper系列教程-直线的创建

    grasshopper系列教程-直线的创建

    今天我们来学习Grasshopper的系列教程,我们今天学习的是关于直线的绘制,我们在下面的学习中,可以学习到多种生成直线的方式

    实现也是我们做参数化设计里的一个大的分支,建筑的很多造型还是由很多直线构成的,我们通通过构建直线也可以构建复杂的曲面,所以各位同学一定要好好掌握直线是怎么创建的,好了,那我们来开始今天的课程吧。

    嗯嗯,

    img

    Fit Line:多个点拟合成直线

    会一堆杂乱无章的点生成一条直线,这个运算器没有任何参数,只要输入点就可以了

    img

    点拟合成直线,请看下图

    img

    Line:2点生成直线

    这个也是一个非常常用的运算器,只要输入ab两个点就可以了,非常简单。

    img

    Line 2Plane:被两个平面截断的直线

    使用这个运算器必须先准备一条直线,然后两个截断这条直线的平面,那么就可以得到两个平面之间的直线段了。

    img

    在下图中我们看到两个红点就是两个平面,两个红点的下方有一段绿色的线段,那个就是被截断之后的直线段,

    img

    Line 4pt:利用4个点生成直线

    这个运算器,其实并不用输入4个点,而是准备一条直线,和这条直线上的一个点,加上直线外的任意点,那么我们就能得到一条线段了。

    img

    上面解释啊,可能有点复杂,但是我们结合下图的效果来看,我们会发现线外的点和线上的点还有直线,他们其实是组合成了一个直角三角形,而得到的线段就是在这条直线上的一个直线边。

    这样下图的绿色线段。

    img

    Line SDL:Sdl直线

    Sdl直线就是已知起始点,线的方向还有线的长度构成的一个直线段,算法比较简单,大家看下图的算法就可以了。

    img

    Tangent lines:切线直线

    这个运算器用于计算圆外面的点到圆上面的两个切线段,T1和t2端口分别输出两个直线段

    img

    效果请看下图

    img

    我们使用这个算法扩充一下,请看下图的算法。

    在下图开始阶段,我们绘制了一个椭圆曲线,然后把这个椭圆曲线进行30等份,然后把等份点输入到这个运算器里面去,我们就会得到一个交错的网架图

    img

    网架图的效果请看下图

    img

    Tangent Lines (Ex):两个圆之间的切线段

    这个运算器是上一个的增强版,需要用到两个圆

    img

    img

    Tangent Lines(In):两个圆之间的切线段

    这个产生的切线段是交错的,原理和上一个运算器基本上是一样的

    img

    效果图请看下图

    img

    [elementor-template id=”7418″]

    今天我们来学习Grasshopper的系列教程,我们今天学习的是关于直线的绘制,我们在下面的学习中,可以学习到多种生成直线的方式

    实现也是我们做参数化设计里的一个大的分支,建筑的很多造型还是由很多直线构成的,我们通通过构建直线也可以构建复杂的曲面,所以各位同学一定要好好掌握直线是怎么创建的,好了,那我们来开始今天的课程吧。

    嗯嗯,

    img

    Fit Line:多个点拟合成直线

    会一堆杂乱无章的点生成一条直线,这个运算器没有任何参数,只要输入点就可以了

    img

    点拟合成直线,请看下图

    img

    Line:2点生成直线

    这个也是一个非常常用的运算器,只要输入ab两个点就可以了,非常简单。

    img

    Line 2Plane:被两个平面截断的直线

    使用这个运算器必须先准备一条直线,然后两个截断这条直线的平面,那么就可以得到两个平面之间的直线段了。

    img

    在下图中我们看到两个红点就是两个平面,两个红点的下方有一段绿色的线段,那个就是被截断之后的直线段,

    img

    Line 4pt:利用4个点生成直线

    这个运算器,其实并不用输入4个点,而是准备一条直线,和这条直线上的一个点,加上直线外的任意点,那么我们就能得到一条线段了。

    img

    上面解释啊,可能有点复杂,但是我们结合下图的效果来看,我们会发现线外的点和线上的点还有直线,他们其实是组合成了一个直角三角形,而得到的线段就是在这条直线上的一个直线边。

    这样下图的绿色线段。

    img

    Line SDL:Sdl直线

    Sdl直线就是已知起始点,线的方向还有线的长度构成的一个直线段,算法比较简单,大家看下图的算法就可以了。

    img

    Tangent lines:切线直线

    这个运算器用于计算圆外面的点到圆上面的两个切线段,T1和t2端口分别输出两个直线段

    img

    效果请看下图

    img

    我们使用这个算法扩充一下,请看下图的算法。

    在下图开始阶段,我们绘制了一个椭圆曲线,然后把这个椭圆曲线进行30等份,然后把等份点输入到这个运算器里面去,我们就会得到一个交错的网架图

    img

    网架图的效果请看下图

    img

    Tangent Lines (Ex):两个圆之间的切线段

    这个运算器是上一个的增强版,需要用到两个圆

    img

    img

    Tangent Lines(In):两个圆之间的切线段

    这个产生的切线段是交错的,原理和上一个运算器基本上是一样的

    img

    效果图请看下图

    img

    [elementor-template id=”7418″]

  • grasshopper系列教程-曲线上的平面

    grasshopper系列教程-曲线上的平面

    今天我们来学习Grasshopper的系列教程,我们今天来学习,在曲线上做平面的方法。

    在曲线上做平面,这类运算器和我们上节课讲的在划分曲线是差不多的,划分曲线是在曲线上做点,而今天我们的内容,是在曲线上做平面,点和平面既有相同点,也有不同点。

    相同地方,不管是点还是平面,我们都可以看作点来操作。不同点之处的在于点是没有方向的,而平面它是有方向的,通常平面我们都可以拆分为xyz三个方向,而点只能拆分为xyz三个点坐标。

    通过生成平面,我们可以为后续的操作做一些准备,比如我们要运动点,我们必须有方向,比如我们要绘制一条曲线,这条曲线它是有定向方向的,那我们必须有这个平面坐标,那这里的一切我们都可以生成平面开始,当然制作平面的方法那是多种多样的,也不单单是这种,只是说基于犀牛的建模原理,我们往往都是从曲线入手的,曲线才是犀牛的灵魂,参数化建模当然也不例外了。

     

    Curve frames:做曲线上的等分平面

    Horizontal frames:做曲线上的等分水平面

    Perp frames:做和曲线垂直的等分平面

    img

    这三个运算器的用法都是差不多的,我这里把它拿到一起来讲,在上图中我们可以看到它的输入端口和输出端口的参数都是一样的,左边的n端口的是输入等份的数量,右边的f端口是输出等分的平面,t端口是等分平面在曲线上的位置参数,那我们就来看一看这三个究竟有什么区别。

    我们先来看看第2个和第3个吧,这两个的区别比较大,第2个运算器是生成的是一个水平面,而第3个生成的是和曲线垂直的平面,这一点我们从第3个运算器的图标都能清晰的看出来。

    接下来是第1个和第2个的区别。

    这两个这两个生成的平面的都不是以曲线垂直的,第1个生成的平面会跟曲线所在点的位置成一个平面,这个怎么理解呢?请看下图,

    我们可以在下面的图例当中可以看到沙僧人的平面都是倾斜的,那为什么会倾斜呢?因为这条曲线上的这个点就是倾斜的,

    img

    而第2个运算器则不是,大家可以看一下第2张图

    我们可以看到生成的平面跟这个曲线,它在方向上并没有什么关联,这个平面它是跟xy平面是平行关系,这就是两者之间最大的差别

    img

    这三个运算器我们用Grasshopper做设计的时候也是经常用到的,至于选用哪个,我们得实际看曲线的造型,曲线的走向,跟我们的设计注重点来选择。

    [elementor-template id=”7418″]

  • Grasshopper的系列教程-曲线的划分

    Grasshopper的系列教程-曲线的划分

    今天我们继续Grasshopper的系列教程,今天的教程呢,是关于曲线的划分的,曲线划分在我们做参数化设计的时候,是一个经常用的一个方法,我们为了在曲线上做一些更多的变化,那我们经常会把曲线做一些均等的划分或者不均等的划分,那么以下的这些运算器就非常非常的重要了,好了,那我们来开始今天的学习吧。

    备注,:下图的截图中的曲线都被称为【被等分的曲线】,其实这个说法有点问题,应该称之为【被划分的曲线】,由此更正一下。

    Contour:

    在曲线上做等高线的等分

    计算机生成了可选文字: 被等分的曲线 直线方向. 0 0 WWW.3dscg℃0

    Contour (ex)r:

    在曲线上做等高线的等分,这个运算器和上一个的区别就在于它等分的工具的是用平面的,而且这个平面是和这个曲线是垂直关系,我们在下图中可以看到这个平面是xz平面,曲线所在的平面是xy平面。

    在下图中我们还看到O端口还要输入等高线的高差,等高线的高差值我们一般用系列运算器,当然我们如果要做出不等高的分割点呢,我们也可以随机输入一些值。

    计算机生成了可选文字: 被等分的曲线 0囗P www.3dscg℃m

    Dash Patternr:拆分曲线

    这个运算器的用法一般就用于把曲线拆分成虚线,这个我们在做建筑外墙玻璃要做出间隔的效果时候还是非常好用的

    而且它的参数也非常简单,只要在pt端口输入间隔值就可以了

    计算机生成了可选文字: 被等分的曲线 290 《W讥'、3cg℃0m

    下图我们看到等分之后的效果

    Divide Curve:等分曲线,

    这个运算器就是最普通的等分曲线,那是我们非常常用的一个运算器之一,N的端口只要输入等份的数量就可以了。

    计算机生成了可选文字: 一被等分的曲线

    Divide distancer:按曲线上点的距离等分

    这个运算器就是在曲线上布上一些点,然后按这个点的距离来等分曲线,当然这些点不用我们自己去指定,而是通过距离参数指定就行了,所以我们在D端口输入2,然后就被输出等分的点了,

    计算机生成了可选文字: 被等分的曲线 www.3dscg℃om 0

    Divide lenght:按长度来等分曲线

    这个运算器和上一个有点不同,上一个呢是两个点之间的距离来等分的,这个呢,是按曲线的长度来等分的,那这究竟有什么区别呢?

    我们可以想象一下,如果一条曲线它九曲十八弯,曲线上两个点的距离,如果是相等的,那经历的曲线的长度也有可能不等,那你说我们是用两个点之间的距离来指来等分长度了,还是说按照长度来等分长度,这个就是我们根据项目来选择方法的问题了。

    计算机生成了可选文字: 被等分的曲线 、'3小cg℃om

    Shatter:拆分曲线

    上面的一系列等分曲线的方法都是在曲线的基础上生成点,但是并没有真正的把曲线拆分,那这个命令刚好就是可以真正的把曲线断开的一个运算器,用它输出后的曲线的都是一节一节的。

    首先我们把曲线的区间先计算出来,然后把区间进行划分,最后输入t端口的就可以了,划分的运算器,我们一般用Range,

    计算机生成了可选文字: 等分的曲线

    [elementor-template id=”7418″]

  • grasshopper系列教程-划分曲线

    grasshopper系列教程-划分曲线

    今天我们继续Grasshopper的系列教程,今天的教程呢,是关于曲线的划分的,曲线划分在我们做参数化设计的时候,是一个经常用的一个方法,我们为了在曲线上做一些更多的变化,那我们经常会把曲线做一些均等的划分或者不均等的划分,那么以下的这些运算器就非常非常的重要了,好了,那我们来开始今天的学习吧。

    备注,:下图的截图中的曲线都被称为【被等分的曲线】,其实这个说法有点问题,应该称之为【被划分的曲线】,由此更正一下。

    Contour:

    在曲线上做等高线的等分

    计算机生成了可选文字: 被等分的曲线 直线方向. 0 0 WWW.3dscg℃0

    Contour (ex)r:

    在曲线上做等高线的等分,这个运算器和上一个的区别就在于它等分的工具的是用平面的,而且这个平面是和这个曲线是垂直关系,我们在下图中可以看到这个平面是xz平面,曲线所在的平面是xy平面。

    在下图中我们还看到O端口还要输入等高线的高差,等高线的高差值我们一般用系列运算器,当然我们如果要做出不等高的分割点呢,我们也可以随机输入一些值。

    计算机生成了可选文字: 被等分的曲线 0囗P www.3dscg℃m

    Dash Patternr:拆分曲线

    这个运算器的用法一般就用于把曲线拆分成虚线,这个我们在做建筑外墙玻璃要做出间隔的效果时候还是非常好用的

    而且它的参数也非常简单,只要在pt端口输入间隔值就可以了

    计算机生成了可选文字: 被等分的曲线 290 《W讥'、3cg℃0m

    下图我们看到等分之后的效果

    Divide Curve:等分曲线,

    这个运算器就是最普通的等分曲线,那是我们非常常用的一个运算器之一,N的端口只要输入等份的数量就可以了。

    计算机生成了可选文字: 一被等分的曲线

    Divide distancer:按曲线上点的距离等分

    这个运算器就是在曲线上布上一些点,然后按这个点的距离来等分曲线,当然这些点不用我们自己去指定,而是通过距离参数指定就行了,所以我们在D端口输入2,然后就被输出等分的点了,

    计算机生成了可选文字: 被等分的曲线 www.3dscg℃om 0

    Divide lenght:按长度来等分曲线

    这个运算器和上一个有点不同,上一个呢是两个点之间的距离来等分的,这个呢,是按曲线的长度来等分的,那这究竟有什么区别呢?

    我们可以想象一下,如果一条曲线它九曲十八弯,曲线上两个点的距离,如果是相等的,那经历的曲线的长度也有可能不等,那你说我们是用两个点之间的距离来指来等分长度了,还是说按照长度来等分长度,这个就是我们根据项目来选择方法的问题了。

    计算机生成了可选文字: 被等分的曲线 、'3小cg℃om

    Shatter:拆分曲线

    上面的一系列等分曲线的方法都是在曲线的基础上生成点,但是并没有真正的把曲线拆分,那这个命令刚好就是可以真正的把曲线断开的一个运算器,用它输出后的曲线的都是一节一节的。

    首先我们把曲线的区间先计算出来,然后把区间进行划分,最后输入t端口的就可以了,划分的运算器,我们一般用Range,

    计算机生成了可选文字: 等分的曲线

    [elementor-template id=”7418″]

  • grasshopper系列教程-判断点是否在曲线内

    grasshopper系列教程-判断点是否在曲线内

    我们今天来讲解grasshopper里判断点在曲线的相关运算器,这类运算器的总共只有两个,一个是判断在一条线内的,一个是判断在多条线内的,他们的作用都是判断点是否在曲线内,然后通过后续的手段来进行删除或者选择,在做参数化设计的时候,也是一个非常必要的手段,好的,那我们就开始今天的课程吧。

    Point In Curve:判断点是否在一条线内

    这个运算器的作用就是判断点集合是不是在这个曲线内,如果是在曲线内的话端口会输出2,如果再取向外的话端口会输出0,如果点在曲线上的话端口会输出1

    如下图所示

    Point In Curve:判断点是否在多条线内

    上一个运算器的负数版本,他们两者在功能上是一样的,只是说在输出的值方面上会有点差别。

    在下周的实例当中我们可以看到第二个端口输出的值多了个-1,这个-1就是表示点在曲线的外面,而零和一就是表示在这个曲线内的点,只不过编号零和一表示在不同的曲线内

    从下图当中我们可以验证第一条曲线内有1个点那上面的数据就只有1个0,第2条曲线有3个点所以上面的数字呢就有3个1

    那这个运算器应当怎么使用呢?

    我们来看一下下图的算法

    在下图当中我们只要知道那些数字是否等于2,然后用一个排除的运算器来排除掉非2的就可以了

    [elementor-template id=”7418″]

  • grasshopper系列教程-曲线的长度和区间

    grasshopper系列教程-曲线的长度和区间

    我们这节课来讲grasshopper,曲线的长度和曲线的区间的应用。

    曲线的长度和取向区间的在我们做参数化设计的时候是非常必要的。因为我们在做设计的时候呢,经常要计算出一条曲线的长度。哼!之后呢,再给曲线长度做一些参数上的变化。

    本节课的重点呢就是介绍曲线的长度和区间分别是怎么获取的。

    cw,e Domain  Length  Length  point In Curve  Evaluate Length  Length Domain  Segnent Lengths  point in Curv  www.3dscg.com

    Curye domain:曲线的区间

    这个运算器就是计算曲线的区间。

    曲线的区间一般是从零开始计算起的。

    但是大家这里要注意的是曲线的区间不等于曲线的长度。

    区间是指曲线在某一个数值范围内,它是一个范围值,而不是一个长度值。

    所以大家在使用草蜢做计算的时候,要注意一下这个参数的意义。

    IL8€_€37L8  www.3dscg.com

    Evaluate Length:评估曲线上某一点的位置点。

    所谓评估取向上某一个位置点呢,就是说:给曲线定义一个值。这个值,但必须是在零到一之间的任意数值。那么这个运算器就会输出这个数值在曲线上的位置点。

    就如下图所示,我们看到L端口输入我是0.54这个数字,右边的P端口会输出一个点,那么这个点会在平面图上我们是可以看到的。

    054 0

    Length:计算并输出曲线的长度。

    这个就是真正的输出曲线的长度了。

    这个应该没什么好说的。

    我们平时在做参数化设计的时候都会用到的。

    Length Domain:计算并输出曲线的区间。

    这个电池呢,可以在D端口输入一个区间。那么在L端口呢就输出这个区间的长度。

    这里要注意哦!右边的端口输出还是长度不是区间。

    0 28_14SS22  www.3dscg.com

    Length Parameter:在曲线中指定一个点,并计算出这个点两侧的曲线段的长度。

    这个电池的作用是在P端口输入一个区间值。然后右侧的端口呢,它是输出这个区间值两侧的曲线的长度。

    所以大家要注意这个运算器使用的时候啊!左边是输入区间值,右边输出是长度值。

    我们也可以理解为这个运算器就是用于区间值和长度之间的转换。

    那我们在实际应用中呢,就是用于截断曲线的

    就如下面的图片中我们可以看到,假如我们这条曲线是1000的区间,我们给他输入一个493的值,那么就可以得到493前面那一段曲线的长度和493后面那一段的长度了。

    0 283_477439  o €04_228227  www.3dscg.com

    Segment lengths:计算并输出指定区间段的曲线的长度。

    这个电池的作用其实就是输出区间值和长度值。

    计算机生成了可选文字: 5》 Ld 0887.7OS 00《飞86.E37《@ 00TO1186·E371E www.3dsc .C0m

    [elementor-template id=”7418″]

  • Rhino犀牛建模视频演示教程之潘顿椅

    Rhino犀牛建模视频演示教程之潘顿椅

    命令是直接键盘打出来的,留意左上角Rhino犀牛快捷键

  • Rhino犀牛教程-潘顿椅建模

    Rhino犀牛教程-潘顿椅建模

    潘顿椅视频教程请前往以下地址观看

    http://www.3dscg.com/rhino-panton.html

    这节课我们来看下,用Rhino犀牛怎么画潘顿椅,

    主要是学习以下几个命令的

    Crv2View—–两个视图曲线

    NetworkSrf—网格曲面

    Match——–衔接曲线

    sweep2——- 双轨扫掠

    首先在右视图中绘出中轴线,

    使用 BackgroundBitmap命令把图片导入犀牛后

    image.png 

    curve曲线命令把三条结构线勾画出来 

    image.png

    在透视图中画出两条直线作为定位线, 用curve曲线绘U字形外轮廓

    image.png

    注意下图U字线条长度要超过箭头所指结构线,要不下一步会出现断裂现象

    image.png

    新建一个图层 ,命为轮廓层,把下图点选的曲线改变为轮廓层

    image.png

    使用Crv2View命令,点选下图两条相交曲线,生成两个视图曲线

    注意:使用两个视图曲线Crv2View命令,曲线必须在同一平面,否则生成不了两视图曲线

    image.png

    另外三条曲线也是按上图方法生成

    image.png

    使用curve曲线命令把椅子截面线绘出

    image.png

    再使用NetworkSrf网格曲面命令,生成椅子坐面

    (顺序是选择两边的轮廓线再选择截面线回车即可)

    image.png

    接下来做椅子的边侧面,先把面隐藏,用curve曲线命令绘出侧面的截面线

    image.png

    再用Match衔接线,点选侧面截面线和椅子面中线,参数如下图

    这样做使椅面跟侧面过渡更平滑

    image.png

    同样绘出椅脚的截面线

    image.png

    使用Sweep2双轨扫掠命令,绘出椅子侧面,再使用OffsetSrf偏移曲面命令给椅子加个厚度

    潘顿椅建模基本完成

    image.png

  • grasshopper系列教程文章-分析曲线

    grasshopper系列教程文章-分析曲线

    image.png

    这里一大类的运算器的功能都是在计算曲线上的点,

    输出的数据大都是点、平面这类数据

    Curvature: 计算曲线在指定点的曲率参数。

    Curve frame:获取曲线在指定点的曲率框架(平面)

    Derivatives:计算曲线在指定点的导数

    Evaluate Curve:获取沿曲线水平对齐的框架

    Horizontal frame: 求解垂直(零扭曲)框架

    Perp Frame:求和曲线方向垂直的平面

    Point on curve:找到曲线上的一个点

    Torsion:找到曲线上的一个点

    image.png

    [elementor-template id=”7418″]