Как определить новый вектор в моем случае? - PullRequest
0 голосов
/ 26 августа 2011

Вероятно, это больше похоже на математический вопрос:

Если у меня есть вектор:

var origin = new Vector(x, y)

затем я хотел бы получить N субвекторов, каждый из субвекторов N получается путем добавления вектора origin с новым вектором, например:

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

Результат, которого я хотел бы достичь, показан на изображении ниже: enter image description here

Я хотел бы получить N субвекторов, которые находятся в одинаковом горизонтальном уровне и с интервалом "L" длины ,

Мои вопросы:

1. что такое новый вектор (Vector(m, n)) m , n значения, которые я должен использовать, чтобы получить все суб-векторы? ( 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)) m , n , чтобы убедиться, что расстояние между два соседних субвектора - это L , как показано на рисунке?

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

Поскольку первый из подвекторов может быть чем угодно (скажем, v = (v1, v2)), то вам нужно добавить первый подвектор, чтобы получить остальные.На каждой итерации вы добавляете вектор (L, 0):

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

и т. Д.

0 голосов
/ 26 августа 2011

Вам не нравится иметь больше точки, чем вектор?Я не вижу, чего вы добьетесь с этим.И если вы хотите иметь одинаковый горизонтальный уровень, вам просто нужно изменить параметр оси X, но не Y в 2D-пространстве.Я думаю (!) Это длина, которую вы должны добавить к параметру оси X:

subVector = new Vector (origing.X + Length, origing.Y)

Дайте мне знать, еслиЯ вас неправильно понял или это помогло.

Stef

...