Я заметил на других языках, таких как Java, что есть такие объекты, как Vector2d, которые имеют метод умножения. Как мне сделать то же самое с ActionScript 3? Я знаю, что классы Point или Vector3D имеют методы add/substract, но не предлагают методы multiply/divide.Умножить объекты с двумя точками
Каков наилучший способ размножения двух объектов Point? было бы что-то вроде следующего?
var p1:Point = new Point(10, 20);
var p2:Point = new Point(30, 40);
var p3:Point = new Point((p1.x * p2.x), (p1.y * p2.y));
Кроме того, почему размножение/разделение должно быть исключено из этих классов?
EDIT * Вот ссылка на класс Vector2d я видел в Java: Java Vector2d multiply
Точно, для таких вещей, которые должны быть включены в геометрическую библиотеку, они должны иметь геометрическую интерпретацию. Я не знаю такой интерпретации для умножения декартовых координат. Скалярный продукт близок к тому, что приходит на ум, но это может быть найдено в библиотеках линейных алгебр, а не в геометрических. – jbasko
Также есть кросс-продукт, который очень полезен, когда вы хотите создать нормальный вектор поверхности (для затенения). –
Да, забыл об этом. Перекрестное произведение определено только для векторов в R^3, хотя скалярное произведение и масштабирование определены для R^n для любого n> 0, IIRC. – Dirk