耳夹 - 正确的视角

时间:2014-07-27 11:03:14

标签: c++ algorithm opengl perspective

我正在使用OpenGL。现在我正在使用耳夹算法编写3D模型加载器。 我的主要问题是我应该使用哪个轴。我有3个选项:(X Y),(Z Y),(X Z)。 例如,如果我有一个四 - 4点 - (1,1,0)(-1,1,0)(-1,-1,0)(1,-1,0)我需要(XY)因为所有的Z都是相同的。

所以我一直在尝试编写一些可以知道我需要什么2轴的代码。它检查其中一个轴是否与其他轴相同。

但是这个代码只有在一个轴相同时才有效。当倾斜的多边形代码不起作用。所以我在代码中添加了一个函数检查,检查同一行上是否所有顶点,然后我得到了这个多边形,我的代码失败了:

...

你可以看到顶部是顶点,在右边的一个顶点和底部有3个顶点。如你所见(X Z)是正确的轴,我应该好。 如果你看(Z Y)轴,你可以看到:

...

左边有一个顶点,中间有一个顶点,右边有3个顶点。并非所有顶点都在同一条线上,我无法检查我应该使用哪个轴。因为如果我将使用(Z Y)轴,则耳夹算法将不起作用。

我怎么知道我应该使用哪个2轴?我正在使用C ++。

0 个答案:

没有答案