Está en la página 1de 20

Simulación Virtual Interactiva

etiquetas: simulación, opengl, c++, ecuaciones de euler, cuerpo rígido, masa, inercia,
fuerza, modelado

Es un documento procedente de los proyectos de guerra


electrónica y navegación que el autor ha investigado de
forma independiente, con el fin de adaptarlos a un medio
de simulación.

Los temas tratados de manera sencilla en los capítulos de


este libro, corresponden a la Simulación basada en la
física, lo cual se refiere a la integración de contacto y
análisis de la colisión de objetos geométricos en un
ambiente tridimensional, así como la cinética de los
mismos.

Este libro se ocupará de transmitir al lector aspectos


básicos e importantes sobre la evolución de la simulación
en el amplio ámbito de esta ciencia, los fundamentos de
la geometría analítica en la simulación para entender el comportamiento de un modelo de
manera más simple, la aplicación de la mecánica en entornos virtuales, la verificación de
los objetos que siguen un comportamiento mucho más complejo que el del simple trazo
geométrico; ahora el cuerpo tiene una masa, peso, dimensiones y su conducta está ligada al
tiempo.

Además, se presentan los conceptos sobre modelos 3D y sus propiedades, los cuales
definen los distintos aspectos de un modelo y su entorno bajo la programación C++ con
OpenGL. La constitución y la jerarquía de un modelo completo, como el auto y el avión y
los dispositivos que permiten la interacción del hombre con el entorno virtual, son temas
tratados en este libro, los cuales aportan en gran medida al desarrollo de simuladores tanto a
principiantes y aficionados como a expertos.
Contenido
Prefacio xi
Simulación basada en la física xiv

Capítulo 1 Simulación

1.1 Introducción 17
1.2 Conceptos básicos de la simulación en general 17
1.2.1 Modelado y Simulación 20
1.2.2 Pasos para diseñar una Simulación Virtual
Interactiva 24
1.2.3 Propósitos de la Simulación Virtual Interactiva 26
1.2.4 Ventajas y desventajas de la simulación 29
1.2.5 El soporte de la Realidad Virtual 31

Capítulo 2 Modelos matemáticos

2.1 Introducción 33
2.2 Aportes de la geometría analítica 33
2.2.1 Funciones trigonométricas 33
2.2.2 Sistema de coordenadas. El plano cartesiano 38
2.2.3 La línea recta 39
2.2.4 Curvas de segundo grado 42
2.2.5 Análisis de ecuaciones paramétricas 45
2.2.6 Coordenadas polares 48
2.2.7 Geometría analítica del espacio 51
2.2.8 El plano 51
2.2.9 Distancia entre puntos 54
2.2.10 Cosenos directores 54
2.2.11 Esferas 56
2.2.12 Cilindros 57
2.2.13 Otros sistemas de coordenadas 57
2.2.14 Aspectos geométricos de los modelos 3D 59
2.2.15 Movimiento en el plano en 3D 61

Capítulo 3 Física real para Simulación Virtual

3.1 Introducción 69
3.2 Simulación basada en la física 69
3.3 El cálculo aplicado en la física 70
3.3.1 Límites 70
3.3.2 Derivadas e integrales 71
3.3.3 Vectores, matrices y quaternions 72
3.3.4 Ecuaciones diferenciales 73
3.3.5 Transformaciones 74
3.3.6 Rotación 74
3.3.7 Quaternions 77
3.3.8 El problema del delta de t y el tiempo-real 78
3.3.9 Geometría analítica de la colisión 82
3.3.10 Sobre el concepto de Inercia 86
3.4 Mecánica 87
3.4.1 Cinemática de la partícula 88
3.4.1.1 Movimiento y velocidad media 88
3.4.1.2 Velocidad instantánea 89
3.4.1.3 Aceleración media 90
3.4.1.4 Aceleración instantánea 91
3.4.1.5 Movimiento rectilíneo uniformemente
acelerado 91
3.4.1.6 Caída libre 93
3.4.1.7 Movimiento en el plano 96
3.4.1.8 Posición de la partícula 96
3.4.1.9 Velocidad media e instantánea 97
3.4.1.10 Aceleración media e instantánea 98
3.4.1.11 Movimiento de proyectiles 99
3.4.1.12 Caída de proyectiles 103
3.4.1.13 Explosiones con partículas 105
3.4.2 Movimiento de partículas en 3D 106
3.4.2.1 Disparo de partículas 106
3.4.3 Cinemática del cuerpo rígido 109
3.4.3.1 Movimiento circular 109
3.4.3.2 Movimiento circular uniforme 110
3.4.3.3 Velocidad 110
3.4.3.4 Aceleración 110
3.4.3.5 Posición angular 111
3.4.3.6 Velocidad angular 112
3.4.3.7 Relación entre velocidades lineales y angulares 113
3.4.3.8 Aceleración angular 114
3.4.3.9 Analogía entre los movimientos uniformes
lineales y angulares 115
3.4.3.10 Aceleración centrípeta y tangencial 115
3.4.3.11 Movimiento de un satélite 117
3.4.3.12 Velocidad relativa 119
3.4.4 Conceptos de la estática 122
3.4.4.1 Fuerza 122
3.4.4.2 Tipos de fuerzas 122
3.4.4.3 Estática de la partícula – Equilibrio 123
3.4.4.4 I ley de Newton, ley de la inercia 126
3.4.4.5 Fuerzas equivalentes 126
3.4.4.6 Momento o torque 127
3.4.4.7 Equilibrio en un cuerpo rígido 130
3.4.4.8 Palancas 135
3.4.4.9 Fuerzas de rozamiento 136
3.4.5 Dinámica del cuerpo rígido 137
3.4.5.1 II ley de Newton, ley de la dinámica 137
3.4.5.2 Masa y peso 138
3.4.5.3 Centro de gravedad 139
3.4.5.4 Fuerza centrípeta y centrífuga 140
3.4.5.5 Ley de la gravitación universal 140
3.4.5.6 Campo gravitacional 142
3.4.5.7 Masa inercial y masa gravitacional 142
3.4.5.8 Trabajo, potencia y energía 142
3.4.5.9 Trabajo realizado por una fuerza variable 144
3.4.5.10 Potencia 146
3.4.5.11 Potencia y velocidad 146
3.4.5.12 Trabajo y energía cinética 147
3.4.5.13 Energía potencial 148
3.4.5.14 Energía potencial gravitacional 148
3.4.5.15 Energía potencial elástica 150
3.4.5.16 Fuerzas conservativas 150
3.4.5.17 Conservación de la energía 151
3.4.6 Rotación del cuerpo rígido 152
3.4.6.1 Masa y centro de masa 152
3.4.6.2 Momento de inercia 153
3.4.6.3 Teorema de Steiner o del eje paralelo 157
3.4.6.4 El tensor de inercia 158
3.4.6.5 Trabajo y potencia de rotación 159
3.4.6.6 Momento y aceleración angular 162
3.4.6.7 Energía cinética de rotación 162
3.4.6.8 Fuerza de Coriolis 164
3.4.7 Impulso y momento lineal 165
3.4.7.1 III ley de Newton, ley de acción y
reacción 165
3.4.7.2 Impulso 165
3.4.7.3 Momento lineal 165
3.4.7.4 Conservación del momento lineal 166
3.4.8 Colisiones o choques 169
3.4.8.1 Colisiones 169
3.4.8.2 Choques elásticos 169
3.4.8.3 Choques inelásticos 170
3.4.8.4 Coeficiente de restitución 171
3.4.8.5 Colisiones sin fricción 171
3.4.8.6 Momento angular e impulso angular 174
3.4.8.7 Conservación del momento angular 176
3.4.8.8 Representación vectorial de cantidades
angulares 178
3.4.8.9 Impulso lineal y angular 181
3.4.8.10 Efectos angulares del cuerpo rígido 183
3.4.8.11 Colisión y fricción 184
3.4.8.12 Respuesta de colisión 187
3.5. Elasticidad 193
3.5.1 Fuerzas elásticas 193
3.5.2 Resortes y amortiguadores 194
3.5.3 Simulación de tela 195
3.5.4 Fuerzas aerodinámicas en la tela 199
3.6 Mecánica de fluidos 201
3.6.1 Fluidos en reposo 201
3.6.2 Densidad 201
3.6.3 Presión en un fluido 201
3.6.4 Principio de Arquímedes 202
3.6.5 Boyancia 203
3.6.6 Resistencia y sustentación – Drag / Lift 203
3.6.7 Ecuación de Bernoulli 205
3.6.8 Viscosidad 206
3.6.9 Ley de Poiseuille 207
3.6.10 Número de Reynolds 207
3.6.11 Ley de Stokes 208
3.7 Cinemática inversa 209

Capítulo 4 Ecuaciones del movimiento

4.1 Introducción 211


4.2 Cinética en tres dimensiones 212
4.2.1 Mecánica del vuelo 229
4.2.1.1 Movimiento alrededor del eje transversal 229
4.2.1.2 Movimiento alrededor del eje longitudinal 236
4.2.2 Cinética del auto 244

Capítulo 5 Escenario 3D

5.1 Introducción 251


5.2 El modelo como archivo en disco 251
5.3 Imágenes, bitmaps y texturas 263
5.3.1 Texturizado 264
5.4 La imagen en memoria 270
5.5 Terreno 275
5.6 Simulación de la superficie del mar 276

Capítulo 6 Consolas y Controles

6.1 Introducción 285


6.2 Caracteres y fuentes 285
6.3 Pulsadores, interruptores y LEDs 294
6.4 Modelos interactivos 301
6.5 Controladores 307
6.6 Electrónica digital 310
6.7 Tarjetas gráficas 315
6.8 Sockets, protocolos de comunicación 316
6.9 Sonido 321

Capítulo 7 Métodos numéricos

7.1 Introducción 323


7.2 Método de Euler 325
7.3 Método de Taylor 326
7.4 Método de Runge-Kutta 326

Anexo A Resumen de magnitudes y unidades 331


Anexo B Momento de inercia de algunas figuras 333

Bibliografía 335
Acerca del Autor 337
Índice 339

Simulación basada en la física


La palabra "Virtual" significa "casi", "irreal", "no físico" y se utiliza para describir algo que
existe pero es intocable, contrario a las cosas reales que se pueden tocar por métodos
convencionales. Pero también se dice que un dispositivo virtual es un prototipo que tiene la
función de trabajar como el equipo real, pero que por definición no es su propósito. El
propósito válido de un dispositivo virtual es permitir a la gente entrenarse o aprender como
si fuera en el equipo real.

Aunque muchos libros dicen que es una manera de evitar daños en el equipo real, es más
que seguro de que su propósito es formar personas por más tiempo en que lo hacen en el
equipo real. La Realidad Virtual, la simulación y materias como las matemáticas, la física y
muchas otras de las que usted puede tomar ventaja, pueden darle las herramientas para
construir el simulador correcto, ese que no se puede encontrar en el mercado común.

Mucha gente piensa que hay sólo una manera de hacer un simulador. Esto no es cierto.
Aunque el producto final puede ser idéntico a otro, el proceso de programación, la
organización e incluso las ecuaciones pueden ser diferentes entre productos. Las
simulaciones permiten que se pueda reproducir el mundo y los modelos en la forma en que
sean comprendidos. Las simulaciones utilizan muchos supuestos, porque es imposible
simular todas las cosas que suceden alrededor del problema que se quiere solucionar. En
este tipo de simulaciones se deben tener todos los posibles supuestos bien definidos y que
no representen una gran parte de las consideraciones iniciales que se deben configurar para
desarrollar el simulador. Al principio no se tendrán muchas ideas de qué hacer. Construir
un simulador debe ser algo bien planeado y por muchas personas de diferentes áreas o
disciplinas, quienes pueden describir la mejor forma para desarrollarlo. Por esta razón, en
este libro se expondrán los detalles importantes y los métodos para construir diferentes
simuladores, tales como el avión o simulador de vuelo, el auto o de carreras y todos ellos
utilizan métodos similares para ser programados, pero sus respectivos propósitos y esos
aspectos de la física como los valores que conciernen al modelo, tal como los coeficientes
dinámicos y formas, hacen la gran diferencia entre ellos. Por ejemplo, un dispositivo como
el panel del avión tiene muchos instrumentos y quizá la forma en que se deben construir es
la misma para el automóvil, pero sus propósitos es algo que se debe tener presente todo el
tiempo, porque el correcto uso del instrumento es lo que hace distinguir entre volar un
barco y sumergir un avión.

El primer tema a evocar es la física. Esta rama de la ciencia tiene las ecuaciones para mover
un cuerpo en el espacio 3D. La cinética, la cinemática, la estática y la dinámica aplicadas
en los cuerpos virtuales permitirán entender el modelo real. Se debe ser capaz de poner ese
conocimiento en el mundo virtual con ayuda de la física a través de lenguajes que pueden
ensamblar las ecuaciones en líneas de la computación. Normalmente cuando se falla en la
creación de un simulador, no es debido a las herramientas que se estén utilizando. Se debe
más que todo a los pocos conocimientos que se tenga de los tópicos que se estén tratando
de simular. No es nada fácil hacer un simulador de vuelo cuando no se tiene idea de lo que
es la fuerza de resistencia o la sustentación. Así que si se tiene la buena intención de
desarrollar un simulador se debe empezar con tener el conocimiento adecuado en física
primero. La buena noticia es que no se tiene que convertir en un físico-matemático para
hacer simuladores. Además, si se es bueno en hacer dibujos a mano, este es un gran talento
a explotar, porque entender el mundo a través del papel puede ayudarle a hacer lo mismo en
el mundo virtual, aunque no todas las personas que saben cómo dibujar en papel encuentran
fácil el aprender a dibujar en computadoras.

Entonces, la primera herramienta que se debe aprender es OpenGL en la que se puede


desarrollar aplicaciones con gráficos en tiempo real. Estas bibliotecas permiten crear
mundos virtuales y modelos que más tarde pueden ser utilizados en los simuladores o en un
videojuego. Bajo C++, OpenGL y sus extensiones permitirán que usted programe el motor
3D correcto para aquellos modelos que necesite. OpenGL GLUT Utility Toolkit, es una API
(Application Programming Interface) para crear modelos 3D y componentes GUI
(Graphics User Interface) portátiles que utilizan el mecanismo de devolución de llamada
simple para gestión de eventos. Otra herramienta actualizada es GLFW, la cual
perfectamente se puede utilizar para ayudar en la construcción de estos modelos. Como
dice la referencia, GLFW es una API portátil que se encarga de tareas específicas
relacionado al sistema operativo con la programación de OpenGL. Por lo tanto, se necesita
aprender OpenGL para entender los modelos que se presentan aquí. Al final del libro,
puede encontrar algunas referencias para ese propósito.

OpenGL es fácil de aprender y se puede configurar en diferentes plataformas en el contexto


de Windows, con WIN32 o consola, MAC OS X y Linux. Otros tipos de software que
realmente se deben tener en cuenta son los de foto edición, donde se puede preparar las
texturas para construir o revestir el aspecto del simulador o partes de él. La aplicación de
texturas es esencialmente el primer proceso que se debe aprender a realizar. Para la
creación de mallas, puede utilizar 3DsMax.

El objetivo debe ser reproducir modelos más grandes de los que pueda encontrar en este
libro, los que evidentemente se pueden mejorar para hacer diferentes simuladores. Algunos
buenos modelos no pueden ser funcionales en todos los simuladores. Así que hay que tener
cuidado cuando se requiere poner algunas líneas de otros programas o ideas de otros en sus
programas. Lo mejor es aprender primero todo lo que se pueda y más adelante sin ayuda,
preparar sus propios modelos.

Será bueno para mí si este libro es o fue bueno para usted. Espero que estas líneas le
permitan hacer su vida más fácil. En muchos países, parece que sí hay interés en la
producción de tecnología virtual, motivo por el cual decidí escribir este libro, esperando
que lo que está en mi cerebro pueda ser bueno para alguien en el mundo. No importa dónde
esté.

Jairo Uparella, Agosto de 2013

Capítulo Ejemplo

3.4.1.11 Movimiento de proyectiles

Sin tener en cuenta la resistencia del aire, los proyectiles en caída libre están sometidos
solamente a una aceleración vertical g dirigida hacia abajo. Esto es, la componente y de un
proyectil tendrá un movimiento rectilíneo uniformemente acelerado (g constante) mientras
que la componente x, tendrá un movimiento rectilíneo uniforme, pues no hay aceleración.

Este supuesto reducen los problemas a problemas de aceleración constante, lo cual en este
caso es debido a la gravedad. De acuerdo con la II ley de Newton:
f = ma

ay = fy /m = –mg /m = –g

lo que también se puede escribir como:

a = –g j
Entonces, supóngase que el proyectil parte del origen con una velocidad inicial vo y que a
su vez, forma un ángulo θ con respecto a la horizontal. Tomando el eje y hacia arriba, las
ecuaciones cinemáticas están dadas por:

ax = 0 ay = –g
vx = vo cos θo vy = –gt + vo sen θo
x = vo cos θo t y = vo sen θo t – ½ gt2

Ejemplo elemental: Desde el suelo, un proyectil es disparado con una velocidad de 10 m/s,
con un ángulo de 37º con respecto a la horizontal. Las ecuaciones del movimiento están
dadas por:

ax = 0 ay = –9.8
vx = 10(0.8) vy = –9.8 t + 10(0.6)
x = 10(0.8) t y = –1/2(9.8)t2 + 10(0.6)t

Cuando hace impacto en el suelo la ordenada y es 0, por lo tanto, el tiempo de vuelo del
objeto es:

0 = –5t2 + 6t, 5t2 = 6t, t = 6/5 = 1.2s

La distancia que alcanzó es: x = 8(1.2) = 9.6m

La altura máxima es: vy = 0 = –10t + 6. Despejando el tiempo para alcanzar esta posición:

t = 6/10 = 0.6s, y la ordenada y, proporciona la altura máxima:

y = –5(0.6)2 + 6(0.6) = 1.8 m

Movimiento de proyectiles.
t g Vo Theta Theta rad Vx Vy X Y
0.2 9.8 10 37 0.645771823 7.9863551 4.06 1.60 1.01
0.4 9.8 10 37 0.645771823 7.9863551 2.10 3.19 1.62
0.6 9.8 10 37 0.645771823 7.9863551 0.14 4.79 1.85
0.8 9.8 10 37 0.645771823 7.9863551 –1.82 6.39 1.68
1 9.8 10 37 0.645771823 7.9863551 –3.78 7.99 1.12
1.2 9.8 10 37 0.645771823 7.9863551 –5.74 9.58 0.17
1.4 9.8 10 37 0.645771823 7.9863551 –7.70 11.18 –1.18
1.6 9.8 10 37 0.645771823 7.9863551 –9.66 12.78 –2.91
∆t= 0.2
2.00

1.50

1.00

0.50

0.0
12
-0.50 - 2 4 6 8 10

-1.00

-1.50

Figura 3.14 Representación XY del ejemplo del proyectil

Una vez más haciendo caso omiso a los efectos aerodinámicos del proyectil, a continuación
se describen algunas cualidades del movimiento cinético de estos cuerpos:

- La trayectoria describe una parábola. En algunos lapsos de tiempo puede mostrar una
trayectoria rectilínea pero no exacta.

- El máximo rango se alcanza a un ángulo de 45º para una velocidad dada.

- La velocidad al momento del impacto es igual a la velocidad de lanzamiento cuando los


puntos correspondientes están al mismo nivel.

- La componente vertical de la velocidad es 0 en el punto más alto de la trayectoria.

- Si los puntos de impacto y lanzamiento están al mismo nivel, el tiempo requerido para
alcanzar el punto más alto de la trayectoria desde el lanzamiento es igual al tiempo desde
el punto más alto hasta alcanzar el punto de impacto. Las ecuaciones a utilizar en este tipo
de problemas se muestran a continuación:

x = (vo cos θ )t
y = (vo sen θ)t – (gt2)/2
vx = vo cos θ
vy = vo sin θ – gt
v = sqrt(vo2 – 2gt vo sin θ + g2t2)
h = (vo2 sin2θ) / (2g)
r = vo t cos θ
t = (2vo sin θ) / g

Existen ciertos casos del movimiento de proyectiles los cuales relacionan entre sí a los
niveles de puntos de lanzamiento e impacto. Es posible que estos puntos estén en diferentes
niveles por lo que las ecuaciones varían dependiendo de la altura.
Cuando el punto de lanzamiento está localizado en el plano horizontal más bajo que el
punto de impacto, las ecuaciones varían sólo para t:

t = (vo sin θ) / g + sqrt(2(h–b)/g)

vo

 h b

Figura 3.15 El blanco está en un punto más alto que el de lanzamiento

Para el caso contrario, es decir, cuando el blanco se encuentra en un nivel más bajo que el
punto del lanzamiento, las ecuaciones cambian sólo para h y t:

h = b + (vo2 sin2θ) / (2g)

t = (2vo sin θ) / g + sqrt((2h)/g)

3.4.1.12 Caída de proyectiles

Este tipo de simulaciones involucra caída de proyectiles desde un sistema en movimiento


tal como un avión. La velocidad inicial del proyectil es horizontal y es igual a la velocidad
del vehículo que lo arroja.

Se puede ver que cuando la velocidad inicial es 0, este problema se reduce a uno de caída
libre.
h

Figura 3.16 El proyectil parte con la velocidad del sistema en movimiento que lo lanza

A continuación se presentan las ecuaciones del lanzamiento de proyectiles desde una


plataforma en movimiento. Se asume que ninguna otra fuerza actúa sobre el proyectil:

x = vo t
y = h – (gt2)/2
vx = vo
vy = – gt
v = sqrt(vo2 + g2t2)
h = (gt2) / 2
r = vo t
t = sqrt(2h / g)

Ejemplo elemental: Un avión que vuela a una altura de 1200 m, con una velocidad de 200
km/h, deja caer una bomba sobre un blanco.

El tiempo que tarda la bomba en impactar es: 2h = 9,8 t2 = 2400 = 9.8 t2, por lo que t =
15.65 s

El rango o distancia horizontal recorrida por la bomba en ese tiempo es:

r = 200 km/h * 1000/3600 * 15.65s


r = 869.4 m
Capítulo ejemplo

3.4.2 Movimiento de partículas en 3D

3.4.2.1 Disparo de partículas

Para desarrollar simulaciones de la cinemática de partículas en el espacio 3D y bajo la


representación vectorial, simplemente se adiciona la componente k como vector unitario en
la dirección del eje z.

s=xi+yj+zk
por lo tanto,

v = ds/dt = d/dt (x i + y j + z k) = dx/dt i + dy/dt j + dz/dt k

a = dv/dt = d2s/dt = d2x/dt i + d2y/dt j + d2z/dt k

Siguiendo con el ejemplo del disparo de un proyectil, a continuación se aprecia como es el


comportamiento del mismo bajo el espacio 3D.

Para este caso se tiene en cuenta la velocidad y el ángulo de disparo compuesto por la
elevación y el ángulo horizontal.

l
x
y vs

α
β

Figura 3.18 Orientación del cañón por medio de ángulos y las componentes vectoriales
El ángulo de elevación α permite que el cañón se mueva de arriba hacia abajo; el ángulo β
parte del eje x hacia la línea de proyección p del cañón sobre plano (xz), determinando así
la orientación del cañón; en otras palabras, la dirección que toma el vector velocidad de
salida vs, cuyo valor es:
vs = vsx i + vsy j + vsz k

Con base en los cosenos directores se empieza por determinar primero las componentes de
la velocidad, acorde con la ecuación anterior:

cosθx = vsx / vs cosθy = vsy / vs cosθz = vsz / vs

Pero con respecto a la longitud l del cañón, los valores para los cosenos directores están
definidos por:

cosθx = lx / l cosθy = ly / l cosθz = lz / l

La proyección p del cañón está definida por:

p = l cos ( 90º – α )
También se definen las componentes de la longitud l del cañón para los ejes coordenados:

lx = p cos β ly = l cos α lz = p sen β

En resumen, para el eje x se tienen definidas las componentes del desplazamiento,


velocidad y aceleración:

ax = 0
vsx = vx = vs cosθx
x = vx t = vs cosθx t

Para el caso del eje y, la velocidad inicial se define como:

vsy = vs cosθy
ay = –g
vy = vsy + at = vs cosθy – gt

Teniendo en cuenta la elevación del cañón y la altura, se necesita calcular la componente


inicial yo del desplazamiento, siendo yb la elevación de la base y l la longitud del cañón:

yo = yp + l cos α

por lo que el valor de y está dado por:

y = yo + vsyt + ½ at2
reemplazando,

y = (yp + l cos α )+ (vs cosθy ) – ½ gt2


Para las componentes en z:

az = 0
vsz = vz = vs cosθz
z = vz t = vs cosθz t

Los vectores se definen combinando las componentes halladas:


s = ( (vs cosθx ) t ) i + ( (yb + l cos α ) + (vs cosθy ) – ½ gt2 ) j +
((vs cosθz t )) k

v = ((vs cosθx )) i + ((vs cosθy – gt )) j + ((vs cosθz )) k

a = –g j

Capítulo ejemplo
Ejemplo elemental: Un modelo computarizado de la caída de un objeto debe tener en
cuenta que la velocidad con la cual estos objetos se mueven es extremadamente rápida para
que se pueda apreciar en una pantalla pequeña. Para esto se ha cambiado la configuración
de la forma de registrar la caída del objeto en cuestión, haciendo un dt muy pequeño.

En este modelo que puede ser reiniciado presionando la tecla “+”, permite visualizar una
bola que atravesando el aire, cae en un medio viscoso sin detener su descenso. Las
siguientes son sus características:

#define PI 3.141592654

void handleKeypress(unsigned char key, int x, int y)


{

switch(key)
{
case '+':
h=10;
v=0;
FD=0;
FR=0;
break;
case 27:
exit(0);
} }
void init()
{
masa = 2.0; //kg
h=20; //m
r= 0.5; //m
ro = 1.29;
cd = 0.5;
visc = 1.3923; //kg/ m s
glEnable(GL_DEPTH_TEST);
}

El valor del dt es dividido por 1000 para conseguir una mayor visualización del objeto
cayendo. El programa puede ser configurado en la opción GlutTimerFuntion para mostrar
cuadros cada 25 ms. Se ha tomado como referencia el nivel del fluido la altura de valor 0.
Si la esfera llega a caer por debajo de ese nivel, se cambia enseguida el medio pasando de
los valores de las fuerzas de rozamiento del aire a fuerzas de resistencia y empuje en el
fluido viscoso. Si h = 8 ha tocado fondo.

time = glutGet(GLUT_ELAPSED_TIME);
dt = (time - oldtime)/1000; // define delta T
oldtime=time;

if (h<=-8)
{h =-8;
v = 0;
}
else
{

A=PI*r*r;
vt = sqrt((masa*9.8)/(ro*A*cd));
FW = masa*(-9.8);

if (h >= 0) FD = 0.5*0.5*ro*PI*r*r*cd; // fuerza de resistencia aire


else FD=0;

if (h < 0) FR= -6*PI*visc*1.0*v + FW; // fricción medio viscoso + empuje


else FR=0;

sFuerzas = FW + FD + FR;

ay= sFuerzas / masa;

v = v + ay*dt;

h = h + v*dt + 0.5 * ay * dt*dt;

}
glTranslatef (0.0 , h, -25); //ubicación retirado de pantalla

glPushMatrix();
glColor3f(1.0f, 1.3f, 0.0f);
Sphere = gluNewQuadric(); //define la bola
gluSphere( Sphere, 0.5, 10, 3);
glPopMatrix();

glutSwapBuffers();
glFlush();
}

La bola caerá acelerándose con la gravedad, pero el aire que choca contra ésta, ejerce una
resistencia (fuerza de resistencia) que en términos generales es proporcional a la forma del
cuerpo, la superficie que enfrenta al viento, la velocidad relativa del cuerpo con el aire,
elevada al cuadrado y la densidad del fluido. Antes de la programación de este modelo, hay
que verificar que las gráficas correspondientes son las adecuadas y representaran lo que
sucede con el movimiento en caída de la esfera.

Desde una altura de 20 metros, se obtiene la velocidad, aceleración y la fuerza de


resistencia. En la hoja no se muestran los cálculos de la fricción y empuje.

dv/dt = 9.8 – 0.253/m v2

t v a h H
0,00 0,00 0,00 0,00 20,00
0,05 0,49 0,02 0,02 19,98
0,10 1,47 0,17 0,15 19,83
0,15 2,90 0,61 0,44 19,39
0,20 4,64 1,53 0,96 18,43
0,25 6,41 3,14 1,70 16,73
0,30 7,79 5,47 2,58 14,14
0,35 8,53 8,46 3,50 10,64
0,40 8,76 11,96 4,46 6,18
0,45 8,80 15,92 5,57 0,61
0,50 8,80 20,32 6,94 -6,33
0,55 8,80 25,16 8,64 -14,98

El valor de v está sumado al valor v anterior (no del reposo). El valor de Vt y la velocidad
tendría un comportamiento ajustado a las siguientes ecuaciones:

Vt = sqrt(2mg/ρCDA) = 8.80

V = Vt ( 1 – exp(-t m/1/2 ρCDA))


9,0

8,0

7,0

6,0

5,0

4,0

3,0

2,0

1,0

0,0

0,0 0,2 0,4 0,6 0,8 1,0 1,2

Figura 4.4 Gráfica de la curva de la velocidad terminal del modelo.


Dónde adquirirlo
https://www.autoreseditores.com/libro/8616/jairo-uparella/simulacion-
virtual-interactiva.html
MIL GRACIAS POR TU APOYO A ESTE TEMA QUE CADA DÍA ES
MÁS UTILIZADO EN CENTROS DE FORMACIÓN PARA LA
CREACIÓN DE SISTEMAS INTERACTIVOS

BIENVENIDO AL VERDADERO

ENTRENAMIENTO EN ENTORNOS VIRTUALES


PROYECTO “SIMULACIÓN MARÍTIMA, FLUVIAL Y
PORTUARIA”
1er puesto mejor proyecto I maker expo
Cartagena

https://www.scribd.com/document/384167817/SIMULACION-MARITIMA-
FLUVIAL-Y-PORTUARIA

https://www.scribd.com/user/1214897/Jairo-Uparella