Pon*_*ntz 6 algorithm geometry linear-algebra
我正在尝试将折叠折痕的2D草图转换为完整的3D表示.红线将是山谷和蓝山/山顶.我想计算变换/映射坐标{P1'... P8'}.我没有找到任何可以自动执行此操作的好软件,但我会很感激提示.
折叠为 a1 = a2 = a3 = 90度(π/ 2弧度)(折叠角度)和箭头为surfare法线
我正在使用Matlab,但我正在寻找解决这个问题的通用算法.
假设点P0在origo中固定,元素E1不会改变其坐标,我应该如何最好地描述转换?我应该使用非均匀或齐次坐标,极坐标吗?
例如,点P8取决于取决于角度的其他坐标.
我想我可以使用某种邻接矩阵来表示点(节点)和/或将每个元素与其节点配对的矩阵.例如:[E1 P0 P4 P5 P1; E2 P1 P5 P6 P2; ...]
每个坐标的变换是变换+旋转,变换取决于坐标/元素.但是连接几个元素会变得棘手......
如何将带有折叠图案的2D"纸张"整齐地转换为3D坐标?
您可以迭代每个折叠折痕,并计算位于折痕一侧的所有像素的变换。
您可以使用变换矩阵来计算折叠点的坐标。查看描述变换矩阵的维基百科文章。
首先,平移所有点,使折痕与轴对齐,然后根据折痕方向旋转折痕一侧的所有点。然后,您可以反转第一个平移,使图形返回到其原始位置。对下一个折痕重复该过程,直到完全折叠人物。
使用 matlab,矩阵计算非常容易执行。