2010-03-10 97 views
1

有點背景故事,目前我正在實現Expression2中的三角形渲染系統來創建.obj模型。查找三維空間中三角形高度的「腳」

我目前遇到的一個侷限性是我不能以舊式的方式創建多邊形,相反,我不得不創建等腰三角形,並將其中的一部分剪掉。

我目前的問題是,我正在研究如何以及在哪裏放置等腰三角形。 (我擁有一切好像已經整理出來的角度)

http://img22.imageshack.us/img22/3251/trianglem.png (忽略的藍色三角形)

V0,V1和V2 3座標在三維空間從而彌補了所需的三角形。

紅色線條是從v1開始的線條,沿着三角形的平面以直角與斜邊相交。我希望計算p1,它基本上是一個點,恰好在v1和高度與斜邊即「腳」之間的中點之間。

我目前的嘗試不起作用什麼那麼永遠

Dot = (v0-v1):dot(v0-v2) 
P1 = v0 + Dot*((v0-v2):normalized()) 

我感謝所有幫助。謝謝。

回答

0

我對你使用的語言沒有任何線索,我所討論的是,你在某個空間的某個地方有一定的三角形,並且你需要某個點的確切位置。

如果這是你想要什麼,我想一個好辦法是(在不存在的語言..):

PX = v0.x - 1.x版
PY = v0.y + v1.y/2
PZ = v0.z + v1.z/2

我希望它有助於..張貼的東西我絕對不知道答案,只是想幫助遺憾=)

+0

語言並不重要:P,問題背後的數學是一樣的。無論我會給你的等式去,謝謝。 – Fascia 2010-03-10 15:25:25

+0

Do'h,沒有效果,三角形可以是3D空間中的任何方向,因此採用v1的Z值將無法工作。儘管感謝您的幫助。 – Fascia 2010-03-10 15:30:40

+0

好吧,我以爲所有的東西都在同一個計劃中(vx.z = 0),但是因爲它不是必需的,所以我編輯了它。 – Marcelo 2010-03-10 16:28:50