def changeSight(self, axis):
     self.mvMat = geo.lookAtMatrix(axis[0], -axis[1], -axis[2], 
                                  self.c[0], self.c[1], self.c[2], 
                                  self.up[0], self.up[1], self.up[2])
 
 
     
 def getMvMat(self, center):
     """
     gibt Modelview-Matrix zurueck mit Hilfe von Helicopter Position
     @param center: Position an der helicopter steht
     """
     (x, y, z) = self.pos
     (a, b, c) = center
     return geo.lookAtMatrix(x, y, z, a, b, c, 0, 1, 0)
 def initCamera(self):
     
     self.mvMat = geo.lookAtMatrix(self.e[0], self.e[1], self.e[2], 
                                  self.c[0], self.c[1], self.c[2], 
                                  self.up[0], self.up[1], self.up[2])
     
     self.pMat = geo.perspectiveMatrix(self.fovy, self.aspect, 0.1, 30)
     
     print "cam initialisiert"
 def __init__(self, e, c, up):
     """
     Konstruktor fuer FreeCamera mit Arcball rotation
     @param e: standpunkt der camera
     @param c: blickpunkt der camera
     @param up: up-vektor der camera
     """
     Camera.__init__(self)
     self.mvMat = geo.lookAtMatrix(e[0], e[1], e[2],  # position
                                   c[0], c[1], c[2],  # center
                                   up[0], up[1], up[2])  # up vector
     self.actOri = geo.identity()
     self.rotation = geo.identity()
     self.zoomMat = geo.identity()
 def getMvMat(self, e, actOri):
     """
     Errechnet ModelviewMatrixTransformation
     @param e: standpunkt helicopter
     @param actOri: aktuelle Ausrichtung des Helicopters
     """
     up = Vector(0, 1, 0).multMatrix(actOri.T).normalized()
     c = Vector(0, 0, 1).multMatrix(actOri.T)  # blickrichtung
     a = e.copy()
     a[1] += self.height
     ce = a + c
     a = a - c * self.factor
     return geo.lookAtMatrix(a[0], a[1], a[2],
                             ce[0], ce[1], ce[2],
                             up[0], up[1], up[2])