Пример #1
0
 def _update_projection(self):
     proj = project_points(self._xyzs, self._current_rot, self.view)
     for i in range(len(self._polys)):
         p = proj[self._npts[i]:self._npts[i + 1]]
         self._polys[i].set_xy(p[:, :2])
         self._polys[i].set_zorder(-p[:-1, 2].mean())
     self.figure.canvas.draw()
Пример #2
0
 def _update_projection(self):
     proj = project_points(self._xyzs, self._current_rot, self.view)
     for i in range(len(self._polys)):
         p = proj[self._npts[i]:self._npts[i + 1]]
         self._polys[i].set_xy(p[:, :2])
         self._polys[i].set_zorder(-p[:-1, 2].mean())
     self.figure.canvas.draw()
Пример #3
0
    def rotate(self, v, theta):
        new_rot = Quaternion.from_v_theta(v, theta)
        self.current_rotation = self.current_rotation * new_rot
        
        faces_proj = project_points(self._faces, self.current_rotation,
                                    self.view)
        xy = faces_proj[:, :, :2]
        zorder = -faces_proj[:, :4, 2].mean(-1)

        for i in range(6):
            self.polys[i].set_xy(xy[i])
            self.polys[i].set_zorder(zorder[i])
    def rotate(self, v, theta):
        new_rot = Quaternion.from_v_theta(v, theta)
        self.current_rotation = self.current_rotation * new_rot

        faces_proj = project_points(self._faces, self.current_rotation,
                                    self.view)
        xy = faces_proj[:, :, :2]
        zorder = -faces_proj[:, :4, 2].mean(-1)

        for i in range(6):
            self.polys[i].set_xy(xy[i])
            self.polys[i].set_zorder(zorder[i])
Пример #5
0
 def _project(self, pts):
     return project_points(pts, self._current_rot, self._view, [0, 1, 0])
 def _project(self, pts):
     return project_points(pts, self._current_rot, self._view, [0, 1, 0])
Пример #7
0
import pattern
import ply
import projection

res = (800,600)
# screen upper-left phy coords, in.
s1 = (-0.2,-0.15)
# screen lower-righ phy coords, in.
s2 = (0.2, 0.15)
# screen distance
ds = 0.4
p=pattern.make_depths(res[0],res[1],1.0,3.0)
ply.write_ply('out.ply',p)
p=projection.map_to_screen(p,(0,0),res,s1,s2)
ply.write_ply('outm.ply',p)
p=projection.project_points(p,ds)
ply.write_ply('outp.ply',p)