python三维向量运算_使用Python编写一个三维向量,实现向量的加法减法,点乘叉乘...

本文介绍了一个简单的三维向量类的实现,包括向量的加法、减法、点乘及叉乘运算,并提供了实例演示。

#  --coding: gb2312--

class vector3:

def __init__(self, x_ = 0, y_ = 0, z_ = 0): #构造函数

self.x = x_

self.y = y_

self.z = z_

def __add__(self, obj): #重载+作为加号

return vector3(self.x+obj.x, self.y+obj.y, self.z+obj.z)

def __sub__(self, obj): #重载-作为减号

return vector3(self.x-obj.x, self.y-obj.y, self.z-obj.z)

def __mul__(self, obj): #重载*作为点乘

return vector3(self.x*obj.x, self.y*obj.y, self.z*obj.z)

def __pow__(self, obj): #重载**作为叉乘。不好,偏离了常理上的意义,可以考虑重载其他符号,或者直接写函数。

return vector3(self.y*obj.z-obj.y*self.z, self.z*obj.x-self.x*obj.z, self.x*obj.y-obj.x*self.y)

def __str__(self): #供print打印的字符串

return str(self.x)+','+str(self.y)+','+str(self.z)

v1 = vector3(1, 2, 3)

v2 = vector3(0, 1, 2)

print v1 + v2

print v1 - v2

print v1 * v2

print v1 ** v2

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值