我正在尝试在C中实现一个算法,其中我有一个由3或4个元素组成的数组,每个元素代表一个向量(3D)。
当我有3个元素时,我只绘制一个三角形,数组中的元素(矢量)作为其角点。当我的数组中有4个元素时,它代表一个四元组。但由于我只能绘制三角形,我需要将四边形分成两个三角形。
由于四边形有0,1,2,3作为其角点,我将其分成两个三角形,其中0,1,2和2,3,0为角点。但是现在我似乎有时会丢失信息,所以我认为我不能总是这样划分四边形。有没有什么算法可以解决这个问题?
提前致谢!
答案 0 :(得分:4)
四边形最多可以有一个凹角。如果它有一个,分裂线必须在这个角和相反的角之间。因此,您首先需要检查四边形是否有凹角。
您的问题也可能由自相交的四边形引起。