• No se han encontrado resultados

Sean los vectores a = (4, -2, 3) y b = (3, 2, 1), y sean las operaciones siguientes: ( 3, 2,1) ( 33, 22,11)

N/A
N/A
Protected

Academic year: 2021

Share "Sean los vectores a = (4, -2, 3) y b = (3, 2, 1), y sean las operaciones siguientes: ( 3, 2,1) ( 33, 22,11)"

Copied!
8
0
0

Texto completo

(1)

Betanzo Vásquez Erick Manuel. Tarea # 1.

Computación Gráfica.

Ejemplos matemáticos:

Sean los vectores a = (4, -2, 3) y b = (3, 2, 1), y sean las operaciones siguientes: Producto punto

(

4, 2, 3

) (

3, 2,1

) ( ) (

4 3 2 2

) ( )

3 1 12 ( 4) 3 11 a b a b = − = ⋅ + − ⋅ + ⋅ = + − + = i i i Producto cruz 4 2 3 8 5 14 ( 8, 5,14) 3 2 1 i j k a b× = − = − +i j+ k = −

Proyección de un vector sobre otro

(

) (

)

(

)

(

) (

)

2 2 2 2 2 2 4, 2, 3 3, 2,1 3, 2,1 3 2 1 3 2 1 3, 2,1 33, 22,11 11 14 14 14 b b a b b Comp vect a b b Comp vect a     = =   + +  + +      =  =   i i

La proyección escalar del vector a sobre el vector b corresponde al valor de 11

14

mientras que la proyección vectorial es:

(

33, 22,11

)

14

(2)

Líneas y rayos

Para determinar una ecuación de una recta se necesitan como datos las coordenadas de un punto de ella, o el vector de posición de dicho punto; y un vector que indique la dirección de la recta, que se conoce como vector director.

Pertenencia y Distancia de Punto a Recta y Plano

La distancia entre dos objetos es la menor de entre las distancias de sus puntos. De un punto a un plano o a una recta es la distancia al pie de la perpendicular del punto al plano o recta.

En el caso de la recta, notemos que el triangulo que forma el punto P con el segmento P0-P1 tiene altura d, que es la distancia buscada. En el caso del plano sucede lo mismo con el volumen del tetraedro formado por el punto y el triangulo. El área del triangulo es la mitad del área del paralelogramo que se forma con dos vectores y se calcula mediante el producto vectorial. El volumen del tetraedro es un sexto del paralelepípedo formado con tres vectores y se calcula mediante el triple producto escalar. La distancia se puede calcular entonces mediante área o volumen dividido base:

(3)

Si el resultado es nulo, el punto pertenece a la recta o al plano.

La primera ecuación da un vector normal al plano definido por la recta y el punto. En la segunda, para el plano, el signo del resultado indica de que lado del plano esta el punto. En ambos casos, si la información extra resulta inútil, bastara con tomar el modulo.

Aplicaciones para computación gráfica en OpenGL. Vectores

Modulo de un vector

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)); } Vector Normalizado

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; }

(4)

Producto Escalar

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]); }

Producto Vectorial

Se llama producto vectorial de dos vectores A y B al vector C que tiene

el modulo igual al producro de los modulos de A y B por el seno del angulo que lo forman, AxB = |A|*|B|*sin(rho)

la direccion perpendicular al plano determminado por las direcciones de los vectores A, B. el sentido tal que el triedro A, B, C tenga la misma orientacion en el espacio.

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]; }

(5)

El sistema de coordenadas Esfericas se puede definir utilizando las siguientes variables r, rho, theta, donde rho se mide desde el eje Z y theta desde el eje X.

Las relaciones entre r, rho, theta y x, y, z son las siguientes: x=r*sin(rho)*cos(theta) y=r*sin(rho)*sin(theta) z=r*cos(rho) donde r=(x2+y2+z2)1/2. Ejemplo en C

Ejemplo en OpenGL del uso de las coordenadas esfericas para dibujar los puntos de una esfera de radio 1.

Codigo Fuente#include <GL/glut.h> #include <stdlib.h> #include <stdio.h> #include <math.h> #definePI 3.141592654 void DibujarEjes(void) { glBegin(GL_LINES); //eje X glVertex3f(-1.5, 0.0, 0.0); glVertex3f(1.5, 0.0, 0.0); //eje Y glVertex3f(0.0, -1.5, 0.0); glVertex3f(0.0, 1.5, 0.0);

(6)

//eje Z glVertex3f(0.0, 0.0, -1.5); glVertex3f(0.0, 0.0, 1.5); glEnd(); } void DibujarEsfera(void) { float x, y, z;

float r=1.0, rho, theta; int i, j; glBegin(GL_POINTS); rho=0.0; x=(float)(r*sin(rho)*cos(theta)); y=(float)(r*sin(rho)*sin(theta)); z=(float)(r*cos(rho)); glVertex3f(x, y, z); for (i=1; i<23; i++) {

rho=PI*i/24; for (j=0; j<16; j++) { theta=2*PI*j/16; x=(float)(r*sin(rho)*cos(theta)); y=(float)(r*sin(rho)*sin(theta)); z=(float)(r*cos(rho)); glVertex3f(x, y, z); } } rho=PI; x=(float)(r*sin(rho)*cos(theta)); y=(float)(r*sin(rho)*sin(theta)); z=(float)(r*cos(rho)); glVertex3f(x, y, z); glEnd(); } void init(void) { glClearColor(0.0, 0.0, 0.0, 0.0); } void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glPushMatrix(); gluLookAt(2.0, 2.0, 4.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);

(7)

//ejes en verde glColor3f (0.0, 1.0, 0.0); DibujarEjes(); //ejes en amarillo glColor3f (1.0, 1.0, 0.0); DibujarEsfera(); glPopMatrix(); glFlush(); }

void reshape(int w, int h) {

if (!h)

return;

glViewport(0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluPerspective(45.0, (GLfloat) w/(GLfloat) h, 1.0, 100.0); glMatrixMode(GL_MODELVIEW);

glLoadIdentity(); }

void keyboard(unsigned char key, int x, int y) { switch (key) { case 27: exit(0); break; } }

int main(int argc, char **argv) { glutInit(&argc, argv); glutInitWindowSize(400, 400); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutCreateWindow("Coordenadas Esfericas"); init(); glutDisplayFunc(display); glutReshapeFunc(reshape); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; }

(8)

Bibliografía:

Castañeda de Isla Puga Eric. Geometría Analítica en el Espacio. México, UNAM, Facultad de Ingeniería, 2000, 229 pp.

http://pgrafica.webideas4all.com/

http://www.cimec.org.ar/twiki/pub/Cimec/ComputacionGrafica/Intersecciones.doc.pdf http://www.humbertocervantes.net/homepage/itzamna/TUTORIAL/tutorial.html http://www.humbertocervantes.net/homepage/itzamna/TUTORIAL/tutorial.html

Referencias

Documento similar

scheme with correction has been proven as accurate as the second order scheme, a double simulation with the standard anisotropic model with

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Si el progreso de las instituciones de Derecho público no ha tenido lugar en los pueblos que se han reservado para el Poder judicial en abso- luto las

Tal como se ha expresado en El Salvador coexisten dos tipos de control de constitucionalidad: el abstracto y el concreto. Sobre ambos se ha proporcionado información que no precisa

Lo más característico es la aparición de feldespatos alcalinos y alcalino térreos de tamaño centimétrico y cristales alotriomorfos de cuarzo, a menudo en agregados policristalinos,

Imparte docencia en el Grado en Historia del Arte (Universidad de Málaga) en las asignaturas: Poéticas del arte español de los siglos XX y XXI, Picasso y el arte español del

Que en la reumon de la Comisión de Gestión Interna, Delegada del Consejo Social, celebrada el día 17 de marzo de 2011 , con quórum bastante para deliberar y

De esta manera, ocupar, resistir y subvertir puede oponerse al afrojuvenicidio, que impregna, sobre todo, los barrios más vulnerables, co-construir afrojuvenicidio, la apuesta