コード例 #1
0
ファイル: cube.py プロジェクト: KnowNamee/bsu-rendering
 def render(self, time: float, frametime: float):
     self.ctx.enable(moderngl.DEPTH_TEST | moderngl.CULL_FACE)
     self.ctx.clear(1.0, 1.0, 0.5, 1.0)
     self.rotation.value = tuple(
         Matrix33.from_eulers((time/2, time/2, time/2)).reshape(9).tolist())
     self.prog['time'].value = time
     self.texture.use(location=0)
     self.cube.render(self.prog)
コード例 #2
0
 def test_euler_equivalence(self):
     eulers = euler.create_from_x_rotation(np.pi / 2.)
     m = Matrix33.from_x_rotation(np.pi / 2.)
     q = Quaternion.from_x_rotation(np.pi / 2.)
     qm = Matrix33.from_quaternion(q)
     em = Matrix33.from_eulers(eulers)
     self.assertTrue(np.allclose(qm, m))
     self.assertTrue(np.allclose(qm, em))
     self.assertTrue(np.allclose(m, em))
コード例 #3
0
 def test_euler_equivalence(self):
     eulers = euler.create_from_x_rotation(np.pi / 2.)
     m = Matrix33.from_x_rotation(np.pi / 2.)
     q = Quaternion.from_x_rotation(np.pi / 2.)
     qm = Matrix33.from_quaternion(q)
     em = Matrix33.from_eulers(eulers)
     self.assertTrue(np.allclose(qm, m))
     self.assertTrue(np.allclose(qm, em))
     self.assertTrue(np.allclose(m, em))
コード例 #4
0
import os
from dataclasses import dataclass, field
from itertools import combinations
from typing import Any, TextIO

import numpy as np
from parse import parse
from pyrr import Matrix33, Vector3


class ScannerMatched(Exception):
    pass


ROTATIONS = [
    Matrix33.from_eulers((0, 0, 0), dtype=np.int_),
    Matrix33.from_eulers((np.pi / 2, 0, 0), dtype=np.int_),
    Matrix33.from_eulers((np.pi, 0, 0), dtype=np.int_),
    Matrix33.from_eulers((3 * np.pi / 2, 0, 0), dtype=np.int_),
    Matrix33.from_eulers((0, 0, np.pi / 2), dtype=np.int_),
    Matrix33.from_eulers((np.pi / 2, 0, np.pi / 2), dtype=np.int_),
    Matrix33.from_eulers((np.pi, 0, np.pi / 2), dtype=np.int_),
    Matrix33.from_eulers((3 * np.pi / 2, 0, np.pi / 2), dtype=np.int_),
    Matrix33.from_eulers((0, 0, np.pi), dtype=np.int_),
    Matrix33.from_eulers((np.pi / 2, 0, np.pi), dtype=np.int_),
    Matrix33.from_eulers((np.pi, 0, np.pi), dtype=np.int_),
    Matrix33.from_eulers((3 * np.pi / 2, 0, np.pi), dtype=np.int_),
    Matrix33.from_eulers((0, 0, 3 * np.pi / 2), dtype=np.int_),
    Matrix33.from_eulers((np.pi / 2, 0, 3 * np.pi / 2), dtype=np.int_),
    Matrix33.from_eulers((np.pi, 0, 3 * np.pi / 2), dtype=np.int_),
    Matrix33.from_eulers((3 * np.pi / 2, 0, 3 * np.pi / 2), dtype=np.int_),