Ejemplo n.º 1
0
def fromaxisangle(axisangle):
	axis, angle = axisangle
	ang_2 = angle / 2.0
	s_ang = math.sin(ang_2)
	c_ang = math.cos(ang_2)
	
	q = vec3.mulN(axis, s_ang) + (c_ang,)
	return normalize(q)
Ejemplo n.º 2
0
def fromnormals_faster(n1, n2):
	axis = vec3.normalize(vec3.cross(n1, n2))

	half_n = vec3.normalize(vec3.add(n1, n2))
	cos_half_angle = vec3.dot(n1, half_n)
	sin_half_angle = 1.0 - cos_half_angle ** 2
	
	return vec3.mulN(axis, sin_half_angle) + (cos_half_angle,)
Ejemplo n.º 3
0
Archivo: quat.py Proyecto: Eelis/klee
def fromaxisangle(axisangle):
	axis,angle= axisangle
	ang_2= angle/2.0
	s_ang= math.sin(ang_2)
	c_ang= math.cos(ang_2)
	
	q= vec3.mulN(axis, s_ang) + (c_ang,)
	return normalize(q)
Ejemplo n.º 4
0
Archivo: quat.py Proyecto: Eelis/klee
def fromnormals_faster(n1,n2):
	axis= vec3.normalize(vec3.cross(n1, n2))

	half_n= vec3.normalize(vec3.add(n1, n2))
	cos_half_angle= vec3.dot(n1, half_n)
	sin_half_angle= 1.0 - cos_half_angle**2
	
	return vec3.mulN(axis, sin_half_angle) + (cos_half_angle,)
Ejemplo n.º 5
0
def mulN(m, N):
    return tuple([vec3.mulN(v, N) for v in m])
Ejemplo n.º 6
0
def mulN(m,N):
	return tuple([vec3.mulN(v,N) for v in m])