Example #1
0
 def rotate(self, angle=0):
     """ Rotate this face by some angle, given in degrees.
     """
     theta = deg2rad(angle)
     t = transform.Transformation(math.cos(theta), -math.sin(theta), 0,
                                  math.sin(theta), math.cos(theta), 0)
     self.transform = self.transform.multiply(t)
Example #2
0
    def obj_repr(self, render_params):
        """
        Returns complete representation of the point as a sphere.

        TESTS::

            sage: P = point3d((1,2,3),size=3,color='purple')
            sage: P.obj_repr(P.default_render_params())[0][0:2]
            ['g obj_1', 'usemtl texture...']
        """
        T = render_params.transform
        if T is None:
            import transform
            T = transform.Transformation()
        render_params.push_transform(~T)
        S = shapes.Sphere(self.size / 200.0).translate(T(self.loc))
        cmds = S.obj_repr(render_params)
        render_params.pop_transform()
        return cmds
Example #3
0
    def obj_repr(self, render_params):
        """
        Returns complete representation of the line as an object.

        TESTS::

            sage: from sage.plot.plot3d.shapes2 import Line
            sage: L = Line([(cos(i),sin(i),i^2) for i in srange(0,10,.01)],color='red')
            sage: L.obj_repr(L.default_render_params())[0][0][0][2][:3]
            ['v 0.99995 0.00999983 0.0001', 'v 1.00007 0.0102504 -0.0248984', 'v 1.02376 0.010195 -0.00750607']
        """
        T = render_params.transform
        if T is None:
            import transform
            T = transform.Transformation()
        render_params.push_transform(~T)
        L = line3d([T(P) for P in self.points], radius=self.thickness / 200.0, arrow_head=self.arrow_head, texture=self.texture)
        cmds = L.obj_repr(render_params)
        render_params.pop_transform()
        return cmds
Example #4
0
 def scale(self, factor=1):
     """ Scale this face by a factor.
     """
     t = transform.Transformation(factor, 0, 0, 0, factor, 0)
     self.transform = self.transform.multiply(t)
Example #5
0
 def translate(self, xdistance=0, ydistance=0):
     """ Move this face by some distance.
     """
     t = transform.Transformation(1, 0, xdistance, 0, 1, ydistance)
     self.transform = self.transform.multiply(t)
Example #6
0
    def __init__(self, edgeA, edgeB, edgeC):
        mesh.Triangle.__init__(self, edgeA, edgeB, edgeC)

        self.transform = transform.Transformation(1 / average_edge_length, 0,
                                                  0, 0,
                                                  -1 / average_edge_length, 0)