我找到了一個不錯的算法來檢查三/三路口,但我想它,如果他們只是在沿着邊緣或邊緣(無重疊)某點相遇失敗。基本上要重疊,而且觸摸不夠。三角三角重疊(但不是邊緣)
任何人都知道如何調整它?
http://fileadmin.cs.lth.se/cs/Personal/Tomas_Akenine-Moller/code/opttritri.txt
ex。應該失敗
float a1[3] = { 0, 0, 0 };
float a2[3] = { 2, 0, 0 };
float a3[3] = { 0, 1, 0 };
float b1[3] = { 0, 0, 0 };
float b2[3] = { 2, 0, 0 };
float b3[3] = { 0, -1, 0 };
bool inters = NoDivTriTriIsect(a1, a2, a3, b1, b2, b3);
請注意,「觸摸邊緣」的數字穩定性較差。 –