2010-03-10 64 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