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

拓筑在线

 找回密码
 快速注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

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


[版块:参数化设计] [分类:经验教程] [复制链接] 报告无效帖子查看: 64920|回复: 706   
拓邦元帅|DanielJin 发表于 2014-8-28 02:10:13 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
大家好,我的《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 交流多进步,碰撞思维火花最珍贵。

查看全部评分

我司提供建筑方案设计/全流程BIM设计/参数化设计
有兴趣欢迎站内信或在https://www.jianzhu.us进行商务洽谈
我的《Grasshopper从入门到进阶》课程购买地址为https://www.tuozhu123.com/course-54.html
拓土新兵|勇气哥 发表于 2014-8-28 02:31:33 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
优秀啊学习了
 楼主 | 拓邦元帅|DanielJin 发表于 2014-8-28 02:32:36 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
勇气哥 发表于 49秒前
优秀啊学习了
   大半夜不睡觉!
来自:IOS客户端
管理员|深圳老梁 发表于 2014-8-28 07:41:42 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
依然看不懂,但依然觉得很牛逼。

点评

够坦诚  发表于 2014-8-29 17:33
拓土新兵|时光 发表于 2014-8-28 08:52:40 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
赞  谢谢各位大神昨天的解答
拓土新兵|zzting 发表于 2014-8-28 09:07:41 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
正好遇到这个问题
拓邑团练|jasonroc 发表于 2014-8-28 09:09:41 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
看看怎么样.
拓邑团练|jasonroc 发表于 2014-8-28 09:11:16 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
谢谢分享,继续支持!                                    
拓邑团练|chenxuancheng 发表于 2014-8-28 09:19:24 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
来听君一言,与君共勉
拓城校尉|wqdesky1 发表于 2014-8-28 09:20:34 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
值得期待,赶紧看看
拓城校尉|wqdesky1 发表于 2014-8-28 09:21:21 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
值得期待,赶紧看看
拓城校尉|uiyr7s 发表于 2014-8-28 09:21:32 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
我回复一个你敢出现吗?
拓乡士官|407030699 发表于 2014-8-28 09:21:42 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
由浅入深学Grasshopper
拓土新兵|扫地僧皈依 发表于 2014-8-28 09:24:46 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
正在学习。。。。。。。。。。。
拓邦元帅|peter704 发表于 2014-8-28 09:28:07 | 显示全部楼层
发帖得20e币  e币充值  开通VIP会员  快速免费获取e币
我参数化学习的引路人,永远支持你
您需要登录后才可以回帖 登录 | 快速注册 微信登录

【SEG出品】GH讲解之Preference(上)
【SEG出品】GH讲解之Preference(上)
首先,很开心的告诉大家,E拓参数化板块有自己的独立域名啦!以后大家可以输入csh.eeeetop.com即可访问参数化板块。 大家没有发现参数化板块的UI比主页要简洁一
  DanielJin  lpggyyds最后回复于 2025-02-28 参数化设计

分享几个城市景观公园SU模型
分享几个城市景观公园SU模型
学生党在平时做设计的时候能够用的上里面的景观小品~ 百度网盘分享链接: [sell=2]链接: https://pan.baidu.com
  邢素平  阿白47923最后回复于 2025-02-28 SketchUp模型

贵州赤水佛光岩观景平台,原创设计,已完工,配实景照片
贵州赤水佛光岩观景平台,原创设计,已完工,配实景照片
位于贵州赤水五柱峰景区佛光岩景点,该景点属于丹霞地貌,山崖有一瀑布景点,由于太阳光与弧形崖壁形成光晕,人们拍照时犹如沐浴在佛光中而得名。该平台主要用于
  qlql7676  阿白47923最后回复于 2025-02-28 项目实践·作品库

【E拓参数化论坛】精品贴汇总导读
【E拓参数化论坛】精品贴汇总导读
本帖主要是E拓参数化论坛的各种汇总贴。 其中官方公告的一些精品贴和资源帖在主贴附出 E拓参数化论坛各作者的教程在1楼至8楼 预留前20楼以备后期编辑添加新内
  DanielJin  canxingbb最后回复于 2025-02-28 参数化设计

大水牛出品GH+ghpython入门教程
大水牛出品GH+ghpython入门教程
资料收集于网络,仅供学习研究。百度网盘下载链接: [sell]链接:https://pan.baidu.com/s/1MjhW_8pvMaiMC5gmwzr8iQ 提取码:4spn[/sell]
  我是大嘴猴  lpggyyds最后回复于 2025-02-28 参数化设计

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

简历模板分享
简历模板分享
**** 本内容被作者隐藏 ****
  何小葵  fuwei6187最后回复于 2025-02-28 大学生讨论区

博物馆超全资料合集(含su cad等)
博物馆超全资料合集(含su cad等)
**** 本内容被作者隐藏 ****
  sadapple  weekbin最后回复于 2025-02-27 SketchUp模型

月亮谷——景区旅馆设计(坡地)
月亮谷——景区旅馆设计(坡地)
最近十天一直在赶这个作业(前面的一个多月不小心荒废了……),终于做完了,第一次机图临时抱佛脚方案和出图比较恶心,大家多指点啊。。。
  白木碉  阿白47923最后回复于 2025-02-27 课程设计·作业库

大三的坡地旅馆,大家来交流哈~
大三的坡地旅馆,大家来交流哈~
大三的坡地旅馆,大家来交流哈~
  第六超人  阿白47923最后回复于 2025-02-27 课程设计·作业库

现在的建筑从业者该何去何从
现在的建筑从业者该何去何从
面对这样的环境,大家有没有什么更好的出路?证还要继续考么。。感觉只是在增加沉没成本。。
  木格错  诺亚方舟最后回复于 2025-02-27 建筑师讨论区

张家港农耕游乐园
张家港农耕游乐园
苏州江南农耕文化园按照“特征鲜明的江南水乡,功能丰富 的休闲农庄,农耕主题的文化走廊”的总体设想进行建设。设置了农耕历史区、土地整理 区、江南养殖区、农
  q442662748  诺亚方舟最后回复于 2025-02-27 建筑师讨论区

《建构建筑手册》中、英文版
《建构建筑手册》中、英文版
《建构建筑手册》——(瑞士)安德烈·德普拉泽斯 著 本书将专业的技术知识与所举建筑的美学及其文化与历史背景知识结合在一起,从不同的角度看待建筑的建构
  S65510630  诺亚方舟最后回复于 2025-02-27 电子版图书

会员必读:如何快速免费获得e币?
会员必读:如何快速免费获得e币?
1、e币是什么?(1)只有拥有相应e币,才能下载附件、升级用户组等。(2)只要经常登录、发帖、参加活动等,就能得到相应e币。(3)e币数量=积分数量。 2、如何
  深圳老梁  诺亚方舟最后回复于 2025-02-27 站点服务

建筑构造怎么学?
建筑构造怎么学?
学习建筑构造的方法包括以下几个方面‌: [*]‌理解基础概念和原理‌:建筑构造是指建筑物各组成部分基于科学原理的材料选用及其做法。其任务是
  诺亚方舟  诺亚方舟最后回复于 2025-02-27 快速发帖

TD-LOFT楼板
TD-LOFT楼板
相较于传统的夹层楼板,TD-LOFT楼板系统展现出了一系列显著的优势。其自重轻,楼板厚度薄,不仅降低了造价,还极大地简化了施工流程。因此,它特别适合作为LOFT
  JASY  JASY最后回复于 2025-02-26 设计文本

Enscape高级渲染参数预设合集(宝藏参数)
Enscape高级渲染参数预设合集(宝藏参数)
和所有软件的参数预设类似,仅仅需要在场景中简单加载渲染参数,即可得到已经调整好的渲染效果。让效果更上一层楼! 包含百余款渲染
  sadapple  1641779547最后回复于 2025-02-26 虚拟化表现

[日本版]Casa Brutus 建筑室内艺术杂志 2025年02期
[日本版]Casa Brutus 建筑室内艺术杂志 2025年02期
2025年精选30种国外【建筑+景观+室内】设计杂志超大合集 全年订阅链接:https://www.eeeetop.com/forum.php?mod=viewthread&tid=75981
  设计杂志  设计杂志最后回复于 2025-02-26 室内家居

官方综合交流QQ群(更多):

240721746

拓筑在线——面向建筑师群体的

设计交流论坛、软件学习社区、资料下载网站及企业服务平台!

微信扫一扫关注我们

微信公众号

拓筑小助手

GMT+8, 2025-3-1 02:37 , Processed in 0.087444 second(s), 45 queries , Gzip On.    拓筑在线 ( 粤ICP备11043922号 )

Powered by Discuz! X3.4  © 2011-2023 拓筑在线

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