如何确定3D顶点的排序

Sur*_*ith 1 math

如果我在3D坐标空间中有5个顶点,我如何确定这些顶点的顺序.即顺时针或逆时针.

如果我详细说明这个,

我有一个由多边形组成的3D模型.每个多边形都是顶点集合,我想计算多边形表面的范数.要计算范数,我必须以逆时针顺序考虑顶点.我的问题是给定顶点集如何确定它是顺时针还是逆时针排序?


这是用于导航网格生成,我想删除代理无法行走的多边形.为此,我的方法是计算表面范数(多边形的垂直向量)并根据与2D平面的角度移除多边形.为了计算标准,我应该知道排列的顺序点.因此,对于多边形中给定的点集,我如何确定点的排列顺序.

防爆.

polygon1由Vertex1 = [-21.847065 -2.492895 19.569759],Vertex2 [-22.279873 1.588395 16.017160],Vertex3 [-17.234818 7.132950 7.453146]这3个点组成,如何确定它们的顺序

Boo*_*jum 9

正如其他人所说,你的问题并不完全清楚.对于类似3D背面剔除测试的东西?如果是这样,您需要一个点来确定相对于的缠绕方向.从多边形的一侧看,顶点看起来顺时针旋转.从另一侧看,它们似乎逆时针缠绕.

但是假设你的多边形是凸的并且是正确的平面.取任意三个连续的顶点A,B和C.然后您可以使用叉积找到表面法向量:

N = (B - A) x (C - A)
Run Code Online (Sandbox Code Playgroud)

将法线的点积与给定视点中的矢量V一起取到一个顶点将给出一个值,其符号表示从V看时顶点看起来的风向:

w = N . (A - V)
Run Code Online (Sandbox Code Playgroud)

顺时针方向是正向还是逆时针方向为负,或者相反取决于坐标系的旋向性.