codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
from math import sqrt class point(): #Definition d'un point 3D def __init__(self, x = 0, y = 0, z=0): self.__doc__ = "Definition d'un point 3D : point(x,y,z) " self.x = x self.y = y self.z = z self.coord = [x,y,z] def __repr__(self): return "%s %s %s" % (self.x, self.y, self.z) class vector(): def __init__(self, point1 = point(), point2 = point()): self.__doc__ = "Definition d'un vecteur 3D : vecteur(point1, point2) " self.coord = [[point1, point2]] self.point1 = point1 self.point2 = point2 self.x = self.point1.x - self.point2.x self.y = self.point1.y - self.point2.y self.z = self.point1.z - self.point2.z def __repr__(self): return "%s,%s,%s" % (self.x,self.y,self.z) def Norme(self): return sqrt(self.x*self.x + self.y*self.y + self.z*self.z) class vertex(): def __init__(self, point1 = point(), point2 = point(), point3 = point()): self.__doc__ = "Definition d'un vertice (triangle) 3D : vertex(point1,point2,point3)" self.coord = {point1, point2, point3} self.point1, self.point2, self.point3 = point1, point2, point3 self.coord_mat = [point1,point2,point3] self.vecteur1 = vector(point1, point2) self.vecteur2 = vector(point2, point3) self.vecteur3 = vector(point3, point1) self.vecteurs = [self.vecteur1, self.vecteur2, self.vecteur3] def __repr__(self): return "%s;%s;%s" % (self.vecteur1.__repr__(),self.vecteur2.__repr__(),self.vecteur3.__repr__()) def Normale(self): u1 = vector(self.point1, self.point2) u2 = vector(self.point1, self.point3) X = u1.y*u2.z-u1.z*u2.y Y = u1.z*u2.x-u1.x*u2.z Z = u1.x*u2.y-u1.y*u2.x a = point(0,0,0) b = point(X,Y,Z) norme = vector(a,b).Norme() if (norme==0): return None return (X/norme,Y/norme,Z/norme)
Private
[
?
]
Run code
Submit