예제 #1
0
파일: stuff.py 프로젝트: IntQuant/QLibs
 def test_multiply_vector(self):
     mat = Matrix4(IDENTITY)
     vec = MVec(1, 2, 3, 1)
     self.assertEqual(mat * vec, vec)
예제 #2
0
파일: stuff.py 프로젝트: IntQuant/QLibs
 def test_as_n_d(self):
     self.assertEqual(len(MVec(1, 3).as_n_d(4)), 4)
     self.assertEqual(len(MVec(1, 3).as_n_d(1)), 1)
예제 #3
0
파일: stuff.py 프로젝트: IntQuant/QLibs
 def test_normalize(self):
     v = MVec(1, 2, 3)
     v.normalize()
     self.assertTrue(v.len() == 1)
예제 #4
0
파일: stuff.py 프로젝트: IntQuant/QLibs
 def test_inequality(self):
     self.assertTrue(MVec(1, 3) != MVec(1, 2))
     self.assertTrue(MVec(1, 30) != 1)
예제 #5
0
파일: stuff.py 프로젝트: IntQuant/QLibs
 def test_equality(self):
     self.assertTrue(MVec(1, 2) == MVec(1, 2))
     self.assertTrue(MVec(1, 3) == MVec(1, 3))
예제 #6
0
파일: stuff.py 프로젝트: IntQuant/QLibs
 def test_cross(self):
     self.assertTrue(MVec(2, 3, 4).cross(MVec(5, 6, 7)) == MVec(-3, 6, -3))
예제 #7
0
파일: stuff.py 프로젝트: IntQuant/QLibs
 def test_dot(self):
     self.assertTrue(MVec(-12, 16).dot(MVec(12, 9)) == 0)
예제 #8
0
"""
  Requires model to be available (none are bundled with qlibs)
"""

from qlibs.resources import resource_loader, resource_manager
from qlibs.math.vec import MVec

resource_loader.loader.loaders.append(resource_loader.SearchLocationLoader("/home/iquant/programs/MagicaVoxel-0.99.4-alpha-win64/export", "models/"))

model = resource_manager.load_model("models/Stick.obj")

min_vec = MVec(model.v[0])
max_vec = MVec(model.v[0])

for v in model.v:
    x, y, z = v
    
    if x > max_vec.x:
        max_vec.x = x
    if y > max_vec.y:
        max_vec.y = y
    if z > max_vec.z:
        max_vec.z = z
    
    if x < min_vec.x:
        min_vec.x = x
    if y < min_vec.y:
        min_vec.y = y
    if z < min_vec.z:
        min_vec.z = z