一个处理三维空间中向量和点的简单向量工具包

vectors的Python项目详细描述


更改

0.0.9
from __future__ import division添加到要使用的fix除法运算符 python 3.0中的真正除法,而不是经典除法。

向量

矢量是一个简单的库工具包,处理公共矢量和点 三维空间中的逻辑。

支持常用的矢量数学函数,包括:

  • 矢量大小
  • 与另一个向量或实数相加。
  • 乘另一个向量或实数。
  • 点积
  • 交叉/标量积
  • 矢量之间的角度
  • 检查两个矢量是否垂直、平行或不平行

Github Repository

安装

pip install vectors

文档

用法

有多种方法可以使用向量创建向量实例 模块

我们可以先初始化一些向量和点,调用它们的repsective 类构造函数如下。

fromvectorsimportPoint,Vectorv1=Vector(1,2,3)#=> Vector(1, 2, 3)v2=Vector(2,4,6)#=> Vector(2, 4, 6)p1=Point(1,2,6)#=> Point(1, 2, 3)p2=Point(2,0,2)#=> Point(2, 4, 6)

我们还可以使用列表创建点实例或向量实例 使用来自_list()的类方法。

components=[1.2,2.4,3.8]v=Vector.from_list(components)#=> Vector(1.2, 2.4, 3.8)

我们还可以使用 来自_Points()的ClassMethod。

v=Vector.from_points(p1,p2)#=> Vector(1, -2, -4)

我们还可以访问向量数组,将其与其他 图书馆。

v1.vector#=> [1, 2, 3]

震级

我们可以很容易地得到矢量的大小。

v1.magnitude()#==> 3.7416573867739413

添加

我们可以给一个向量加一个实数,或者计算两个向量的和 向量如下。

v1.add(2)#=> Vector(3.0, 4.0, 5.0)v1.sum(v2)#=> Vector(3.0, 6.0, 9.0)

两个方法都返回一个向量实例。

乘法

我们可以用实数乘向量。

v1.multiply(4)#=> Vector(4.0, 8.0, 12.0)

上面返回一个向量实例。

点积

我们可以找到两个向量的点积。

v1.dot(v2)#=> 0.0

我们也可以在点函数上使用角度θ。

v1.dot(v2.180)

点积返回实数。

交叉/标量积

我们可以找到两个向量的叉积。

v1.cross(v2)#=> Vector(0, 0, 0)

叉积返回一个向量实例,它总是垂直的 其他两个向量。

角度θ

我们还可以找到两个向量之间的θ角。

v1.angle(v2)#=> 0.0

角度是以度为单位的。

平行、垂直、非平行

我们可以检查两个向量是平行的、垂直的还是非平行的 彼此之间。

v1.parallel(v2)#=> Truev1.perpendicular(v2)#=> Falsev1.non_parallel(v2)#=> False

以上所有返回值都是真或假。

待办事项

  • 基于矢量工具箱创建解析几何工具箱。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java密钥安全如何确保密钥安全?   java Webelement屏幕截图错误   java Selenium:我正在使用Firefox版本46.01,并在显示的ECLIPSE错误消息中进行了测试   javascript Jquery自动完成不向java传递值   javajavax。坚持不懈persistenceexception eclipselink4002(eclipse持久性服务2.5.2.v 20140319   java检查大型HashMap是否包含键的最佳方法?   java如何解决连接mssql时的JNDI错误   modelandview内部重定向和重定向之间的java差异   swing如何处置未使用的JavaUI对象   java在数组中多次存储同一引用项,一次更改会影响所有引用项吗?   java项目Euler#14:为什么我的树形映射算法比暴力慢?   java如何使用不同的分隔符连接配置单元列   java在部署在不同服务器上的两个WAR之间共享pojo对象   Spring控制器中的java JSR303验证和获取@JsonProperty名称   java检查playstore是否安装了Android应用程序   java从一段字符串中选择一个单词?   当发生特定选择时显示组合框的java   大量调用后,构造函数中的JAVA数组复制速度异常缓慢   java无法使用KeyListner移动我的图像   使用Spring MVC和线程保存java实体