9
我有一個3D點列表。我知道他們都是共面的。我有我想要分類的中心,以及點和中心所在平面的法線。我如何測試一點是否正確(或左)另一點?將三維共麪點的列表排序爲順時針或逆時針
我明白如何在2D中做到這一點。 Sort points in clockwise order?解釋如何比較2d點。所以我認爲我需要以某種方式將所有點和中心轉化爲局部2d平面座標。我怎樣才能做到這一點?這是解決這個問題的最有效的方法嗎?
//from link:
// a and b are points
//center is the center around which to determine order
//int num = (a.x-center.x) * (b.y-center.y) - (b.x - center.x) * (a.y - center.y);
//if num=0 then they're on the same line
//if num <0 or num>0 then a is to the left or right of b
我該如何適應這個來處理3d共麪點?
「順時針」在3-d中沒有意義,因爲它取決於你在哪個方向看飛機。翻轉飛機,突然順時針逆時針旋轉。 – 2013-01-17 01:54:14
@woodchips這個問題並不是3-d所特有的。並非所有二維座標系統都以相同的方式定義。在這兩種情況下,你只需要定義什麼是「順時針」。 – DuckMaestro
我明白你在說什麼,知道這是一件好事。你認爲指定飛機的正常方向可以解決這個問題嗎?現在順時針方向對我來說也不是很重要,但我仍然需要按照一致的方向排序。 – AAB