Exemplo n.º 1
0
 def updateStars(self, newCameraPos):
     # TODO: Add unit tests!
     self.stars.setPos(newCameraPos)
     cameraDeltaPos = tupleSegment(self.lastCameraPos,
                                   vec3ToTuple(newCameraPos))
     xRotation = Quat()
     xRotation.setFromAxisAngle(cameraDeltaPos[0] * .1, Vec3(0, 1, 0))
     yRotation = Quat()
     yRotation.setFromAxisAngle(-cameraDeltaPos[1] * .1, Vec3(1, 0, 0))
     newRotation = xRotation.multiply(yRotation)
     self.starsRotation *= newRotation
     self.stars.setQuat(self.starsRotation)
Exemplo n.º 2
0
def RotatePoint3(p, v1, v2):
    v1.normalize()
    v2.normalize()
    cross = v1.cross(v2)
    cross.normalize()
    if cross.length():
        a = v1.angleDeg(v2)
        quat = Quat()
        quat.setFromAxisAngle(a, cross)
        p = quat.xform(p)

    return p
Exemplo n.º 3
0
 def updateStars(self, newCameraPos):
   # TODO: Add unit tests!
   self.stars.setPos(newCameraPos)
   cameraDeltaPos = tupleSegment(
     self.lastCameraPos,
     vec3ToTuple( newCameraPos )
   )
   xRotation = Quat()
   xRotation.setFromAxisAngle(
     cameraDeltaPos[0] * .1,
     Vec3( 0, 1, 0 )
   )
   yRotation = Quat()
   yRotation.setFromAxisAngle(
     -cameraDeltaPos[1] * .1,
     Vec3( 1, 0, 0 )
   )
   newRotation = xRotation.multiply( yRotation )
   self.starsRotation *= newRotation
   self.stars.setQuat( self.starsRotation )