如下图所示,立方体的横截面可以是:
假设我们得到一个六边形。我们可以得到交叉平面与立方体每一侧的交点,并得到六边形
ABCDEF
。问题是:如何对交点进行排序,以便将六边形ABCDEF
划分为4个三角形ABC
,ACD
,ADE
和AEF
。请注意,点的顺序非常重要,因为如果顺序错误,我将无法绘制点。我想将它们分成三角形,因为我想在OpenGL中可视化它们。
非常感谢@HugoRune的回答。在这里,我想与大家分享一些结果。左图是3D体积的横截面(从任意角度看)。右图是3D体积maximum intensity projection的结果。
最佳答案
相交是一个凸多边形,因此任何适用于凸多边形的排序也将在此处起作用。
特别是:
(符号角==角(ZA,ZP)*符号(n点(ZA十字ZP))
关于algorithm - 计算立方体的横截面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20387282/