Python中有Vector3类型吗?
我快速看了一下numPy,感觉它好像是把数组当作向量在用?我其实想要一个真正的Vector3类型,可以实例化并进行操作。
3 个回答
-1
我知道上面的回答已经被接受了。不过,如果你已经安装了numpy,你可以像下面这样使用array类。这个类重载了算术运算符,这样你就可以对数组中的所有值进行计算,感觉有点像在使用向量。
from numpy import array
vector3a = array([1,2,3])
vector3b = array([3,2,1])
print(vector3a + vector3b)
>>> array([4, 4, 4])
2
我觉得没有什么标准的东西(不过我可能错了,我对Python的了解不是很深入)。
不过实现起来非常简单,而且你可能想要在numpy数组的基础上构建,因为它能给你提供很多好用且高效的功能。
5
ScientificPython 有一个叫做 Vector 的类。比如说:
In [1]: from Scientific.Geometry import Vector
In [2]: v1 = Vector(1, 2, 3)
In [3]: v2 = Vector(0, 8, 2)
In [4]: v1.cross(v2)
Out[4]: Vector(-20.000000,-2.000000,8.000000)
In [5]: v1.normal()
Out[5]: Vector(0.267261,0.534522,0.801784)
In [6]: v2.cross(v1)
Out[6]: Vector(20.000000,2.000000,-8.000000)
In [7]: v1*v2 # dot product
Out[7]: 22.0