【问题标题】:manipulating distance between two vectors操纵两个向量之间的距离
【发布时间】:2013-02-15 04:20:15
【问题描述】:

我很难控制两点之间的距离。

给定 A 和 B 的 x y z 坐标,并且知道它们的距离,我怎样才能增加或减少这个距离以保持两点之间的角度?

假设A点在0、0、0,B点在3、3、0。

我能够计算出两点之间的距离为 4.242。

我需要能够在 X 的同一切线上进一步“推动”点 B。有什么想法吗?

提前致谢。

【问题讨论】:

  • 你不能将 B 的每个坐标与相同的标量相乘吗?
  • 我同意@SajitKunnumkal,如果你将向量乘以一个标量,它的方向应该被保留。
  • @SajitKunnumkal 仅在 A 点为原点时才有效。否则 B 的标量乘法将改变 A 和 B 之间的角度。
  • 你说得对……让我想想

标签: vector distance


【解决方案1】:
  • B中减去A,得到向量D,表示从AB的距离和方向

    D = B - A
    
  • 将 D 乘以您的标量 x 以将其从 A 沿同一方向进一步推:(我将您的 X 更改为 x 以强调它是一个标量)。

    D' = xD
    
  • 获取新点B',它与 A 方向与 B 方向相同,但距离更远(假设为 x > 1):

    B' = A + D'
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    相关资源
    最近更新 更多