曲面排序和映射问题


,老师,我想让面板按照我画的这种规律依次排序,然后映射到下面依次排开的面板也和上面排序好的面板一一对应,现在卡在这里的。
123.gh (424.4 KB)

1:如果使用第三方插件,请将插件相关数据内置。
2:文件打开后计算时间很长,请设法精简计算,或者直接缩小计算范围,现在打开后直接卡死。建议归纳你的问题归纳成最小可调式/可运行程序,而不是将自己臃肿的一大段程序直接一股脑发上来。

提问的原则是让回答者用最小的代价可以复现你的程序。
直接把带着第三方插件的,计算量奇大无比的程序发上来。你这是在默认回答者需要花费相当长的时间来复现你的程序
他可能要卡住计算好久好久,还得下载你用的插件。
image
一个food4rhino都下载不到的插件。

初学者请先尽量掌握扎实的基础,少用第三方插件。
面对你这个数量级的问题,尽早学会各类优化计算速度的方法。



我根据你的图片猜测了一下你的需求。

其中问题的关键是排序,这里给你提供一个最简单粗暴的方式

你的截图底下几行按照这个逻辑是OK的,上面的排序就不一定能按照这个逻辑了,请自己根据项目需求设计。

好的老师,第一次提问,没有注意这些问题,你的方法我试一下

123.gh (418.4 KB)
,老师,现在照着你的方式做已经有一点雏形了,但是正如你所说,排序只有下面几行是规律的,上面的还是乱乱的。不知道老师能怎么解决这个排序问题。

前三排你的逻辑很清楚,是优先按照纵向,从下到上排序每一行。
然后每一行按照从左到右排序。

到了顶上混乱了,你问我怎么排序
那我就得问你了,为什么前三排要按照现在这个逻辑排序呢?你能回答出这个问题,那顶部混乱的部分你也可以想出排序的办法。

解决排序问题的是你不是我,
你是校长,给你一群小朋友要排序
你可以按照身高排序,也可以按照体重,还可以按照语文成绩数学成绩外语成绩排序。

现在你因为某种神秘的原因,一拍脑袋,想要按照语文成绩排序
排了几个人,发现剩下的一大群小朋友没参加过语文考试。
于是你就蒙了?找到了副校长,问他剩下的人怎么办

副校长一脸懵逼
”那校长你一开始为什么要用语文成绩排序呢?你如果说得出你的理由,我就帮你想办法,你要是说不出理由,不如我们用身高排序吧?“

老师我知道你是让我换种逻辑去思考这个问题,可能我案例做的太少了,缺少逻辑思维,我还是想不出来 - -!哎

你可能没理解我的意思
一步步来
为什么你要对这些板材进行排序?先回答自己这个问题。

排序的目的是什么?做程序不能漫无目的凭感觉,都得凭逻辑,这个和你当前掌握的某软件的技能和经验没啥关系
是一种思维方式,这比你会几个电池可重要多了

再或者我进一步简化
“不排序,随机在下面展开会怎样?会发生什么问题吗?”


只要在每个板材上编号,工人都能看懂吧?

思考这个问题,可能对你来说简单一点

只要板材编上号当然没问题,我只是想做的更规整一些,这样工人装好一号就会知道下一块找二号板子了。

那么你认为比较方便工人排序的逻辑是什么样子的呢?


比如排序成这样就行,但是现在映射到下面的又会出问题,应该是原本的板材并没有和排序好的点关联起来

顶部的情况无非就是两种


蓝色:两侧行高不完全相同
绿色:顶部板材的高度递减导致中心点不是水平

目前的算法面对上面的部分,能获得的解决方案就是你发的下图
image


请你描述一下具体乱在哪里,想怎么改进?

如果是我之前的行列优先算法排序


n能够排列正确的一定是蓝色区域,而如果撇开红色区域,绿色区域的关系也应该是正确的
唯一可能导致问题的就是红色区域和右侧的关系,可能存在少许的错位
至于如何错位,(我猜就是你前面描述的“乱”)请你发截图。

如果是工人施工,你可以评估一下他到底影响多大?有没有大到需要你费点功夫重新设计新的排序逻辑?

如果一定要按照某种固定逻辑排列
以下做法可以参考

先画红色辅助线

如果你的红色线方向和顺序都可以保证的话,前面的排序也可以省略

2 个赞