GH曲面UV均化与循环的使用

Hello~小伙伴们,又到了每周一次的软件小讲堂啦。

随着Rhino和GH在建筑领域的普及,Rhino手工设计+GH深化已经成为了各位都非常熟悉的工作流程。

但是很多使用Rhino制作异形建筑的童鞋经常会遇到一个问题:但基础曲面扭曲程度较大的时候,直接进行曲面细分时细分 格的大小会非常不均匀

比如像下面这个曲面,如果我们在GH里面使用divide domain+isotrim进行细分的话,较大细分面的长度甚至可以达到较小细分面长度的三倍多。

而这种长度的不均不仅意味着后续表皮生成后立面构建的长短不一,导致无法施工,即使是在方案阶段,也会影响到整体建筑造型的均匀与美观以及建筑结构的合理性。比如假设我们使用改曲面进行三维 架的生成,得到的最终 架也是尺度不一的(中间密集杆件较短,两边稀疏杆件较长)。

而即使使用一些插件比如典型的lunchbox进行细分,细分面大小不一的问题仍然无法解决。

因此在本次教程中,我会向大家介绍一种在GH中使用循环运算器对于一个异形曲面进行UV的均化的方法。

PART 1

初步均化

要完成对于当前这样一个UV细分极不均匀的面的均化,首先大家需要提取面的四根边线。

对于这些边线进行等分操作。等分的数量就依据之前UV细分的数量,方便我们后续进行对比。

之后使用surface closed point这个运算器求出这些细分点位于曲面的UV坐标(对于基础曲面进行的曲面重参使得所有UV坐标的数值都在0-1的区间上。)

不过当前由于互为对边的两个线的曲线方向相反,导致了对边的两组点的UV数值变化相反(一个从0到1一个从1到0)。

我们可以对于点的顺序进行reverse。这样UV数值都是从小到大进行变化的。

因为短边点的UV数值中的V值大小都是0或者1(表示其位于长边方向的起始和终止为止),我们并不需要。因此只需要提取U值建立区间。同理,长边点的UV数值中的U值大小都是0或者1(表示其位于短边方向的起始和终止为止),我们并不需要。因此只需要提取V值建立区间。使用deconstruct point获取我们对应需要的数值建立区间。

之后对区间进行等分,注意等分的数量分别为之前等分曲线的分段数。

最后观察一下所有等分点的U值以及所有等分的的V值的数据结构,发现一个为11组每组17个数据,另一个为17组每组11个数据,结构并不对应。

所以将其中的一组进行flip matrix,将UV组合。通过evaluate surface我们可以看到这些点在曲面上对应的位置。

之后通过curve on surface我们可以得到延长边方向的均分线,而借助对于UV数值的反转,通过curve on surface我们可以得到延短边方向的均分线

这个时候我们可以发现曲面的均化程度相较于一开始直接UV细分的均化程度已经好了很多。并且在四个边缘已经实现了完全的均分。

不过在曲面内部我们可以看到细分之后的面大小仍然各不相同,所以我们还需对其进行进一步的均分处理。

PART 2

进一步均化

找到上一步生成的长边方向的线,对其进行等分操作。

等分之后,通过surface closed point获取新生成点的UV坐标,翻转数据结构之后再次使用curve on surface获得短边方向的线。

对于短边重复一次之前长边的处理方法。就可以获取新生成的一组长边。

因为在生成过程中是对于每一根线都进行了等分处理,所以这次生成的长边相较于之前的长边在延短边方向也会变得更加均匀。

那么理解了这个基本的均分逻辑之后,后面我们只需要不断的将这部分运算器进行复制即可,但是这样操作不仅一方面较为繁琐,另一方面也会导致整体电池图较为混乱不方便调整,所以我们考虑使用循环运算器进行后续操作。

PART 3

循 环

因为大部分GH运算器都遵循着从左往右连接这样一个基本的连接逻辑,所以相较于其他一般的编程语言,GH在处理循环问题上是较为无力的,我们必须要使用特定的插件进行循环处理。本次教程我们将使用Anemone插件进行循环处理。(下载连接:https://www.food4rhino.com/app/anemone)

使用其中的标准循环运算器。

大于 连接小于 。N是要循环的次数,T段连接一个按钮。

将之前生成的第一次所有点的UV连接到D0,再由输出端D0连接到curve on surface的uv输入端。

经过一次之前未使用循环的数据计算,我们可以得到和之前一样数据结构的UV数值。将这个数值连接到D0.点击Button即可完成十次的循环设置。

最后通过curve on surface获取UV两个方向的均分线,以其生成新的面

PART 4

检 验

最后我们生成的这个面单纯从造型上和一开始最初的曲面是没有任何区别的。同样是一个非常扭曲的面。

但是当我们对齐进行细分操作的话可以看到,无论采用何种细分操作都可以获取一个相对均匀的结果。

最后将其打包,保存为用户物件。以后我们想对任何曲面进行UV均化的化都可以直接使用它啦。

教程讲完了,还是我们的老规矩,大家有任何想说的,都可以在评论区给我们留言。有任何问题,可以通过我们制图教室的负责人加入我们的制图教室交流群,大家一起快乐地学习进步吧~

LAC STUDIO仅对图纸表达提供相关解读教程

教程版权归我方所有

联合 LINKING

联合而不仅是连接 → 我们搭建老师、学生之间沟通的桥梁,更联合优秀的老师,把宝贵的经验与大家互通分享。

学术 ACADEMY

学术而不仅是学院 → 我们不仅提供学院的教学环境,创造活跃,平等的课堂气氛,更注重学术知识的研究、传播。

创新 CREATION

创新而不仅是创意 → 我们培养的是学生全面的能力,不仅有好的思想,更有强大的技术,有把创意变为现实的能力。

上海工作室地址:

上海市虹口区哈尔滨路160 1913老洋行C-101

北京工作室地址:

北京市海淀区通惠寺街15 楼远中悦莱大厦3楼

官方 站:www.lacstudio.com

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月2日
下一篇 2020年5月2日

相关推荐