Principal | Gráficos 3D | Gráficos 2D | Fractales | Math | Códigos | Tutoriales | Links
Si x, y, z son las componentes del vector A se
define como modulo a |A| = sqrt(x*x + y*y + z*z).
//modulo de un vector GLfloat Modulo(GLfloat x, GLfloat y, GLfloat z) { GLfloat len; len = x*x + y*y + z*z; return ( sqrt(len)); } |
Se llama haci al vector que tiene como modulo a 1.
//Vector de mudulo 1 o Normalizado GLvoid Normaliza(GLfloat *x, GLfloat *y, GLfloat *z) { GLfloat len; len = Modulo(*x, *y, *z); len = 1.0/len; (*x) *= len; (*y) *= len; (*z) *= len; } |
Se llama producto escalar de dos vectores A, B al escalar obtenido como producto de los modulos de A y B por el coseno del angulo formado por los dos vectores.
A.B = |A|*|B|*cos(rho)
tambien se lo puede expresar mediante sus componentes
A.B = a1*b1 + a2*b2 + a3*b3
//Producto Escalar GLfloat ProductoEscalar(GLfloat A[], GLfloat B[]) { return (A[0]*B[0] + A[1]*B[1] + A[2]*B[2]); } |
Se llama producto vectorial de dos vectores A y B al vector C que tiene
Lo podemos expresar tambien por sus coponentes A(a1,a2,a3) , B(b1,b2,b3), C(c1,c2,c3).
C=AxB
c1 = a2*b3 - a3*b2
c2 = a3*b1 - a1*b3
c3 = a1*b2 - a2*b1
//Producto Vectorial GLvoid ProductoVectorial(GLfloat A[], GLfloat B[], GLfloat *C1, GLfloat *C2, GLfloat *C3) { *C1 = A[1]*B[2] - A[2]*B[1]; *C2 = A[2]*B[0] - A[0]*B[2]; *C3 = A[0]*B[1] - A[1]*B[0]; } |
valcoey@hotmail.com
Ramiro Alcocer, 2001
Principal | Gráficos 3D | Gráficos 2D | Fractales | Math | Códigos | Tutoriales | Links