about summary refs log tree commit diff homepage
path: root/utils/hacks/TreeGraphs/Graphics/Geometry/mat4.py
diff options
context:
space:
mode:
Diffstat (limited to 'utils/hacks/TreeGraphs/Graphics/Geometry/mat4.py')
-rw-r--r--utils/hacks/TreeGraphs/Graphics/Geometry/mat4.py304
1 files changed, 152 insertions, 152 deletions
diff --git a/utils/hacks/TreeGraphs/Graphics/Geometry/mat4.py b/utils/hacks/TreeGraphs/Graphics/Geometry/mat4.py
index 8dc7d35c..e927c936 100644
--- a/utils/hacks/TreeGraphs/Graphics/Geometry/mat4.py
+++ b/utils/hacks/TreeGraphs/Graphics/Geometry/mat4.py
@@ -1,153 +1,153 @@
-import vec4,mat3

-

-def identity():

-	return ((1.0, 0.0, 0.0, 0.0),

-			(0.0, 1.0, 0.0, 0.0),

-			(0.0, 0.0, 1.0, 0.0),

-			(0.0, 0.0, 0.0, 1.0))

-

-def fromtrans(trans):

-	return ((1.0, 0.0, 0.0, 0.0),

-			(0.0, 1.0, 0.0, 0.0),

-			(0.0, 0.0, 1.0, 0.0),

-			(trans[0], trans[1], trans[2], 1.0))

-

-def fromscale(scale):

-	x,y,z= scale

-	x,y,z= float(x),float(y),float(z)

-	return ((  x, 0.0, 0.0, 0.0),

-			(0.0,   y, 0.0, 0.0),

-			(0.0, 0.0,   z, 0.0),

-			(0.0, 0.0, 0.0, 1.0))

-def fromscaleN(n):

-	return fromscale((n,n,n))

-

-def fromortho(left,right,bottom,top,znear,zfar):

-	m0= ( 2.0/(right-left), 0.0, 0.0, 0.0)

-	m1= (0.0,  2.0/(top-bottom), 0.0, 0.0)

-	m2= (0.0, 0.0, -2.0/(zfar-znear), 0.0)

-	m3= (	-((right+left)/(right-left)),

-			-((top+bottom)/(top-bottom)),

-			-((zfar+znear)/(zfar-znear)),

-			1.0)

-	return (m0,m1,m2,m3)

-

-def mulN(m,N):

-	return tuple([vec4.mulN(v,N) for v in m])

-	

-def mul(a,b):

-	b_trans= zip(* b)

-	return tuple([transmulvec4(b_trans, a_r) for a_r in a])

-

-	# multiple vector v by a transposed matrix

-def transmulvec4(m_trans,v):

-	return tuple([vec4.dot(v, m_c) for m_c in m_trans])

-

-def mulvec4(m,v):

-	return transmulvec4(zip(* m), v)

-	

-def trans(m):

-	((m00,m01,m02,m03),	

-	 (m10,m11,m12,m13),	

-	 (m20,m21,m22,m23),	

-	 (m30,m31,m32,m33))= m

-	 

-	return (	(m00,m10,m20,m30),	

-				(m01,m11,m21,m31),	

-				(m02,m12,m22,m32),	

-				(m03,m13,m23,m33))

-

-def det(m):

-	((m00,m01,m02,m03),	

-	 (m10,m11,m12,m13),	

-	 (m20,m21,m22,m23),	

-	 (m30,m31,m32,m33))= m

-	 

-	a= m00 * mat3.det(	((m11, m12, m13), 

-						 (m21, m22, m23), 

-						 (m31, m32, m33)) );

-	b= m10 * mat3.det(	((m01, m02, m03), 

-						 (m21, m22, m23), 

-						 (m31, m32, m33)) );

-	c= m20 * mat3.det(  ((m01, m02, m03), 

-						 (m11, m12, m13), 

-						 (m31, m32, m33)) );

-	d= m30 * mat3.det(	((m01, m02, m03), 

-						 (m11, m12, m13), 

-						 (m21, m22, m23)) );

-	

-	return a-b+c-d;

-

-def adj(m):

-	((m00,m01,m02,m03),	

-	 (m10,m11,m12,m13),	

-	 (m20,m21,m22,m23),	

-	 (m30,m31,m32,m33))= m

-	 

-	t00=  mat3.det( ((m11, m12, m13), 

-					 (m21, m22, m23),

-					 (m31, m32, m33)) )

-	t01= -mat3.det( ((m10, m12, m13), 

-					 (m20, m22, m23),

-					 (m30, m32, m33)) )

-	t02=  mat3.det( ((m10, m11, m13), 

-					 (m20, m21, m23),

-					 (m30, m31, m33)) )

-	t03= -mat3.det( ((m10, m11, m12), 

-					 (m20, m21, m22),

-					 (m30, m31, m32)) )

-

-

-	t10= -mat3.det( ((m01, m02, m03), 

-					 (m21, m22, m23),

-					 (m31, m32, m33)) )

-	t11=  mat3.det( ((m00, m02, m03), 

-					 (m20, m22, m23),

-					 (m30, m32, m33)) )

-	t12= -mat3.det( ((m00, m01, m03), 

-					 (m20, m21, m23),

-					 (m30, m31, m33)) )

-	t13=  mat3.det( ((m00, m01, m02), 

-					 (m20, m21, m22),

-					 (m30, m31, m32)) )

-

-	t20=  mat3.det( ((m01, m02, m03), 

-					 (m11, m12, m13),

-					 (m31, m32, m33)) )

-	t21= -mat3.det( ((m00, m02, m03), 

-					 (m10, m12, m13),

-					 (m30, m32, m33)) )

-	t22=  mat3.det( ((m00, m01, m03), 

-					 (m10, m11, m13),

-					 (m30, m31, m33)) )

-	t23= -mat3.det( ((m00, m01, m02), 

-					 (m10, m11, m12),

-					 (m30, m31, m32)) )

-

-	t30= -mat3.det( ((m01, m02, m03), 

-					 (m11, m12, m13),

-					 (m21, m22, m23)) )

-	t31=  mat3.det( ((m00, m02, m03), 

-					 (m10, m12, m13),

-					 (m20, m22, m23)) )

-	t32= -mat3.det( ((m00, m01, m03), 

-					 (m10, m11, m13),

-					 (m20, m21, m23)) )

-	t33=  mat3.det( ((m00, m01, m02), 

-					 (m10, m11, m12),

-					 (m20, m21, m22)) )

-					

-	return ((t00,t01,t02,t03),

-			(t10,t11,t12,t13),

-			(t20,t21,t22,t23),

-			(t30,t31,t32,t33))

-	

-def inv(m):

-	d= det(m)

-	t= trans(adj(m))

-	v= 1.0/d

-	return tuple([(a*v,b*v,c*v,d*v) for a,b,c,d in t])

-	

-def toGL(m):

-	m0,m1,m2,m3= m

+import vec4,mat3
+
+def identity():
+	return ((1.0, 0.0, 0.0, 0.0),
+			(0.0, 1.0, 0.0, 0.0),
+			(0.0, 0.0, 1.0, 0.0),
+			(0.0, 0.0, 0.0, 1.0))
+
+def fromtrans(trans):
+	return ((1.0, 0.0, 0.0, 0.0),
+			(0.0, 1.0, 0.0, 0.0),
+			(0.0, 0.0, 1.0, 0.0),
+			(trans[0], trans[1], trans[2], 1.0))
+
+def fromscale(scale):
+	x,y,z= scale
+	x,y,z= float(x),float(y),float(z)
+	return ((  x, 0.0, 0.0, 0.0),
+			(0.0,   y, 0.0, 0.0),
+			(0.0, 0.0,   z, 0.0),
+			(0.0, 0.0, 0.0, 1.0))
+def fromscaleN(n):
+	return fromscale((n,n,n))
+
+def fromortho(left,right,bottom,top,znear,zfar):
+	m0= ( 2.0/(right-left), 0.0, 0.0, 0.0)
+	m1= (0.0,  2.0/(top-bottom), 0.0, 0.0)
+	m2= (0.0, 0.0, -2.0/(zfar-znear), 0.0)
+	m3= (	-((right+left)/(right-left)),
+			-((top+bottom)/(top-bottom)),
+			-((zfar+znear)/(zfar-znear)),
+			1.0)
+	return (m0,m1,m2,m3)
+
+def mulN(m,N):
+	return tuple([vec4.mulN(v,N) for v in m])
+	
+def mul(a,b):
+	b_trans= zip(* b)
+	return tuple([transmulvec4(b_trans, a_r) for a_r in a])
+
+	# multiple vector v by a transposed matrix
+def transmulvec4(m_trans,v):
+	return tuple([vec4.dot(v, m_c) for m_c in m_trans])
+
+def mulvec4(m,v):
+	return transmulvec4(zip(* m), v)
+	
+def trans(m):
+	((m00,m01,m02,m03),	
+	 (m10,m11,m12,m13),	
+	 (m20,m21,m22,m23),	
+	 (m30,m31,m32,m33))= m
+	 
+	return (	(m00,m10,m20,m30),	
+				(m01,m11,m21,m31),	
+				(m02,m12,m22,m32),	
+				(m03,m13,m23,m33))
+
+def det(m):
+	((m00,m01,m02,m03),	
+	 (m10,m11,m12,m13),	
+	 (m20,m21,m22,m23),	
+	 (m30,m31,m32,m33))= m
+	 
+	a= m00 * mat3.det(	((m11, m12, m13), 
+						 (m21, m22, m23), 
+						 (m31, m32, m33)) );
+	b= m10 * mat3.det(	((m01, m02, m03), 
+						 (m21, m22, m23), 
+						 (m31, m32, m33)) );
+	c= m20 * mat3.det(  ((m01, m02, m03), 
+						 (m11, m12, m13), 
+						 (m31, m32, m33)) );
+	d= m30 * mat3.det(	((m01, m02, m03), 
+						 (m11, m12, m13), 
+						 (m21, m22, m23)) );
+	
+	return a-b+c-d;
+
+def adj(m):
+	((m00,m01,m02,m03),	
+	 (m10,m11,m12,m13),	
+	 (m20,m21,m22,m23),	
+	 (m30,m31,m32,m33))= m
+	 
+	t00=  mat3.det( ((m11, m12, m13), 
+					 (m21, m22, m23),
+					 (m31, m32, m33)) )
+	t01= -mat3.det( ((m10, m12, m13), 
+					 (m20, m22, m23),
+					 (m30, m32, m33)) )
+	t02=  mat3.det( ((m10, m11, m13), 
+					 (m20, m21, m23),
+					 (m30, m31, m33)) )
+	t03= -mat3.det( ((m10, m11, m12), 
+					 (m20, m21, m22),
+					 (m30, m31, m32)) )
+
+
+	t10= -mat3.det( ((m01, m02, m03), 
+					 (m21, m22, m23),
+					 (m31, m32, m33)) )
+	t11=  mat3.det( ((m00, m02, m03), 
+					 (m20, m22, m23),
+					 (m30, m32, m33)) )
+	t12= -mat3.det( ((m00, m01, m03), 
+					 (m20, m21, m23),
+					 (m30, m31, m33)) )
+	t13=  mat3.det( ((m00, m01, m02), 
+					 (m20, m21, m22),
+					 (m30, m31, m32)) )
+
+	t20=  mat3.det( ((m01, m02, m03), 
+					 (m11, m12, m13),
+					 (m31, m32, m33)) )
+	t21= -mat3.det( ((m00, m02, m03), 
+					 (m10, m12, m13),
+					 (m30, m32, m33)) )
+	t22=  mat3.det( ((m00, m01, m03), 
+					 (m10, m11, m13),
+					 (m30, m31, m33)) )
+	t23= -mat3.det( ((m00, m01, m02), 
+					 (m10, m11, m12),
+					 (m30, m31, m32)) )
+
+	t30= -mat3.det( ((m01, m02, m03), 
+					 (m11, m12, m13),
+					 (m21, m22, m23)) )
+	t31=  mat3.det( ((m00, m02, m03), 
+					 (m10, m12, m13),
+					 (m20, m22, m23)) )
+	t32= -mat3.det( ((m00, m01, m03), 
+					 (m10, m11, m13),
+					 (m20, m21, m23)) )
+	t33=  mat3.det( ((m00, m01, m02), 
+					 (m10, m11, m12),
+					 (m20, m21, m22)) )
+					
+	return ((t00,t01,t02,t03),
+			(t10,t11,t12,t13),
+			(t20,t21,t22,t23),
+			(t30,t31,t32,t33))
+	
+def inv(m):
+	d= det(m)
+	t= trans(adj(m))
+	v= 1.0/d
+	return tuple([(a*v,b*v,c*v,d*v) for a,b,c,d in t])
+	
+def toGL(m):
+	m0,m1,m2,m3= m
 	return m0+m1+m2+m3
\ No newline at end of file