计算使用两个点模型压痕深度? [重复](Calculate depth of indentati

2019-11-05 09:35发布

这个问题已经在这里有答案 :

通过光线投射一个可以选择上GameObjects对撞机的一个点。 在短期视觉两个点表示用小球表示用户选择。 欲望是计算的模型压痕任何部位的深度。 当前的想法是使用其中用户选择了压痕的深度和它的外部的点不是计算使用Vector数学深度内的点的系统。

截至目前,提供给我们的信息是在空间中的两个点(载体)和它们之间的距离。 我们如何使用上述数据来计算垂直深度点一个点? 以为是如果这一点是可计算比深度将是这两个点之间的距离。 如何去这个问题,是不是可行?

视觉:

Answer 1:

我不认为这2点是不够的。 你,看到整个场景,知道这两个点所在,所以你可以看到的最短距离(垂直)段方向的飞机。 但是,仅仅两个点有无穷多个其他有效的飞机通过他们去。 你唯一能说的事情是,深度由这两个点之间的距离的约束。

考虑下面的例子:一个点A(0,0,0)B(2,1,0) 有多深压痕? 答案是:你不知道。

首先假设的平面是(平面a包含该点A和平面b包含该点B ):

  • aX = 0bX = 2 。 然后压痕深度显然是2。
  • aY = 0bY = 1 。 然后压痕深度显然是1。
  • 最后,如果aZ = 0bZ = 0 。 然后压痕深度显然是0。

实际上改变了飞机的方向,你可以得到之间的任何深度0之间的距离, AB

我看到的唯一解决方案是通过在该平面上选择3点固定两个平面中的至少一个。 然后问题就变得微不足道。 有3点,你找到的一种形式的平面方程

a*x + b*y + c*z + d = 0

然后从一个点的距离(x1,y1,z1)于该平面是

dist = (a*x1 + b*y1 + c*z1 + d)/sqrt(a^2+b^2+c^2)


文章来源: Calculate depth of indentation in model using two points? [duplicate]