如图所示是一个构筑物,现在做到了每块板是平的,我想在尽量保证原来造型的基础上,将板的角度优化成几类,该怎样做到呢?整个构筑物是对称的,现给出一半的构筑物犀牛模型,犀牛文件如下。
板的角度优化.3dm (3.3 MB)
先统计一下当前三角形的边长和角度,用一定的误差范围去分类
有那么四种思路
1 自己实现类似Kmean之类的聚类算法
2 借助lunchbox插件内的相关分类算法
3 用point group电池简单分类
point group的思路是三角形的三条边长作为点的xyz坐标。(xyz先按大小排序)
随后point group会按照点和点的距离分组
分组完毕后,组内取一个平均值作为该类三角形的边长
然后每个三角片的边长就确定了,最后用kangaroo帮助将这些三角形拟合到最后的形状。
4 使用evolute插件
如图所示是一个构筑物,该构筑物是轴对称的,每块板是平的,我想把板与地面角度差不多的这类板优化成一样的尺寸,重新排列板的位置,拟合成接近原来的造型,该怎样做到呢?犀牛模型如下。
一半的壳体.3dm (3.3 MB)
板和地面角度差不多。也就是板基本和地面平行,看图的话一共也不超过十块。手工处理即可
以目前地球人的科技,几乎无法做到,或者说要做到的代价非常大。
看了你的这两个帖子,总结一下给一些建议和提示
你完全低估了这些所谓的“优化”,“拟合”类问题
他们要么就需要你有极其强悍的技术实力,丰富的实际项目经验,各方面功底都很扎实。要么你就借助价格昂贵的软件和插件(其实是相当昂贵)
这两者不论是固定成本,人力成本还是时间成本,都非常高。
所以千万不要指望通过在论坛发一个帖子,就能顺利解决这种可能会节约几万-几百万建造费用的问题。
这不遵循各个层面的守恒定律。
按照技术栈的先后顺序给你重新顺一下:
1:极小的概率你可以找到某种线性流程,没有任何迭代算法,可能包含简单循环(GH有循环插件)
2:有比较小的概率你可以用kangaroo解决,但前提是你的kangaroo必须滚瓜烂熟到某种程度
3:“重新排列板材位置”这层面的问题不是前两者可以解决的,如果对自己的代码有信心,甚至有独立设计算法的能力。你可以考虑自己写代码
4:试试看evolute插件的免费版本
5:试试看evolute插件的付费版本(得加钱)
6:付费版本的evolute已经凝结了你能想象到的人类智慧的结晶。如果还是解决不了,一般情况下会考虑请evolute或者其他有类似技术实力的团队,到你们项目这里驻场,针对性设计算法解决。这样的成本可能可以用“毫无优化的最土豪的办法”建造10个你的项目。
所以你高估了优化会给你带来的收益,低估了优化的难度
没有套路,没有捷径,没有插件,没有可能用帖子白嫖。
除非你将会面对的是工程量到一定程度的项目,优化可能节约的钱远远大于你为了优化可能付出的成本。
否则我建议你按照我刚说的技术栈逐条核对可行性和成本。