我有一个算法,它可以在一个平面和包含该平面的立方体的边之间生成三到六个交点。为了绘制平面(绘制多边形),OpenGL需要按下图所示的顺序排列顶点:
如果顶点是无序的,则可以绘制以下结果:
编辑:我找到了这个question,但我不知道如何用Python编写它,这也不是我所需要的
kxe2p93d1#
如果点被建立为平面和立方体的边之间的交点,那么它们形成凸多边形。要正确排序此多边形的顶点,请将投影投影到某个平面上-或投影到截面平面上,或投影到OXY、OXZ、OYZ平面之一上-只需选择一个不垂直于截面平面的平面,并使相应的分量为零。然后选择该平面中最左边的点作为基点,并按相对于基点的极角对其他点进行排序。
1条答案
按热度按时间kxe2p93d1#
如果点被建立为平面和立方体的边之间的交点,那么它们形成凸多边形。
要正确排序此多边形的顶点,请将投影投影到某个平面上-或投影到截面平面上,或投影到OXY、OXZ、OYZ平面之一上-只需选择一个不垂直于截面平面的平面,并使相应的分量为零。
然后选择该平面中最左边的点作为基点,并按相对于基点的极角对其他点进行排序。