【问题标题】:Finding the 'foot' of an altitude of a triangle in 3D space在 3D 空间中查找三角形高度的“英尺”
【发布时间】:2010-03-10 15:15:30
【问题描述】:

一点背景故事,目前我正在致力于在 Expression2 中实现一个三角形渲染系统来创建 .obj 模型。

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

我目前的问题是我正在研究如何以及在何处放置等腰三角形。 (我已经整理好了角度之类的其他所有内容)

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

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

红线是从 v1 出发并沿三角形平面以直角与斜边相交的线。我希望计算 p1,它本质上是 v1 和高度与斜边相交处的中间点,也就是“脚”。

我目前的尝试并没有奏效:

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

感谢您的帮助。谢谢你。

【问题讨论】:

    标签: 3d polygon vector


    【解决方案1】:

    我不知道你使用的语言,我不明白的是你有一个特定的三角形,这些特定的线在空间的某个地方,你想要某个点的确切位置。

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

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

    我希望它有所帮助.. 很抱歉在我完全不知道的事情上发布答案,只是想提供帮助 =)

    【讨论】:

    • 语言无关紧要:P,问题背后的数学原理是一样的。不管怎样,我都会试试你的方程式,谢谢。
    • Do'h,不,这不起作用,三角形可以是 3D 空间中的任何方向,因此采用 v1 的 Z 值是行不通的。不过感谢您的帮助。
    • 好的,我以为一切都在同一个计划中(vx.z = 0),但由于并非如此,我已经对其进行了编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多