通知:E拓建筑网正式更名为拓筑在线!

拓筑在线

 找回密码
 快速注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

【By DanielJin】由浅入深学Grasshopper 高级01


[版块:参数化设计] [分类:经验教程] [复制链接] 查看: 35400|回复: 698   
 拓筑学院老师|DanielJin 发表于 2014-8-28 02:10:13 | 显示全部楼层 |阅读模式
大家好,我的《Grasshopper从入门到进阶》课程已经开课了。
有兴趣欢迎关注:https://www.tuozhu123.com/course-54.html


【By DanielJin】由浅入深学Grasshopper 高级01 谈谈Surface Closest Point,Divide Domain2 和 Isotrim恶心人的地方


版权声明:本人所发所有教程均首发在E拓参数化论坛。如需转载请发送站内信获得本人许可。

前言:之所以这个教程分类在了高级里,是因为这一篇讲的是一个很理论且没有什么实际作用的东西,大家知道即可。
最近在忙着一些改革事宜,努力把E拓建的更好。你们可以看到参数化论坛越来越多的帖子,视频教程,作者开始出现。
同时告诉大家一个好消息,由我和几位同仁一起历时一个月编著的《Grasshopper中文运算说明书》即将进入美工阶段。
书里面详细的将每个运算器进行了翻译,对输入端数据类型要求等进行了解释,并对大多数运算器进行了配图用法演示。
我决定将本书以pdf电子书的形式免费放在E拓参数化论坛上供大家下载
我知道你们网盘里动辄几百G的资料,免费不等于垃圾,收费不等于精致。
希望大家届时可以真正利用上这本书,不要随手下载下来就丢掉了。
请给予熬夜编著的所有作者们最起码的尊重!谢谢。

今天这个问题是群里一位朋友让帮忙做一个小的程序的时候发现的。
你们还记得大明湖畔...哦不是,是我曲面桁架那一章教程提出来的问题吗?
当一个点被和曲面发生各种乱七八糟的关系,比如pull,closest的时候,总是无法正确出现在曲面上?
今天我们从各种可能性来做一个小的探讨。
这篇帖子将更加简练,如果基础还不牢固,请在E拓参数化论坛csh.eeeetop.com置顶帖区域观看完UncleX的小苹果视频教程和我的初级中级教程。

封面.png

首先今天一个朋友提了一个问题,如何将一大堆点中不在面上的删除?
面是一个trim面。
1.png


我首先的思路是,divide domain2和isotrim然后取中心
2.png

绿色即为需要取的点
3.png


将这些中心点在曲面上的最近点找到,如果一个点在面上,那么它在面上的最近点和它肯定重合。
那么它们两个点的距离是0.只要用dispatch踢出距离非0的点就可以了。
如图,绿色区域内的点在面上的最近点是在面的边线上,即黄色实线上。
而黄色范围内的点本身在原地没有动,所以距离应为0。
同时,由于是trim面,divide domain2的时候patch自动补全。不再赘述。
0.png


随后出现了问题。得到的解集为空集。也就是说所有点的最近点都发生了位移。
4.png


怎么回事呢?这里面用到的命令屈指可数,我们一个个来检查。
首先我们来排除Surface Closest Point的命令,随意点四个点。
通过不同方法我们都可以验证点在找到最近点以后,最近点确实是在面上的。排除。
5.png


接下来我们返回上一步,直接Point in Trim来验证Closest Point命令输出的点是否在Trim面上。
答案令人很沮丧,虽然显示有24个点不在面上,76个点在,但实际上我们已经看得出来,
红色的24个点实际上是在Trim面边线上的。
6.png


再来思考一下,应该是细分面以后的中心点不在面上的问题。
因为面不是平面,就如同弧面(凸包)的中心点不在面上是很正常的。
所以我们跳过最近点直接用Center Point输出结果来验证。
结果很奇特,Point in Trim竟然显示True。我们不能再依赖这个运算器的布尔值了。
7.png

我们随意做一个弧面,我用4点生面手工拉了一个面,抬了一个角点。
如刚才5分析的,Point in Trim又显示不在面上,这时候说明又对了。
那么5为什么刚才显示的不正确呢?不过我们已经找到了原因之一了。
8.png

联想一下曲面桁架的教程,我认为还应该是Isotrim 和 Divide Domain2两个命令的原因。
他们的使用导致了Closest Point无法正常工作。
到了这里,其实已经脱离了如何选取点这个最开始的目标了。
而是变成了到底这个运算器能否在这种环境下正常工作?

为了验证刚才说的在Isotrim 和 Divide Domain2两个命令连用的情况下,面上最近点的点会不在面上这个奇葩现象,
我试着将在Trim Srf上的点再一次在面上找Closest Point。
我们首先来理清一下思路:
(1)如果一个点A和一个面S在同一xy平面内,位置关系是点A在面S外,并且不在面S的上下方,
即无法投影在这个面S上,那么这个点在面上的最近点a一定位于S的边线上。详情查看步骤1黄色实线。
那么很显然两点的距离Aa一定大于零。
(2)如果一个点B恰好位于面S范围内,那么B的z向投影点b也肯定在面S内且和B坐标重合。
那么B和b的距离Bb一定为0,因为是坐标相同的两个点。
这里能理解清楚,那么往下我继续验证。
如果之前Point in Trim我们不敢肯定结果的话,那么我用一个点的三个坐标来验证总完全没问题了吧。
根据上边的推理(2),Bb=0,那么xB=xb,yB=yb,zB=zb
用坐标最原始也是最不可置疑。
我们将Closest Point输出的已经在面上的最近点B再次拉到面上得到点b。按照推理(2),他们的横坐标xB将等于xb。
事实是,我们的100个点只有74个点原地没动,剩余26个点又动了。
请大家自行脑补暴漫“我给你跪了”的表情。
9.png


继续验证,为了方便我们将上边的程序打包。
10.png


不断把已经在面S上的点B再次pull在面b上寻找最近点。
11.png


到这一步大家就看的很清楚了,每一次找最近点,总是有26个点的坐标会发生变化。
这是一个死循环。

大家可以联想一下曲面桁架的教程,当时我说你们一定要再找一次Closet Point,把得到的最近点Pull到UV结构线交点上。
其实就是因为最近点不在曲面上的原因。
至此可以肯定,最大的罪魁祸首就是Isotrim 和 Divide Domain2两个命令工作环境下Surface Closest Point并不在Surface上。
哈哈哈。我也是跪了。


当然,以上推理中的Bb=0是严格的推理。从理论上讲他们的距离应该等于0。
我们再回到最开始的问题上,如果想要得到这个同学的答案应该怎么做?
我用Panel查看了一下在循环查找最近点之后B和b的距离只有e^-12这么小了。
所以只要只选择小的值,就可以得到这些点了。


通过这个例子我想告诉大家,其实有时候一个程序是很有意思的。
也许你看了别人的做法,会了,但是你可能永远不知道这个程序里隐藏着许多未解之谜。
不亲手操作一下,你是永远不可能知道的。
有时候我们不能只把做出来结果当做正确解,而是要甘于钻研每一个电池的“微效应”,这样才能彻底把相关知识学透彻。
至于到底为什么会会出现Isotrim 和 Divide Domain2两个命令工作环境下Surface Closest Point并不在Surface上的情况?
抱歉,我也不明白。我是用GH当做工具简化我的建模,把自己当做使用者来用软件的。
而不是把自己当百科全书十万个为什么来被软件用的。
我只是一个使用者,而不是程序的开发者,这个问题我也解答不了。


希望各位通过这个例子能够学会深入探索的精神,并且知道当发现一个问题的时候,如何一步步的排查问题原因。
通过更改变量(比如将Point in Trim更改为坐标验证)来查找到底是哪一步出现了差错。
希望大家能掌握到一种新的自学方法。自学永远是最好的老师。

最后还是给出这位同学问题的答案吧。绿框内是解答,黄圈里是主要使用的计算器。
而紫色的框里,是你如果只注重“解出”问题而不注重“解答”过程本身所丢失的学习机会。
我想这就是为什么同样的练习题,有人考试考了100有人考了60的原因吧!共勉之。
right.png

游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 4e币 +45 收起 理由
Lotus丶 + 1 爆料兼分享,分享总让我们知更多。
cmmsn + 4 爆料兼分享,分享总让我们知更多。
沧月 + 10 给力
深圳老梁 + 30 交流多进步,碰撞思维火花最珍贵。

查看全部评分

大家好,我的《Grasshopper从入门到进阶》课程已经开课了。
有兴趣欢迎关注:https://www.tuozhu123.com/course-54.html
 拓土新兵|勇气哥 发表于 2014-8-28 02:31:33 | 显示全部楼层
优秀啊学习了
 楼主 |  拓筑学院老师|DanielJin 发表于 2014-8-28 02:32:36 | 显示全部楼层
勇气哥 发表于 49秒前
优秀啊学习了
   大半夜不睡觉!
来自:IOS客户端
 管理员|深圳老梁 发表于 2014-8-28 07:41:42 | 显示全部楼层
依然看不懂,但依然觉得很牛逼。

点评

够坦诚  发表于 2014-8-29 17:33
E拓建筑网创始人,设计生产力研究专家,设计关系与项目资源对接顾问。
找工作,找人才?找项目,找设计供应商?欢迎添加微信laoliang-sz(请备注职业和单位)。
 拓土新兵|时光 发表于 2014-8-28 08:52:40 | 显示全部楼层
赞  谢谢各位大神昨天的解答
 拓土新兵|zzting 发表于 2014-8-28 09:07:41 | 显示全部楼层
正好遇到这个问题
 拓邑团练|jasonroc 发表于 2014-8-28 09:09:41 | 显示全部楼层
看看怎么样.
 拓邑团练|jasonroc 发表于 2014-8-28 09:11:16 | 显示全部楼层
谢谢分享,继续支持!                                    
 拓邑团练|chenxuancheng 发表于 2014-8-28 09:19:24 | 显示全部楼层
来听君一言,与君共勉
 拓城校尉|wqdesky1 发表于 2014-8-28 09:20:34 | 显示全部楼层
值得期待,赶紧看看
 拓城校尉|wqdesky1 发表于 2014-8-28 09:21:21 | 显示全部楼层
值得期待,赶紧看看
 拓城校尉|uiyr7s 发表于 2014-8-28 09:21:32 | 显示全部楼层
我回复一个你敢出现吗?
 拓乡士官|407030699 发表于 2014-8-28 09:21:42 | 显示全部楼层
由浅入深学Grasshopper
 拓土新兵|扫地僧皈依 发表于 2014-8-28 09:24:46 | 显示全部楼层
正在学习。。。。。。。。。。。
 拓邦元帅|peter704 发表于 2014-8-28 09:28:07 | 显示全部楼层
我参数化学习的引路人,永远支持你
您需要登录后才可以回帖 登录 | 快速注册 微信登录

lumion 10.3离线版
lumion 10.3离线版
百度网盘链接: **** 本内容被作者隐藏 ****
  sadapple发表在虚拟化表现 buli最后回复于2021-03-05

养老设施技术设计详解1pdf
养老设施技术设计详解1pdf
**** 本内容被作者隐藏 ****
  757283098发表在资料·图书库 沙之飘樱最后回复于2021-03-05

ppt作品集模板分享
ppt作品集模板分享
因为资料不是最新的了,自己花钱卖的,整理网盘翻出来了,我感觉内容还不错。 除了作品集,平时制作方案文本ppt也可以参考。 无偿
  何小葵发表在资料·素材库 顺溜1990最后回复于2021-03-05

请根据用地红线,计算建筑师的心理阴影面积
请根据用地红线,计算建筑师的心理阴影面积
编者按:本文来自微信公众号非标准建筑工作室(公众号ID:non-standardstudio),欢迎关注。 如果演员,不再去刻意寻找安全感,真正的创作力,就会充
  深圳老梁发表在微信聚读 深圳老梁最后回复于2021-03-05

【今日免e币】精选新酒店外观室内实景高清照片20套
【今日免e币】精选新酒店外观室内实景高清照片20套
**** 本内容被作者隐藏 ****
  深圳老梁发表在资料·案例库 深圳老梁最后回复于2021-03-05

卒姆托-奥地利伯瑞根兹美术馆
卒姆托-奥地利伯瑞根兹美术馆
卒姆托作品分析
  YL445082发表在资料·模型库 YL445082最后回复于2021-03-04

CAD批量打印PDF已更新至v2.0.1
CAD批量打印PDF已更新至v2.0.1
|版权说明|原创插件|插件作者:Zyl|图 文:lxl217114&Zyl 原帖地址:https://www.eeeetop.com/forum.php?mod=viewthread&tid=39055&extr
  lxl217114发表在图形化处理 慧空最后回复于2021-03-04

草图大师模型
草图大师模型
第一次用草图大师,希望大家多提意见,多多交流。
  zzz^0^发表在可视化设计 深圳老梁最后回复于2021-03-04

《Ecotect建筑环境设计教程》pdf(全书齐)+相关模型
《Ecotect建筑环境设计教程》pdf(全书齐)+相关模型
《建筑数字技术系列教材——Ecotect建筑环境设计教程》 书的编著是云朋 以下是目录 1 绪论 1.1 Ecotect与建筑设计 1.2 Ecotect的特点和应用 2
  361840360发表在绿色化分析 xieshao911最后回复于2021-03-04

建筑学报2020电子版持续更新,1973-2019也在
建筑学报2020电子版持续更新,1973-2019也在
建筑学报2020电子版持续更新,延迟官方大半个月样子,建议保存链接,一个月查看一次 1973-2019也在,19年的是到9月份,后三月无 不收积分了,自
  蜗牛nkh发表在资料·图书库 zhulei1377最后回复于2021-03-04

双曲面拟合plane压弧线单曲的方法及尝试
双曲面拟合plane压弧线单曲的方法及尝试
一直都发的revit做的玩意~~~今天发个gh做的玩意~~~ 前一阵子看群里有人接曲面幕墙的活。就心血来潮想研究下怎么拟合曲面~~~~昨天晚上有空做了一
  lzeaf发表在参数化设计 他把它当作她最后回复于2021-03-04

新品CAD图案合集
新品CAD图案合集
新品CAD图案合集 [sell]链接: https://pan.baidu.com/s/1IASgYNbzJxsP8zcsyaxqog 提取码: hta6[/sell]
  SL666发表在图形化处理 顺溜1990最后回复于2021-03-04

[大师作品分析.解读建筑].(王小红)
[大师作品分析.解读建筑].(王小红)
中国建筑发展如此迅猛,以至于我们不得不思考在教学方式上有所变革。 课程要求学生从自己的观察视角入手并运用各种手段进行分析,把被分析的建筑从不
  zhiwen发表在资料·素材库 π643319最后回复于2021-03-03

一些家具su
一些家具su
一些家具su
  两千千发表在快速发帖 两千千最后回复于2021-03-03

SU坡度道路与立交桥的一种建模方法
SU坡度道路与立交桥的一种建模方法
SU坡度道路与立交桥的一种建模方法道路相信大家都会建模。一般来说,把cad中道路的轮廓线导入su,封面填色即可。但是,很多时候,道路不会都是平坦的
  youxi发表在可视化设计 不停的脚步最后回复于2021-03-03

住宅景观与规划文本~~免费资料第二波~~以后陆续更新~~
住宅景观与规划文本~~免费资料第二波~~以后陆续更新~~
首先说明~~该资料也是个人收集而来的~~如果有侵权行为什么的请及时告知~~我会尽快删帖的~~~收集资料不容易~~都是居住区方案方案文本的高清文件~~ppt~~
  雪地叹息瓶发表在资料·文本库 zero0086最后回复于2021-03-03

住宅景观与规划文本~~免费资料第一波~~以后陆续更新~~
住宅景观与规划文本~~免费资料第一波~~以后陆续更新~~
首先说明~~该资料也是个人收集而来的~~如果有侵权行为什么的请及时告知~~我会尽快删帖的~~~收集资料不容易~~都是居住区方案方案文本的高清文件~~ppt~~
  雪地叹息瓶发表在资料·文本库 zero0086最后回复于2021-03-03

住宅景观与规划文本~~免费资料第三波~~目测应该没有了~~
住宅景观与规划文本~~免费资料第三波~~目测应该没有了~~
首先说明~~该资料也是个人收集而来的~~如果有侵权行为什么的请及时告知~~我会尽快删帖的~~~收集资料不容易~~都是居住区方案方案文本的高清文件~~ppt~~
  雪地叹息瓶发表在资料·文本库 zero0086最后回复于2021-03-03

拓筑优课

关于我们|广告服务|拓筑在线 ( 粤ICP备11043922号-1 )

GMT+8, 2021-3-5 11:52 , Processed in 0.257813 second(s), 23 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2011-2019 拓筑文化

快速回复 返回顶部 返回列表