2011-08-26 84 views
0

这可能更像是一个数学问题:如何在我的情况下定义新的矢量?

如果我有一个向量:

var origin = new Vector(x, y) 

的话,我想获得ň子载体中,ñ子向量的每一个通过添加origin载体与新的载体,像得了:

subVector = origin.add(new Vector(m, n)); 

结果我想实现的是显示在图像下方: enter image description here

我想获得Ñ这些都是同一水平LEVE由 “L” 长度间隔子矢量,

我的问题是:

1.什么是新载体(Vector(m, n)m,n值我应该用 得到所有的子矢量? (Ñ是动态值)

I end up with something like: 

    for(var i=0; i<N; i++){ 

     //But, how to select the m, n value here?? 
     var subVector = origin.add(new Vector(m, n)); 
    } 

2.如何选择新的载体(Vector(m, n)Ñ值以确保距离两者之间相邻的子向量是L如图所示?

+0

你是正确的 - 这是在这里使用载体表达一个数学问题。我不是数学家,但它可能在集合论或类似的领域。为什么不在[math.stackexchange.com](http://math.stackexchange.com/)上提问以找出你正在尝试做什么的算法,然后在你遇到编码该算法的麻烦时再回来你的软件? – razlebe

+0

是的,这是一个数学问题 - 但我真的不明白你的需要。例如 - 你能否就你的“起源” - 矢量精心设计“横向”?因为像“水平”/“垂直”这样的想法,你需要一个基础,但是你只给出了这样一个基础的起源“或者我猜测”。你的图片建议“水平”只是“相同的y值”,而你是笛卡尔坐标基。但是接下来的答案很简单 - 给定子向量s1,s2只需将(s2-s1)的倍数添加到s2就可以得到其他的结果 - 根本不需要原始数据 – Carsten

回答

0

难道你不喜欢比矢量更多的一点吗?我看不到你会用它达到什么。如果你想拥有相同的水平面,你只需要改变x轴参数而不​​是2D空间中的y。 我想这是你必须添加到您的X轴参数lenght(!):

子向量=新的向量(origing.X +长度,origing.Y)

让我知道如果我得到你错误或有帮助。

燕姿

2

因为第一子向量可以是任何东西(比如V =(V1,V2)),那么你需要添加到第一子向量,以获得他人。在每次迭代中添加矢量(L,0):

var secondSubvector = firstSubvector.add(new Vector(L, 0))

相关问题