设计一个三维向量类,并实现向量的加法、减法以及向量与标量的乘法和除法运算的Python代码
时间: 2024-12-21 18:21:33 浏览: 7
纹理坐标-python实现pdf转换成word/txt纯文本文件
在Python中,我们可以设计一个简单的三维向量类`Vector3D`,并实现基本的数学操作。这里是一个基础的实现示例:
```python
class Vector3D:
def __init__(self, x=0, y=0, z=0):
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 subtract(self, other):
return Vector3D(self.x - other.x, self.y - other.y, self.z - other.z)
# 标量乘法
def scale(self, scalar):
return Vector3D(self.x * scalar, self.y * scalar, self.z * scalar)
# 向量与标量的除法(实际上,这个操作不是标准数学意义上的除法,通常不推荐这样做)
def divide(self, scalar):
if scalar != 0:
return Vector3D(self.x / scalar, self.y / scalar, self.z / scalar)
else:
raise ZeroDivisionError("Cannot divide by zero")
# 使用示例
v1 = Vector3D(1, 2, 3)
v2 = Vector3D(4, 5, 6)
sum_vec = v1.add(v2) # [5, 7, 9]
diff_vec = v1.subtract(v2) # [-3, -3, -3]
scaled_vec = v1.scale(2) # [2, 4, 6]
divided_vec = v1.divide(2) # [0.5, 1, 1.5]
#
阅读全文