T.M. SoftStudio

feci quod potui, faciant meliora potentes

Программный интерфейс Sylvester API



Класс Vector



Статические методы:

  • Vector.create(elements) (вместо Vector можно использовать $V) — создает вектор из массива:

var v = Vector.create([6,2,9]);


  • Vector.i, Vector.j, Vector.k — создают единичные векторы:



  • Vector.Random(n) — создает случайный n-размерный вектор со значениями от 0 до 1.

  • Vector.Zero(n) — создает n-размерный пустой вектор.



Методы экземпляра класса:

  • add(vector) — складывает два одноразмерных вектора.

  • angleFrom(vector) — возвращает угол между двумя одноразмерными векторами.

  • cross(vector) — возвращает векторное произведение двух трехмерных векторов.

  • dimensions() - возвращает размерность векторов.

  • distanceFrom(vector) – вычитает два вектора:

a.distanceFrom(b) эквивалентно |a − b|


  • dot(vector) — возвращает скалярное произведение двух векторов.

  • dup() - возвращает копию вектора.

  • e(i) — возвращает элемент вектора по его индексу, начиная с 1.

  • each(iterator) — обеспечивает итератор вектора:

$V([4,9,3,6]).each(function(x, i) {

alert(i + ': ' + x);

});


  • eql(vector) — возвращает true, если два вектора равны.

  • indexOf(x) — возвращает позицию элемента, равного х.

  • inspect() - возвращает строковое представление вектора.

  • isAntiparallelTo(vector) — возвращает true, если угол между векторами равен 180 гр.

  • isParallelTo(vector) — возвращает true, если угол между векторами равен 0.

  • isPerpendicularTo(vector) — возвращает true, если угол между векторами равен 90 гр.

  • liesIn(plane) — возвращает true, если трехмерный вектор является точкой плана Plane.

  • liesOn(line) — возвращает true, если трехмерный вектор является точкой линии Line.

  • map(iterator):

var c = a.map(function(x, i) { return x + i; });


  • max() - возвращает наибольший элемент вектора.

  • modulus() - возвращает модуль вектора.

  • multiply(k) или x(k) — умножает элементы вектора на к.

  • reflectionIn(object) — a.reflectionIn(b) возвратит b + (b − a).

  • rotate(angle, axis) — вращает вектор вокруг оси. Для двухмерного вектора:

var a = $V([10,5]);

var b = $V([5,5]);

var c = a.rotate(Math.PI/2, b);

// c is the point (5,10)

Для трехмерного вектора ось должна быть линией Line.



  • round() - округляет элементы вектора.

  • setElements(els) – устанавливает элементы вектора согласно массива els.

  • snapTo(x) — устанавливает элементы, близкие к х в значение х.

  • subtract(vector) — вычитает два вектора.

  • to3D() - приводит двухмерный вектор к трехмерному с дополнительным элементом 0.

  • toDiagonalMatrix() - приводит вектор к матрице Matrix, диагональю которой служат элементы вектора.

  • toUnitVector() - возвращает вектор, модуль которого равен 1.