【问题标题】:Drawing two vector at two points parallel to each other在相互平行的两点绘制两个向量
【发布时间】:2016-04-12 08:20:24
【问题描述】:

考虑一个向量,A= [0.13, 0.98, 0.05]

如何绘制一个向量 B,它与 A 平行但在点 P = [155, 156, 52],向量B的原点。

我在MATLAB中尝试如下,

pts = [O; A]; %   O= [0 0 0]
line(pts(:,1), pts(:,2), pts(:,3))

B = A*10; % Multiplied B by any scalar (e.g. 10) to get a vector parallel to A  
hold on
pts = [P; B]; % PB vector parallel to OA
line(pts(:,1), pts(:,2), pts(:,3))

你会纠正我吗?

% ****************** 更多解释********

         E = cross(B,C); 

所以需要在 P 点绘制三个向量(B、E、C)。我完全卡在这里

【问题讨论】:

  • 在你的问题中,A 是一个向量,3 个值是坐标吗?如果是这样,您不需要 2 对来创建向量吗?
  • 是的,A 是一个三值坐标 (x,y,z)。我无法抓住你的观点?你能让我清除它吗@GameOfThrows
  • 那么你的另一点是原点吗?
  • 我想画一个新的向量,它是向量,A 或平行于 P 处的 A,以 P 为原点

标签: matlab math multidimensional-array graph graphics


【解决方案1】:

你有线段和向量的第一个点(它定义了线段的方向和长度)。

要得到第二个点,你必须将向量添加到第一个点:

pts = [P; P + B];
for your data
P = [155, 156, 52]
B =  [1.3, 9.8, 0.5]
P + B = [156.3, 165.8, 52.5]

向量/点算法的一些规则:

Vector = Point - Point
there is no point addition operation
Point = Point +/- Vector
Vector = Vector +/- Vector
Vector = Scalar * Vector
//more complex rules for multiplication

【讨论】:

  • 你能解释一下吗? @MBo
  • @Joe Done(我希望)
  • 我还没做。感谢您的指正。我已经编辑了这个问题。请在我的查询中阅读更多解释 - 我已经添加了更多解释我想要做什么。抱歉之前的帖子。到MBo
  • 我不明白“更多解释”。最初的帖子很清楚,我给出了完整的答案。矢量 B 与 A 平行,现在变为垂直(交叉)...
  • 也许最好描述真正的问题,而不是你(可能很奇怪)的解决方法。
猜你喜欢
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 2020-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-22
  • 2021-03-04
相关资源
最近更新 更多