Question

je l'ai trouvé une bibliothèque appelée pyeuclid et matrice création est simple, il suffit de passer le long des arguments et la matrice est créée .

>>> m = Matrix4()
>>> m.translate(50,50,50)
Matrix4([    1.00     0.00     0.00    50.00
             0.00     1.00     0.00    50.00
             0.00     0.00     1.00    50.00
             0.00     0.00     0.00     1.00])

lbrary est livré avec une classe de vecteur 3D, si je voulais traduire un point 3D avec cette matrice je aurais besoin d'abord créer le classe vecteur , comme celui-ci.

>>> v = Vector3(100,200,300)
>>> v
Vector3(100.00, 200.00, 300.00)
>>> v.x
100
>>> v.y
200
>>> v.z
300

Maintenant, la classe Matrix4 () est une méthode pour transformer les coordonnées, et son utilisation comme ainsi.

>>> m.transform(v)
Point3(150.00, 250.00, 350.00)

ce qui est excellent, cependant, il n'y a pas de projection en perspective appliquée, la bibliothèque est livré avec une méthode appelée Matrix4.new_perspective (fov_y, aspect, près, loin). C'est où le problème réside, je ne sais pas comment utiliser correctement cette fonction, (m.transform (vector3) doesent produire quelque chose utilisable) documentation montrent doesent comment son utilisation avec des vecteurs ou d'autres matrices, il dit quelque chose au sujet d'être « équivalent à l'appel OpenGL gluPerspective.fov_y », mais je ne ai jamais utilisé opengl pour que l'habitude aide.

cela est le module (de Vector3 import Euclide, Matrix4)

ce que je ne veux pas, est recomendtions pour une bibliothèque moteur de jeu / visulization, ou quelque chose thats ce plié sur le dessin quelque chose à l'écran, je veux juste savoir si je peux utiliser cette bibliothèque pour transformer vecteur 3D coordnates en coordonnées d'écran 2D et sinon quelle bibliothèque puis-je utiliser ???

donc obtenir là-bas et aider Noob en détresse! :-) merci pour votre aide.

Était-ce utile?
scroll top