分类: gh20

  • Grasshopper系列教程-向量的操作方法

    Grasshopper系列教程-向量的操作方法

    今天我们来讲解grasshopper向量的操作。向量在学习和使用grasshopper的时候也是占有比较重要的地位的。

    vector  www.3dsc corn

    Deconstruct Vector:解构向量

    最终输出向量的xyz三个坐标。

    D D_32ssos  www.3dscg.com

     Vector XYZ:输入xyz三个坐标生成向量。

    04 so  s.oo o  www. dscg  .com

    www.3dsc .сого

    这几个是grasshopper默认的向量运算器。

    Unit Vector:向量单位化,不管多大的向量,只要输入这个运算器之后,它都会变成0~1之间的单位

    Unit X: 世界坐标的x方向。

    Unit Y:世界坐标的y方向。

    Unit Z:世界坐标的z方向。

    Cross Product  Dot product  Rotate  Vector 2? t  Vector Length  .3dsca.co

    Amplitude:给向量重新赋值。

    在修改向量大小的时候,通常会使用这样的一个计算器。

    在下图中a端口输入一个新的值,会改变向量的大小。

    Angle:计算两个向量之间的角度。

     A端口输出两个向量之间的夹角。

    R端口输出两个向量的补角。

    0 42_E140S6  C 3Eo  c 317.3sss44

    Cross Product:向量的叉乘

    向量的叉乘,即求同时垂直两个向量的向量,即c垂直于a,同时c垂直于b(a与c的夹角为90°,b与c的夹角为90°)

    在3D图像学中,叉乘的概念非常有用,可以通过两个向量的叉乘,生成第三个垂直于a,b的法向量,从而构建X、Y、Z坐标系。如下图所示:

    qxe-=  exq  qxe

    在二维空间中,叉乘还有另外一个几何意义就是:aXb等于由向量a和向量b构成的平行四边形的面积。

    www.3dscg.com

    Dot Product:计算向量点积(内积)

    向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量。

    点乘的几何意义是可以用来表征或计算两个向量之间的夹角,以及在b向量在a向量方向上的投影

    Reverse:翻转向量的方向。

    Rotate:旋转向量

     X端口输入向量旋转的轴。

    www.3dscg.com

    Vector 2Pt: 根据两个已知点生成一个向量。

    Vector Length:输出出向量的长度。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-空间点的操作(点的生成和分解)

    Grasshopper系列教程-空间点的操作(点的生成和分解)

    大家今天我们来讲Grasshopper点的操作。主要内容是关于点的构成与分解的各种方法。

    www.3dsc com

    Construct Point:建立空间点。

    Xyz三个坐标值,如果输入一个等差数列可以输出等分点。

    CyDeconstruct:分解点坐标。

    这个运算器可以把点分解成xyz三个坐标。

    Numbers to Points:输入数值生成点。

    Points to Nunbers:有点生成数值。

    这两个运算器和上面的运算器基本上是一样的。

    大家看一看下面的算法。

    3dsc 00

    Buyeentr i olar Stance www.3dsc „corn

    Barycentric:计算三个点的质心。

    在下图的算法中abc三个端口,分别速度三个点,P端口输出三角形的质心,Uvw三个端口分别控制质心的偏移方向。

    www.3dscg.com

    Distance:两点之间距离运算器。

    用于计算两个点之间的距离。

    www.3dscg.com

    Point Cylindrical:计算以已知点为圆心的圆周点。

    Pt端口输出以p点为圆心的圆周点。

    A端口是圆周点的角度。

    R端口是圆周点的半径。

    Point Oriented:通过UVW值生成相对坐标点

    5.430 .3dscq .c orn_

    Point Polara:通过输入圆周的数据生成点。

    P端口输入初始的原点。

    Xy值输入角度。

    Z值输入所在平面的法线方向的高度。

    D值输入圆周的半径。

    这里要注意xy值要转换degree的单位,也就是角度。

    0 371 www.3dscg.com

    To Polar:分解点的圆周数据。

    它是上一个运算器的相反操作。

    P端口输出角度值。

    LLEo

    [elementor-template id=”7418″]

  • grasshopper系列教程-平面的操作

    grasshopper系列教程-平面的操作

    今天我们来讲解Grasshopper操作平面的课程。

    Adjust plane Al i gn planes plane CI Rotate plan plane Flip plane plane Coordinates www.3dscg.com

    Adjust Plane:  矫正平面。

    让平面的方向等于输入的方向。

    www.3dscg.com

    Align Plane: 对齐平面。

    旋转平面的y轴方向与之输入的直线方向一致。

    这个运算器和上一个有个明显的区别就是,它不会旋转平面的空间方向。

    www„3dsc „сот

    Align Planes: 对齐平面。

    这是上一个对齐平面的复数形式。

    Flip Plane: 翻转平面。

    在Grasshopper中平面是有两个方向的,一个是正方向,一个是反方向,这有点类似于曲面的方向。

    Plane Closest Point:计算点到平面的最短距离。

    这个运算可以计算点到平面的投影距离,P点输出点到平面的投影点,Uv值输出点的uv坐标,d端口的值输出点到平面的距离。

    .3dsc „сот

    Plane Coordinates:计算点到平面的相对坐标。

    WWWL3dSCg.com

    Rotate Plane:旋转平面。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-平面的创建和操作

    Grasshopper系列教程-平面的创建和操作

    今天我们来讲讲grasshopper中平面的操作创建已修改的相关运算器。

    平面在Grasshopper的作用主要是用来定位。

    我们在绘制直线的时候,时常要定义直线的方向,那么我们就要用平面来定位了。或者在创建一个点的时候,要对这个点进行移动,我们必须定义这个点的运动的所在平面,这时就必须为这个点创建一个平面。

    我们在对物体进行缩放或者对曲线偏移的时候,也是要给这些物体或者曲线赋予一个操作的平面的。

    好的,那我们就开始今天的grasshopper教程吧。

    计算机生成了可选文字: Deconstruct到,0 0.3dSC00m

    Deconstruct plane:分解平面。这个运算器是把平面分解成点和xyz三个方向。

    分解平面之后,我们可以获取这个平面它们的xyz三个轴向方向。获取方向之后,我们可以通过这些方向来操作这个平面上的一些点。

    其他三个运算器都是创造平面。

    分别是创建xy平面,xz平面,yz平面。

    计算机生成了可选文字: 0囗P 气V气.C00〕

    计算机生成了可选文字: e囗t www.3dsc g.C0m

    Construct Plane :创建平面。在xy两个端口输入两个方向,这样就可以创建出一个平面了。

    但是要注意,xy两个端口输入的不一定是标准的x轴或者y轴。只要输入两个不完全重合的方向就可以了。O端口是输入这个平面的起点。

    计算机生成了可选文字: 0二dXY .3dsc 嘰C00〕

    Line + Line :两个直线生成平面。这个运算器的用法和上个运算器基本上是一致的。而且在grasshopper中直线段和方向其实并没有很大的差别。我们也可以这么认为,直线其实在某种意义上是等同于方向(向量)的。

    计算机生成了可选文字: 《0.00,0.00,飞.00} 0 .3dsc 嘰C00〕

    Line +Pt :一条直线和一个点确定一个平面。

    Plane 3Pt :3点生成一个平面。

    Plane Fit :空间点拟合成一个平面。或许空间上的一些点,通过计算之后拟合成一个平面。这些点不一定完全在一个平面上的。

    Plane Normal:一个点和一个法向方向形成一个平面。

    Plane 0ffset:偏移平面。

    Plane Origin:基础平面对应到另外一个平面上。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-网格整列点生成

    Grasshopper系列教程-网格整列点生成

    今天我们来讲解Grasshopper网格点阵列的内容。

    agond www.3dsc .com

    这5个运算器输出的是常见的多边形矩形阵列,除了输出多边形阵列之外,还输出多边形阵列的点。

    Hexagonal:蜂巢六边形网格阵列。

    Radial:环形矩阵的阵列。

    Rectangular:矩形矩阵阵列。

    Square:正四边形阵列。

    Triangular:三角形排列的阵列。

    L'.JWW. 3dscg.com

    这几个运算器都有些共同的参数设置,一般有以下几个。

    P:阵列的起点。

    Sx:阵列中单位格子的边长大小,这里指的是x轴的大小。

    Sy:阵列中单位格子的边长大小,这里指的是y轴的大小。

    Ex:X方向上格子的数量。

    Ey:Y方向上格子的数量。

    输出端口的参数。

    输出端口的参数。

    C端口输出网格多边形

    P端口输出网格多边形交叉点

    计算机生成了可选文字: opul02b Populate3D 卩0》10G•••trY 、N.3dSC.com

    Populate 2D:随机散步2d点

    Populate 3D:随机散步3d点

    Populate Geometry:几何体内随机云点。

    www dscg . com

    这几个运算器都是用来生成离散的点,它们也有几个共同的参数。

    R(G):生成离散点的有效范围。3d离散点是输入一个正方体。随机离散云点输入一个3d几何图形。

    N:输入生成离散点的数量。

    S:输入离散点随机因子。每输入一个不同的整数会输出一个新的离散点分布。

    P:清理P点范围内的点,这个可能不太好理解,那么请看下图的算法演示

    在上图中,我们曲线是输入了一个圆圈,然后把圆圈进行78份的等分点,把这些点输入p端口中,我们可以看到下面有一个奇妙的现象出现。

    效果图如下,在下图中随机点,中间出现一个空缺的圆圈,这个空缺就是圆圈的等分点所消除的。

    计算机生成了可选文字: 、00000〕

    [elementor-template id=”7418″]

  • Grasshopper系列教程-向量运算器前言

    Grasshopper系列教程-向量运算器前言

    Grasshopper系列文章-01-前言

    从这节课开始,我们来学习向量这1单元的内容,这一小节课的内容主要是注意后面的课程,做一个指引,简单的介绍向量运算器的组成部分。

    向量的运算器分为下面几个部:

    Field:磁场电池,利用几种磁场力来控制向量,最终我们可以用磁场划线的功能来实现磁场的图形。

    Grid:预制的格点阵列,里面包含了几种常见的点阵类型,比如正方形点阵,蜂巢点阵等等。

    Plane:工作平面相关的运算器,这类运算器的作用是用来生成和修改工作平面的。

    Point:点的运算器,这里面包括点的生成点的分解,删除点等操作。

    Vector:向量运算器,用于生成向量,分解向量或者操作向量等等。

    以上只是做一些简单的介绍,后面我们会详细讲解每一个运算器的用法。

    向量这个模块在我们做过Grass hopper设计的时候是非常有用的。因为我们用grasshopper做设计的时候,并不能像犀牛那样直接创建曲线或者创建曲面。不管是曲线或者曲面,在Grasshopper中一般都是由点阵生成的,所以对点或者向量的操作就显得尤为重要了。

    打个比方,我们在犀牛里面会是一条线,就是用鼠标在屏幕上点几下就可以生成了;而在grasshopper中,我们必须做出这个曲线的特征点,然后通过串联点生成曲线。

    Grasshopper生成曲面的原理也是差不多的,一般我们会用点生成点阵,点阵串联成曲线,曲线再生成曲面。

    当然我们也可以一步到位,直接把点阵转化为曲面。

    而以上的一些方法,我们在后面的课程会慢慢的讲解到。

    好了,以上就是今天的课程,大家如果有什么犀牛和草蜢的问题的话,可以在一下面的评论区留言,也可以用微信扫码时加我微信,我是link再见。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-反转矩阵,数据编组,数据合并运算器

    Grasshopper系列教程-反转矩阵,数据编组,数据合并运算器

    我们今天继续来学习Grasshoper的课程,这次学习是几个简单而且常用的运算器,他们是用于控制分组的合并与分解的。

    计算机生成了可选文字: 3 Flip Explode Tree www.3ds c .corn

    Entwine:把数据编入既定的分组内。

    在下图中我把第1分组的数据输入00的编号里面第2分组的输入01的编号里面。02编号的分组没有输入数据。

    r端口输出编号分组的树形数据,要注意,因为02端口没有输入数据,所以02分组了是空的。

    Flatten 2 3dscg_ 2 www.3dscg.com

    Explode Tree:分解树形数据。

    这个运算器比较简单啊,大家看一下下面的运算就可以了。

    S 3dgcg_con wvvw .3dsc .corn

    Flip Matrix:反转矩阵数据

    这个运算器在我们平时的grasshopper的设计里面都非常的常用,我们经常会把它用来翻转点阵的纵向和横向的排列。

    对于翻转点矩阵的排列的,在我以往的文章里面都有所提到啊,大家可以在我的网站里面搜索相关的内容。我这里就不展开讨论了,如果大家有什么疑问的话,可以在下面的语言窗口评论,这里只是简单的介绍翻转举证的它的原理跟用法。

    在下图中我们可以看到00分组里面的数据是AA,bb和零课刻学堂,01分组的数据是cc,dd和3dscg.com。

    这一个分组数据输入翻转举证之后,他被翻转为三个分组,每个分组里面有两个数据。

    这个翻转矩阵的运算器的原理就是说把每一个分组的编号按顺序提取,之后把它们组合成一个新的树形数据。

    比如00分组和01分组里面他们的序号0的数据分别是AA和cc,提取了这两组数据之后,再组成一个新的组。

    冫 学 堂 01 }

    Merge:合并分组数据。

    这个运算器的使用方法也非常简单,就是把把数据输入到相应的窗口,最终输出的是一个拍平的数据。

    S coz .3dsc _corr

    Streu P utar Stream Gate www.3dsc acorn

    Stream Filter:分组数据过滤器。

    在下图中我们可以看到g端口输入1,输出端口输出的数据就是1端口里面的数据。

    wwvu 3dsc .com

    Stream Gate:这个运算器的使用方法不明,这里也就不再展开讨论了,大家如果对这个运算器有什么看法的话,可以在下面的评论区留言。

    4 3dgcg_con 4 3dgCg.COm

    [elementor-template id=”7418″]

  • Grasshopper系列教程-匹配数据结构

    Grasshopper系列教程-匹配数据结构

    Data With 8 branches 曲 面 等 分 点 数 据 结 构 Data With 8 branc hes 曲 面 分 割 0 2 最 终 输 出 的 2 数 据 结 构 曲 面 等 分 点 www.3dscg.com 零 刻 学 堂 Data With 8 branc N 己 5 囝 参 照 用 的 数 据 结 构 . 3dsc 嘰 C 0 0 〕

    接着我们上节Grasshopper课遗留下来的一个问题。

    我们怎么来理解这么一个运算器?

    这里我再重新重复一下这个运算器的作用:这个运算器的作用就是用来匹配一个作为参考的列表的路径。

    比如说原来的路径是两个0,而我们要把它的路径改为三个0。这样我们除了可以使用之前学过的方法来修改路径之外,我们也可以用一个现成的列表作为参考,然后把这个列表的路径直接搬运过来使用。

    在上图中我标记了三个标注。

    他们分别是:

    1. 原来的数据结构。
    2. 作为参照匹配用的数据结构。
    3. 最终输出的数据结构。

    从上图我们得知2和3的数据结构是完全一样的。通过这么一个简单的操作,我们就能够任意改变数据的结构。

    那么为什么我们要去改变数据的结构呢?

    以我个人的总结,我认为有以下几点原因要去改变数据结构的。

    1. 原始的数据结构过于复杂,过于复杂的数据结构是不利于我们操作数据列表的。
    2. 数据结构精简之后,便于我们做数据的匹配。

    改变匹配的数据结构,我们要注意以下的几个问题。

    1. 数据结构的分组必须一样。
    2. 数据结构每个分组里面的数据数量也必须一样

    好了,以上就是我对这个运算器的理解,

    如果大家有什么问题的话,可以在下方的留言窗口下评论。

    [elementor-template id=”7418″]

  • Grasshopper系列教程-树状数据结构得到操作(拍平和分组)

    Grasshopper系列教程-树状数据结构得到操作(拍平和分组)

    今天讲的grasshopper的内容是非常重要的,我们会分为三期的课程来讲。这一类的运算器是如何处理树状结构数据的。对于数据的处理Grasshopper里面是最为重要的。

    g.com ena _ - 1 10.1

    N端口代表null数据,X端口代表空的数据

    这个运算机的作用主要用来清除,我们在计算中产生一些无效的数据。这个比我们之前学习的那个要筛选之后再来清除,要高效的多。

    把数据列表拍平,这个在glass opera上面是非常常用的,在每个运算器端口点右键有个向下的箭头图标和这个是等效的。

    拍平电池在默认情况下把路径设置为一个0,如果要设置为两个人可以在p端口里面填入两个0。

    计算机生成了可选文字: • ÄeeÅng1e (

    把数据列表变为树状结构,这个操作和拍平是相反的。我们平时把这个运算器也称之为分组数据的运算器,因为它的功能就是把数据进行分组。

    我们要需要glasshopper,一定要注意数据什么时候要分组,什么时候要排停。

    因为用grasshopper做设计,最重要的就是对数据的排列与组合。用电脑计算出来的排列组合来组合出我们设计上的创意。

    om

    删除小数据的分支

    在下图当中,等差数列列表被分为三个一组和两个一组的分组数据,把这个分组数据输入到t端口中,N0和N1分别输入两个数据,如果这两个数据比分组数据的数量更多的话,他就会把这个数据清除掉。

    计算机生成了可选文字: . Icom

    精简树状数据的路径层级。

    在下图当中我们可以看到数据的结构是三层级别的,经过一个精简之后,它只变成了一层。

    With 10 branch— Data with 1m

    这个运算是用来统计树状列表的数据,在下图当中我们可以看到第1个输出端口,输出的是数据的具体内容,第2个参数输出的是每个分组的里面的数据数量,第3个参数是输出分组的数量。

    ο 10

    这个运算器是用来精简数据的路径的。

    下图中我们可以看到它是一个分组数据啊,经过精简之后,我们看到它输出的只有一层的路径级别。

    这样的用法,有点像拍平运算器。

    Data with1branches N = 10 τη

    Unflatten Tree :让数据跟随导入的数据的树状数据结构。

    计算机生成了可选文字: 0a0h的b「引跹h一 WWW.3dg.CO

    这个运算器比较难理解,我们这节课不张开讨论,我在下面贴一个应用的算法,在下一节课我将详细说明它的运算逻辑。

    with 8 branches Data Wlth 8 branches lData Wlth 8 branc

    [elementor-template id=”7418″]

  • Grasshopper系列教程-数据列表项目的修改与查找

    Grasshopper系列教程-数据列表项目的修改与查找

    我们这节课学习关于Grasshopper成员搜索的相关知识,这部分知识在我们设计当中并不是特别重要,同学们只要做一些了解就可以了。

    计算机生成了可选文字: www.3dscg.com

    Carthesian Product:Ab两个序列按编号分组,要求两个组的数据个数一样。

    image.png

    Disjoint:检测a列表的数据是否在b列表中存在,如果存在输出false,不存在输出true.

    在下图中4已经包含在b列表中了,所以输出了false。

    image.png

    Member Index:计算出项目的编号。

    在下图中我们要计算的项目是3,最终计算出它的编号是1

    image.png

    Replace Member:替换集合中的项目。

    在下图中第1个参数输入列表,第2个才是输入序列号,第3个

    image.png

    SubSet:判断a列表是否包含b列表。

    在下图中a不在这个等差数列之内,所以输出了false。下图第2个等差数列是0~3,这个数量是包含在a数列里面的,所以输出ture

    image.png
    member  Key/vaue search  www.3dsc .corn

    Delete Consecutive:删除列表中类似的项目。

    在下图中的列表有两个a,w值输入ture就把列表中的a给删除掉了。

    image.png

    Find similar member:查找列表类似的成员。

    在下图中要找到的主要是a,说出了结果它的序列号是1。

    image.png

    Key/Value Search :根据数据键值对来搜索。

    在下图中,第1个参数输入列表的序列号,第2个参数输入要搜索的列表,第3个参数输入要搜索的序列号,最终输出该序列号的所对应的参数。

    image.png

    [elementor-template id=”7418″]