我已经注意到在其他语言(如Java)中,存在Vector2d等具有乘法方法的对象。我将如何做与Actionscript 3相同?我知道Point或Vector3D类具有添加/减法方法,但都不提供乘法/除法方法。将两个Point对象相乘
将两个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));
此外,为什么乘法/除法将被排除在这些类之外?
编辑*下面是我在Java中已经看到的Vector2D类的链接:Java Vector2d multiply
确切地说,对于那些被包含在几何图书馆中的东西,它们必须具有几何解释。我不知道任何这样的笛卡尔坐标乘法的解释。标量产品与想到的最接近,但可以在线性代数库中找到,而不是几何图形库。 – jbasko 2009-09-25 10:54:23
还有当你想要创建一个曲面的法线向量时(阴影),这个十字产品是非常有用的。 – 2009-09-25 10:58:55
是的忘记了那个。虽然交叉乘积只针对R^3中的向量进行定义,而对于任何n> 0的IIRC,R^n都定义了标量乘积和标度。 – Dirk 2009-09-25 11:07:44