Python 三维向量类实现: 加减、乘除运算与长度计算
以下是一个 Python 实现的三维向量类:
class Vector3D:
def __init__(self, x, y, z):
self._x = x
self._y = y
self._z = z
def __add__(self, other):
return Vector3D(self._x + other._x, self._y + other._y, self._z + other._z)
def __sub__(self, other):
return Vector3D(self._x - other._x, self._y - other._y, self._z - other._z)
def __mul__(self, scalar):
return Vector3D(self._x * scalar, self._y * scalar, self._z * scalar)
def __truediv__(self, scalar):
return Vector3D(self._x / scalar, self._y / scalar, self._z / scalar)
@property
def length(self):
return (self._x ** 2 + self._y ** 2 + self._z ** 2) ** 0.5
该类包括一个构造函数和五个特殊方法。构造函数用于创建一个三维向量对象,接受三个参数 x、y、z,分别表示向量在三个坐标轴上的分量。特殊方法 __add__ 和 __sub__ 分别实现了向量之间的加和减运算,使用运算符 + 和 -。特殊方法 __mul__ 和 __truediv__ 分别实现了向量与标量之间的乘和除运算,使用运算符 * 和 /。特殊方法 __mul__ 实现了标量乘向量,特殊方法 __truediv__ 实现了向量除以标量。属性 length 实现了向量长度的计算,使用勾股定理计算向量长度。
原文地址: https://www.cveoy.top/t/topic/nKqJ 著作权归作者所有。请勿转载和采集!