Пример #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)
Пример #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,)
Пример #3
0
Файл: quat.py Проект: 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)
Пример #4
0
Файл: quat.py Проект: 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,)
Пример #5
0
def mulN(m, N):
    return tuple([vec3.mulN(v, N) for v in m])
Пример #6
0
def mulN(m,N):
	return tuple([vec3.mulN(v,N) for v in m])