【问题标题】:computers mathematical finding value in triangle计算机在三角形中的数学查找值
【发布时间】:2014-04-11 18:02:58
【问题描述】:

具有顶点 (0,0,0)、(1,1,1)、(1,-1,2) 的 3D 三角形。 x=3, y=1的三角形中点的z值是多少? Z值怎么求?

【问题讨论】:

  • 你的意思是这三个点定义的平面吗? x = 3,y = 1的三​​角形中或上没有点。然而,这三个点确实定义了一个平面,并且平面上有一个具有这些 x 和 y 坐标的点。该点的z坐标为4。
  • 我需要知道如何找到这个或其他示例的 z 值
  • 在其中一个答案中,您继续询问三角形,即使很明显在 x=3 和 y=1 的三角形上或内部没有点。只需查看 x 值。其中一条腿连接 (0,0,0) 和 (1,1,1)。这条腿上的 x 坐标将介于 0 和 1 之间。另一条腿连接 (0,0,0) 和 (1,-1,2)。再一次,x 坐标介于 0 和 1 之间。第三条腿连接 (1,1,1) 和 (1,-1,2)。这里的 x 坐标是相同的。三角形上唯一的点的 x 坐标介于 0 和 1 之间,三角形中的点也是如此。

标签: math graphics computer-science


【解决方案1】:

只需使用 wolframalpha http://www.wolframalpha.com/input/?i=plane+through+%280%2C0%2C0%29%2C+%281%2C1%2C1%29%2C+and+%281%2C-1%2C2%29

飞机是 -3x + y + 2z = 0, 因此,z = 4。

【讨论】:

【解决方案2】:

这三个点定义的平面上的任意一点(x,y,z)都满足方程

       | 0  1  1  x |
       | 0  1 -1  y |
0 = det| 0  1  2  z |
       | 1  1  1  1 |

其中列是前三个坐标中的给定点和附加的第四个坐标 1,使其分别是齐次坐标。将向量标记为仿射点空间的点。

这可以通过通常的行列式操作来减少,这里主要是列操作,从所有其他列中减去第一列,从第三列中减去第二列 然后是第二个中的第三个

       | 0  1  0  x |
       | 0  3 -2  y |
0 = det| 0  0  1  z |
       | 1  0  0  0 |

然后在最后一列发展给出

0 = x*(3*1-(-2)*0)-y*(1*1-0*0)+z*(1*(-2)-0*3)
  = 3*x-y-2*z

使用提供的 x 和 y 坐标给出行列式(使用与以前相同的变换)

       | 0  1  0  3 |      | 0  1  0  0 ||
       | 0  3 -2  1 |      | 0  3 -2 -8 |
0 = det| 0  0  1  z | = det| 0  0  1  z |
       | 1  0  0  0 |      | 1  0  0  0 |

       | 0  1  0  0   | 
       | 0  3 -2  0   | 
  = det| 0  0  1  z-4 | 
       | 1  0  0  0   | 

如果 z=4 则为零,因此最后一列为零。


作为一种通用的计算机算法,对z的具体值计算行列式两次,这样矩阵就没有变量,只有数字作为分量;一次对于 z=0 给出 D0,然后对于 z=1 给出值 D1。那么要求解的方程是

D0+D1*z=0  or  z=-D0/D1

【讨论】:

  • 我不清楚>>我需要我们如何在任何示例的 3d 三角形“方法”中找到 z 值!thanx
  • 计算行列式 D0 和 D1,然后计算 z=-D0/D1。但这并不能告诉您该点是否在三角形内。转换为重心坐标以获得简单的条件。
  • @user3182898 - 我很清楚。点 x=3, y=1 没有 z 值,因为在三角形上或三角形中没有具有这些 x 和 y 分量的点。 你问的是平面还是三角形
  • 这仅从 x 坐标可见。三个给定点的 x 坐标为 0 和 1,因此三角形内的任何点的 x 都必须介于 0 和 1 之间。单独的 y 坐标告诉我们三角形中除角点 (1,1,1) 之外的任何点y 小于 1,所以 (3,1,z) 不能在三角形内。但是这类参数只定义了一个围绕三角形的矩形框,它们是必要的,但还不够。
【解决方案3】:

在三维空间中,平面的方程是所有满足(pa)·n = 0的点p的集合,其中a em>是平面上的已知点,n是垂直于平面的向量,(pa)·npa 和法线向量 n。在这种情况下,原点已知在平面上,因此这简化为 p·n = 0。

我们需要做的就是找到一个正常的,这很容易。使用向量叉积。给定三维空间中三个非共线点abc,向量n = (ba) × (ca) 垂直于由 abc 定义的平面。在这种情况下,再次使用三个点之一是原点这一事实,这简化为 {1,1,1} × {1,-1,2} = {3,-1,-2}。

因此,由点 (0,0,0)、(1,1,1)、(1,-1,2) 定义的平面由 {x,y,z 给出}·{3,-1,-2} = 0,或 3x-y-2z=0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多