這裏有一些扭曲的三角棱鏡的例子。有一個扭曲的三角形棱鏡的兩個三角形的座標,我怎麼知道一個點是否在它內部?
我想知道,如果移動的三角形將達到某一個點。這就是爲什麼我需要解決這個問題。
的想法是,用隨機座標的三角形變成了其他隨機三角形的頂點動彈然後
相關之間:How to determine point/time of intersection for ray hitting a moving triangle?
這裏有一些扭曲的三角棱鏡的例子。有一個扭曲的三角形棱鏡的兩個三角形的座標,我怎麼知道一個點是否在它內部?
我想知道,如果移動的三角形將達到某一個點。這就是爲什麼我需要解決這個問題。
的想法是,用隨機座標的三角形變成了其他隨機三角形的頂點動彈然後
相關之間:How to determine point/time of intersection for ray hitting a moving triangle?
我的一個學生在數學做出這個小動畫。
但是,它是否在一個特定的平滑扭曲,如在你的形象,取決於細節(率)的扭曲。
棱鏡不是平滑的,但它的邊。邊不能用兩個三角形表示,因爲它不能正確表示第一個三角形到另一個三角形的變化。感謝維基 –
讓我們底部三角形位於平面z = 0,其具有旋轉角0,頂三角形具有旋轉角Fi
。扭曲棱鏡的高度爲Hgt。
旋轉角度線性依賴於高度,所以在高度h
層具有旋轉角
a(h) = Fi * h/Hgt
如果點的座標(x,y,z)
,然後轉移指向z=0
和旋轉(x,y)
通過-a(z)
角座標繞軸線(rx, ry)
旋轉
t = -a(z) = - Fi * z/Hgt
xn = rx + (x-rx) * Cos(t) - (y-ry) * Sin(t)
yn = ry + (x-rx) * Sin(t) - (y-ry) * Cos(t)
然後檢查是否(xn, yn)
lies inside bottom triangle
不錯,但這種解決方案,如果三角形是相似的,並有相同的正常只會工作。這個想法是,用隨機座標的三角形變成了其他隨機三角爲從0到1 –
因子的功能,但你有沒有在您的初始後指定的隨機性,這就是爲什麼我覺得自由選擇方便的模式。 – MBo
你想知道這一點是否在扭曲棱鏡的某個水平截面內? – MBo
@MBo,如果水平段你指的是三角形共面的點的體積內,那麼是) –