pyacs.lib.euclid module
euclid graphics maths module
Documentation and tests are included in the file “euclid.rst”, or online
at https://github.com/ezag/pyeuclid/blob/master/euclid.rst
-
class
pyacs.lib.euclid.Vector2(x=0, y=0)[source]
Bases: object
-
x
-
y
-
copy()
-
magnitude()
-
magnitude_squared()[source]
-
normalize()[source]
-
normalized()[source]
-
dot(other)[source]
-
cross()[source]
-
reflect(normal)[source]
-
angle(other)[source]
Return the angle to the vector other
-
project(other)[source]
Return one vector projected on the vector other
-
class
pyacs.lib.euclid.Vector3(x=0, y=0, z=0)[source]
Bases: object
-
x
-
y
-
z
-
copy()
-
magnitude()
-
magnitude_squared()[source]
-
normalize()[source]
-
normalized()[source]
-
dot(other)[source]
-
cross(other)[source]
-
reflect(normal)[source]
-
rotate_around(axis, theta)[source]
Return the vector rotated around axis through angle theta. Right hand rule applies
-
angle(other)[source]
Return the angle to the vector other
-
project(other)[source]
Return one vector projected on the vector other
-
class
pyacs.lib.euclid.Matrix3[source]
Bases: object
-
copy()
-
identity()[source]
-
scale(x, y)[source]
-
translate(x, y)[source]
-
rotate(angle)[source]
-
classmethod
new_identity()[source]
-
classmethod
new_scale(x, y)[source]
-
classmethod
new_translate(x, y)[source]
-
classmethod
new_rotate(angle)[source]
-
determinant()[source]
-
inverse()[source]
-
a
-
b
-
c
-
e
-
f
-
g
-
i
-
j
-
k
-
class
pyacs.lib.euclid.Matrix4[source]
Bases: object
-
copy()
-
transform(other)[source]
-
identity()[source]
-
scale(x, y, z)[source]
-
translate(x, y, z)[source]
-
rotatex(angle)[source]
-
rotatey(angle)[source]
-
rotatez(angle)[source]
-
rotate_axis(angle, axis)[source]
-
rotate_euler(heading, attitude, bank)[source]
-
rotate_triple_axis(x, y, z)[source]
-
transpose()[source]
-
transposed()[source]
-
classmethod
new(*values)[source]
-
classmethod
new_identity()[source]
-
classmethod
new_scale(x, y, z)[source]
-
classmethod
new_translate(x, y, z)[source]
-
classmethod
new_rotatex(angle)[source]
-
classmethod
new_rotatey(angle)[source]
-
classmethod
new_rotatez(angle)[source]
-
classmethod
new_rotate_axis(angle, axis)[source]
-
classmethod
new_rotate_euler(heading, attitude, bank)[source]
-
classmethod
new_rotate_triple_axis(x, y, z)[source]
-
classmethod
new_look_at(eye, at, up)[source]
-
classmethod
new_perspective(fov_y, aspect, near, far)[source]
-
determinant()[source]
-
inverse()[source]
-
get_quaternion()[source]
Returns a quaternion representing the rotation part of the matrix.
Taken from:
http://web.archive.org/web/20041029003853/http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q55
-
a
-
b
-
c
-
d
-
e
-
f
-
g
-
h
-
i
-
j
-
k
-
l
-
m
-
n
-
o
-
p
-
class
pyacs.lib.euclid.Quaternion(w=1, x=0, y=0, z=0)[source]
Bases: object
-
w
-
x
-
y
-
z
-
copy()
-
magnitude()
-
magnitude_squared()[source]
-
identity()[source]
-
rotate_axis(angle, axis)[source]
-
rotate_euler(heading, attitude, bank)[source]
-
rotate_matrix(m)[source]
-
conjugated()[source]
-
normalize()[source]
-
normalized()[source]
-
get_angle_axis()[source]
-
get_euler()[source]
-
get_matrix()[source]
-
classmethod
new_identity()[source]
-
classmethod
new_rotate_axis(angle, axis)[source]
-
classmethod
new_rotate_euler(heading, attitude, bank)[source]
-
classmethod
new_rotate_matrix(m)[source]
-
classmethod
new_interpolate(q1, q2, t)[source]
-
class
pyacs.lib.euclid.Geometry[source]
Bases: object
-
intersect(other)[source]
-
connect(other)[source]
-
distance(other)[source]
-
class
pyacs.lib.euclid.Point2(x=0, y=0)[source]
Bases: pyacs.lib.euclid.Vector2, pyacs.lib.euclid.Geometry
-
intersect(other)[source]
-
connect(other)[source]
-
x
-
y
-
class
pyacs.lib.euclid.Line2(*args)[source]
Bases: pyacs.lib.euclid.Geometry
-
p
-
v
-
copy()
-
property
p1
-
property
p2
-
intersect(other)[source]
-
connect(other)[source]
-
class
pyacs.lib.euclid.Ray2(*args)[source]
Bases: pyacs.lib.euclid.Line2
-
p
-
v
-
class
pyacs.lib.euclid.LineSegment2(*args)[source]
Bases: pyacs.lib.euclid.Line2
-
magnitude_squared()[source]
-
property
length
-
p
-
v
-
class
pyacs.lib.euclid.Circle(center, radius)[source]
Bases: pyacs.lib.euclid.Geometry
-
c
-
r
-
copy()
-
intersect(other)[source]
-
connect(other)[source]
-
tangent_points(p)[source]
-
class
pyacs.lib.euclid.Point3(x=0, y=0, z=0)[source]
Bases: pyacs.lib.euclid.Vector3, pyacs.lib.euclid.Geometry
-
intersect(other)[source]
-
connect(other)[source]
-
x
-
y
-
z
-
class
pyacs.lib.euclid.Line3(*args)[source]
Bases: object
-
p
-
v
-
copy()
-
property
p1
-
property
p2
-
intersect(other)[source]
-
connect(other)[source]
-
class
pyacs.lib.euclid.Ray3(*args)[source]
Bases: pyacs.lib.euclid.Line3
-
p
-
v
-
class
pyacs.lib.euclid.LineSegment3(*args)[source]
Bases: pyacs.lib.euclid.Line3
-
magnitude_squared()[source]
-
property
length
-
p
-
v
-
class
pyacs.lib.euclid.Sphere(center, radius)[source]
Bases: object
-
c
-
r
-
copy()
-
intersect(other)[source]
-
connect(other)[source]
-
class
pyacs.lib.euclid.Plane(*args)[source]
Bases: object
-
n
-
k
-
copy()
-
intersect(other)[source]
-
connect(other)[source]