我正在尋找一種方法來確定光線是否與三角形碰撞以及與3D中碰撞點的距離。確定光線是否與三角形碰撞並與碰撞點有距離,在3D中
如下面的代碼或類似
float GetCollisionsoint(Vector3 RayPosition, Vector3 RayDirection, Vector3 a1, Vector3 a2, Vector3 a3)
{
}
在此先感謝的東西的方法!
哦,如果你現在想投我一票,請評論爲什麼讓我知道我做錯了什麼。
我正在尋找一種方法來確定光線是否與三角形碰撞以及與3D中碰撞點的距離。確定光線是否與三角形碰撞並與碰撞點有距離,在3D中
如下面的代碼或類似
float GetCollisionsoint(Vector3 RayPosition, Vector3 RayDirection, Vector3 a1, Vector3 a2, Vector3 a3)
{
}
在此先感謝的東西的方法!
哦,如果你現在想投我一票,請評論爲什麼讓我知道我做錯了什麼。
Dan Sunday提供了一個algorithm和一個參考實現。如果預先計算了三角形的正常和,v
向量,則算法會簡化爲內部(點)產品。如果預先計算的u
,v
,n
被歸一化,則存在進一步優化:即,<u,u> = <v,v> = 1
。
關於這個問題,在http://www.lighthouse3d.com/tutorials/maths/ray-triangle-intersection/以及一些示例代碼有很好的報道。
試試看[GeometricTools](http://www.geometrictools.com/)。 – Angew 2013-03-23 17:27:54
你知道如何解決2D問題嗎?也就是說,給定一個點和一個三角形的頂點,你能確定這個點是否在三角形內? – Beta 2013-03-23 17:29:15