NCF参数化建筑论坛

标题: 如何通过凹形点阵构造外形折线 [打印本页]

作者: 漠北骑兵KEN    时间: 2018-4-13 20:38
标题: 如何通过凹形点阵构造外形折线
本帖最后由 漠北骑兵KEN 于 2018-4-13 20:40 编辑

[attach]49579[/attach][attach]49580[/attach]在grasshopper中可以通过Convex Hull获得凸点阵的外边界形态,但是如果是凹形态的点阵又该什么办呢?我的第一个想法是在凸多边形的基础上改良,用最近点的方式来找凹点,这个方式在凹得不深的情况下还是勉强能行的,但是如果像上图那样凹得比较厉害就没用了。第二想法是想找出每列点中端头的两个点,上图中是X值相同,找Y值最大和最小的,最后把每一列中Y值最大的和最小的分别相连,再组合成最终的多边形。我遇到的问题是:1.在第一个想法中,有什么办法让已经用Convex Hull生成的折线往凹点靠,找到凹得较深的点;2.第二个想法,我已经用Sort Points把点阵排列了一下,但是我不知道该怎么把X值相同的点分在同一个数据组里,求大神们帮忙。。。。谢谢啦...第二张图里面,黑色线框是理想的凹形折线,红色线框是第一种想法的实际结果。

作者: 安豆    时间: 2018-4-14 11:13
可以试试这个
[attach]49582[/attach]

作者: 漠北骑兵KEN    时间: 2018-4-14 14:46
安豆 发表于 2018-4-14 11:13
可以试试这个

[attach]49583[/attach]非常感谢!!我用你的方式实现了。。。我又想了想我昨天说的第二种方式,其实思维上不对,像我现在贴出来的这种点形态,用第二种思路是弄不出来的。。。再次感谢!!!

作者: 安豆    时间: 2018-4-14 16:42
漠北骑兵KEN 发表于 2018-4-14 14:46
非常感谢!!我用你的方式实现了。。。我又想了想我昨天说的第二种方式,其实思维上不对,像我现在贴出来 ...

楼主客气了
作者: 漠北骑兵KEN    时间: 2018-4-14 19:49
安豆 发表于 2018-4-14 11:13
可以试试这个

我又试了试,这个方法有个小缺点,就是当点的数量比较多的时候,比如有一千个,甚至上万的时候,电脑就会很卡。我想的是在点阵当中,手动画一个靠近边缘的图形,再通过是否在图形外来选取靠外侧的点,最后再使用你说的方法来做凹折线。。。不过有没有不用手动画图形的方式来减少点的数量啊?非常感谢啊!!
作者: 安豆    时间: 2018-4-16 15:29
漠北骑兵KEN 发表于 2018-4-14 19:49
我又试了试,这个方法有个小缺点,就是当点的数量比较多的时候,比如有一千个,甚至上万的时候,电脑就会 ...

试下这个,这种处理方式似乎更快
[attach]49584[/attach]

作者: 漠北骑兵KEN    时间: 2018-4-18 15:03
安豆 发表于 2018-4-16 15:29
试下这个,这种处理方式似乎更快

非常感谢,哈哈哈。。。厉害厉害!!
作者: 安豆    时间: 2018-4-18 17:10
本帖最后由 安豆 于 2018-4-18 17:26 编辑
漠北骑兵KEN 发表于 2018-4-18 15:03
非常感谢,哈哈哈。。。厉害厉害!!

最后那个点排序有点多余。。。不用那个排序那些点也有办法正确的排序[attach]49590[/attach]

作者: 漠北骑兵KEN    时间: 2018-4-18 18:40
安豆 发表于 2018-4-18 17:10
最后那个点排序有点多余。。。不用那个排序那些点也有办法正确的排序

最后那个点排序我自己调整了下,能用,再次感谢!!




欢迎光临 NCF参数化建筑论坛 (http://bbs.ncf-china.com/) Powered by Discuz! X3.2