Rhino3D犀牛中文网

标题: grasshopper用退火算法辅助套图 [打印本页]

作者: ckl11    时间: 2017-7-18 18:23
标题: grasshopper用退火算法辅助套图
grasshopper用退火算法辅助套图
这是我昨天的一点小研究,在这里分享给大家。套过图的朋友都知道这是一个靠经验的技巧,要套的准确要经过长时间的练习,这里我分享一个用grasshopper辅助套图的方法。文件用的是江湖一盏灯老师的套图课的课件。
(, 下载次数: 255)
先把大致关系套好,技巧课上有说,不用很准确,线条也不用很接近(上图是临时套的,这种程度其实过头了,自己把握吧),但也不能差得太离谱(差太远计算时间会很长),记录下焦距参数(这里是65)
(, 下载次数: 274)
接着要提取摄像机信息,gh没有直接的工具,我借助了Python来做,代码如下:
(, 下载次数: 290) (, 下载次数: 278)
以摄像机坐标和目标点分别做两个box,作为点的可取范围。
(, 下载次数: 256) (, 下载次数: 260) (, 下载次数: 285)
在视窗中拾取标记点(位置是准确的,由其他视图得出,数量不要太少,不要过于集中),记住顺序,用视窗四个角点成一张面,控制slider使准确位置的点对应在面上的点在视窗中与准确位置的点对应在底图的位置大致重合,这里要用一个球来观察(点在摄像机平面上看不见)
(, 下载次数: 274)
到这一步要小心,先停用Python运算器,左边的一列slider分别是在前面的两个box取点,焦距和镜头旋转,作为因子。前6个slider全部调为0.5,焦距取前面的值,取值范围上下浮动15,镜头旋转角度为0,上下浮动15. Python运算器用于实时调整视窗,并获取新的摄像机信息,再用四角点成一张面,用上面步骤记录下的uv坐标再次获取面上的点与拾取的点连线。用摄像机中心和拾取的点连线,用线跟偏移了一定距离的摄像机平面求交点,再求交点到对应上一步的连线的最近距离,全部距离累加,得到的值为优化结果。值越小套的越准。
(, 下载次数: 298) (, 下载次数: 284) (, 下载次数: 334)

调好参数后启用Python运算器,开始用退火算法优化,大概等待几分钟就有比较理想的结果出现了。求到最优解要很长时间,所以看到比较好的视角就可以了。所以说只要想做gh无所不能。最后附上高清电池图。
(, 下载次数: 259)




作者: daming    时间: 2017-7-18 20:14
好厉害!什么叫辅助套图?这个专业术语我不太懂,大神能简要说一下意义吗?
作者: 潜水的小鱼    时间: 2017-7-19 13:39
厉害了,感觉压力好大!
作者: Dixon    时间: 2017-7-25 16:58
用遗传算法来套图,感觉有点脑洞大开啊,呵呵




欢迎光临 Rhino3D犀牛中文网 (https://www.rhino3d.asia/) Powered by Discuz! X3.3