Esempio n. 1
0
def create_pyramid():
    primitives = []
    # create the sphere primitive
    material = None
    object_to_world = Transform()
    world_to_object = Transform()
    sphere = Sphere(object_to_world, world_to_object, False, 1.0, -1.0, 1.0,
                    360)
    primitive = GeometricPrimitive(sphere, material, None)

    # now create the instances
    # create the objects, with this layout (shown in 2D)
    #   O O O O  level 0, width 4, pos_x -6
    #    O O O   level 1, width 3, pos_x -4
    #     O O    level 2, width 2, pos_x -2
    #      O     level 3, width 1, pos_x 0

    for level in range(4):
        width_array = 4 - level
        start_pos = Point(-2.0 * (3 - level), -2.0 * (3 - level), level * 2.0)
        for i in range(width_array):
            start_pos_i = start_pos + i * Vector(2.0, 0.0, 0.0)
            for j in range(width_array):
                pos = start_pos_i + j * Vector(0.0, 2.0, 0.0)
                transform = translate(pos).inverse()
                world_to_primitive = AnimatedTransform(transform, 0.0,
                                                       transform, 1.0)
                instance = TransformedPrimitive(primitive, world_to_primitive)
                primitives.append(instance)
    return primitives
Esempio n. 2
0
    def __init__(self):
        """Default constructor for Intersection."""
        self.dg = DifferentialGeometry()

        self.primitive = None

        self.world_to_object = Transform()
        self.object_to_world = Transform()

        self.shape_id = 0
        self.primitive_id = 0

        self.ray_epsilon = 0.0
Esempio n. 3
0
    def test_inverse(self):
        m1 = scale(2.0, 3.0, 4.0)
        m2 = scale(1.0/2.0, 1.0/3.0, 1.0/4.0)
        self.assertEqual(m1.inverse(), m2)
        self.assertEqual(m1.m_inv, m2.m)
        self.assertEqual(m2.m_inv, m1.m)

        m3 = translate(Point(5, 6, 7)) * scale(2, -3 , 4) * rotate(17, Vector(-1, 4, -2))
        m4 = m3.inverse()
        identity = Transform()
        self.assertTrue((m3*m4).is_identity())
        self.assertTrue((m4*m3).is_identity())
Esempio n. 4
0
    def __init__(self,
                 name,
                 vertices,
                 vertex_indices,
                 normals,
                 normal_indices,
                 transform=None):
        self.name = name

        # we have triangle mesh
        assert len(vertex_indices) % 3 == 0
        assert len(normal_indices) == len(vertex_indices)

        self.v = np.array(vertices, dtype=np.single)
        self.n = np.array(normals, dtype=np.single)
        self.vi = np.array(vertex_indices, dtype=np.uint32)
        self.ni = np.array(normal_indices, dtype=np.uint32) + len(vertices)
        self.coords = np.concatenate((self.v, self.n))
        self.indices = np.concatenate((self.vi, self.ni))
        self.normal_index_offset = len(vertex_indices)

        self.transform = transform or Transform()
Esempio n. 5
0
import logging

from core.extract import Extract
from core.load import Load
from core.transform import Transform
from utils.file_tools import FileTools
from utils import log_tools

log_tools.ajustar_log()

transform = Transform(key_google_maps='key')

load = Load()

file_tools = FileTools()
file_tools.diretorio_arquivos = 'resources'
file_tools.diretorio_arquivos_movidos = 'resources/arquivos_extraidos'

while True:

    logging.info(f'Escaneando diretório: ({file_tools.diretorio_arquivos})')
    arquivos = file_tools.escanear_diretorio(intervalo=0.5)

    if len(arquivos) > 0:
        logging.info(f'Arquivo txt encontrado: ({arquivos[0]})')

        lista_de_coordenadas = Extract('resources/' +
                                       arquivos[0]).get_lista_de_coordenadas()
        logging.info(f'Extraído conteúdo do arquivo: ({arquivos[0]})')

        for latitude, longitude in lista_de_coordenadas: