3d 查找';脚';在三维空间中三角形的高度

3d 查找';脚';在三维空间中三角形的高度,3d,polygon,vector,3d,Polygon,Vector,有一点背景知识,目前我正在Expression2中实现一个三角形渲染系统来创建.obj模型 我目前遇到的一个限制是,我不能用老式的方式创建多边形,而是必须创建等腰三角形,并将其部分切掉 我现在的问题是,我正在研究如何以及在哪里放置等腰三角形。(我已经整理好了其他所有东西,比如angle) (忽略蓝色三角形) v0、v1和v2是3D空间中的3个坐标,构成所需的三角形 红线是从v1开始的一条线,沿着三角形平面以直角与斜边相交。我想计算p1,它本质上是v1和高度与斜边相交的地方,也就是“脚”的中间点

有一点背景知识,目前我正在Expression2中实现一个三角形渲染系统来创建.obj模型

我目前遇到的一个限制是,我不能用老式的方式创建多边形,而是必须创建等腰三角形,并将其部分切掉

我现在的问题是,我正在研究如何以及在哪里放置等腰三角形。(我已经整理好了其他所有东西,比如angle)

(忽略蓝色三角形)

v0、v1和v2是3D空间中的3个坐标,构成所需的三角形

红线是从v1开始的一条线,沿着三角形平面以直角与斜边相交。我想计算p1,它本质上是v1和高度与斜边相交的地方,也就是“脚”的中间点

我当前的尝试不起任何作用:

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

谢谢你的帮助。多谢各位

我不知道你在用什么语言,我了解的是,你在一个空间的某个地方有一个三角形和这些线,你需要某个点的确切位置

如果这是您想要的,我想一个好的方法是(用不存在的语言):

p.x=v0.x-v1.x
p.y=v0.y+v1.y/2
p.z=v0.z+v1.z/2


我希望这会有帮助。。很抱歉在我完全不知道的问题上贴了一个答案,只是想帮助一下=)

语言其实并不重要:p,问题背后的数学原理是一样的。不管怎样,我会试试你的方程,谢谢。不,那不行,三角形可以是三维空间中的任何方向,所以取v1的Z值是行不通的。谢谢你的帮助。好的,我以为所有的东西都在同一个计划中(vx.z=0),但是因为没有必要,所以我编辑了它。