Exemple #1
0
 def get_3D_version(self, pos):
     pos = convert_pos(pos)
     x, y, z = pos
     dx, dy = Vector.from_2_points(self.location, (x, y))
     verts = deepcopy(self.vertices)
     # self._convert_to3d([(x+dx, y+dy, z) for x, y in self.vertices])
     self.vertices = [LowLevel.convert_pos((x+dx, y+dy, z)) for x, y in self.vertices]
     new = LowerDimensional(self)
     self.vertices = verts
     return new
Exemple #2
0
 def __init__(self, pos: tuple, radius: float, overlay: _TemplateOverlay):
     if self.unit_sphere is None:
         self.unit_sphere = self.create_sphere()
     pos = LowLevel.convert_pos(pos)
     super(Sphere, self).__init__(overlay)
     self.location = pos
     self.radius = radius
     self.vertices = deepcopy(self.unit_sphere)
     for i, pt in enumerate(self.vertices):
         self.vertices[i] = pt * self.radius + pos
     # self.vertices = self._get_vertices()
     self._initialize()
Exemple #3
0
 def __init__(self,
              pos: tuple,
              l: float,
              w: float,
              h: float,
              texture: _TemplateOverlay = WHITE):
     super(RectPrism, self).__init__(texture)
     pos = LowLevel.convert_pos(pos)
     self.location = pos
     self.length = l
     self.width = w
     self.height = h
     self.vertices = self._get_vertices()
     self._initialize()
Exemple #4
0
 def __init__(self, pos: tuple, base_radius: float, height: float,
              num_verts: int, overlay: _TemplateOverlay):
     super(RegularPyramid, self).__init__(overlay)
     self.location = LowLevel.convert_pos(pos)
     self.point = self.location + (0, height, 0)
     base = []
     angle_change = 360 / num_verts
     angle = angle_change / 2
     for i in range(num_verts):
         dx, dz = sin(radians(angle)) * base_radius, cos(
             radians(angle)) * base_radius
         base.append(self.location + (dx, 0, dz))
         angle += angle_change
         # print(self.location + (dx, 0, dz))
     i = num_verts - 1
     self.vertices = []
     while i > -1:  # allow full loop
         self.vertices.extend(base[i])
         self.vertices.extend(self.point)
         self.vertices.extend(base[i - 1])
         i -= 1
     self._initialize()