コード例 #1
0
ファイル: Matrix.py プロジェクト: pmbrennan/math3d
    def testAzmAlt(self):
        'Test the azimuth/altitude code.'

        hitError = False
        try:
            m = Matrix.azimuthAltitude(67, -99)
        except ValueError:
            hitError = True
        assert hitError

        hitError = False
        try:
            m = Matrix.azimuthAltitude(67, 187)
        except ValueError:
            hitError = True
        assert hitError

        Azm = 45
        Alt = 60

        m = Matrix.azimuthAltitude(Azm, Alt)

        (sinAzm, cosAzm) = MathUtil.getSinCos(Azm)
        (sinAlt, cosAlt) = MathUtil.getSinCos(Alt)

        ihat = m.multv(Vector(1, 0, 0))

        places = 7
        assert round(ihat[0], places) == round(cosAzm * cosAlt, places), \
            round(ihat[0], places) - round(cosAzm * cosAlt, places)
        assert round(ihat[1], places) == round(sinAzm * cosAlt, places), \
            round(ihat[1], places) - round(sinAzm * cosAlt, places)
        assert round(ihat[2], places) == round(sinAlt, places), \
            round(ihat[2], places) - round(sinAlt, places)
コード例 #2
0
ファイル: Matrix.py プロジェクト: pmbrennan/math3d
 def rotationMatrixForY(angle_in_degrees):
     """Given an angle in degrees, compute the rotation matrix
     about the Y axis."""
     (s, c) = MathUtil.getSinCos(angle_in_degrees)
     return Matrix([c, 0, s], [0, 1, 0], [-s, 0, c])