CREACIÓN DE ESCENAS INTERACTIVAS. GRÁFICOS 2D
5.3.2. Actividad 5.10
Actividad 5.10
Vamos a realizar un ejemplo de tiro parabólico. A partir de la escena vacía anterior, entramos en su configuración y vamos introduciendo:
>> Controles:
> v: Númerico. Tipo: barra. Ubicación: Sur. Valor: 8. Nombre: Vel. Incr.: 0.1. Mínimo:1. Máximo: 12. Tiptool: Es la velocidad del objeto lanzado en m/s.
> ang: Numérico. Tipo: barra. Ubicación: Sur. Decimales: 0. Nombre: Ángulo. Incr.: 1. Mínimo: 10. Máximo: 90. Tiptool: Es el ángulo del lanzamiento.
> Tr: Numérico. Tipo: menú. Ubicación: interior. Pos: (10,270,150,18). Nombre: Trayecto. Desactivada la casilla visible. Opciones: No, Sí. Este tipo de controles es interpretado por el programa como una variable que vale 0 si escogemos No y 1 si elegimos Sí.
>> Auxiliares:
> a: Constante. Se evalúa siempre. Valor: ang*3.1416/180. Esta auxiliar sirve para pasar el ángulo a radianes, forma en que se usan con las funciones seno y coseno.
> M.Fx(x,y): Función. Valor : 0. La fuerza que va a actuar sobre el objeto M en el eje x es 0.
> M.Fy(x,y): Función. Valor : -1 Simplemente nos marcará la dirección del peso de M.
> calcular: Algoritmo (es un tipo de auxiliar que se usa mucho para inicializar conjuntos de variables; ahora lo utilizamos para las variables de nuestra macro). En el apartado hacer escribimos:
M.vel=1;M.fuerza=1
M.px=(t=0)?-4:x
M.py=(t=0)?0:y
M.vx=(v*cos(a))/10
M.vy=(v*sen(a)-9.8*t)/10
>> Gráficos:
> Punto: Dibujar si (Tr=1)&(t>0) (es decir le pedimos que trace la trayectoria y ha comenzado el movimiento. Expresión: (x,y). Casilla rastro: habilitada.
> Macro: En la línea de macro aparece una ventana desplegable, donde elegimos Dinámica y en la siguiente ventana optamos por masa. En el nombre ponemos M. De esta forma M.vel, M.fuerza etc, se refieren a este macro. (Pulse aux para ver todas las variables de la macro).
> Polígono: Expresión (-5,-0.2)(5,-0.2)(5,-5)(-5,-5). Relleno habilitado y le ponemos un color verde. Representa el suelo.
>> Animación:
> En “inicio”: t=0;dt=0.01;x=-4;y=0
En "hace" r: t=t+dt
x=x+5*M.vx*dt
y=y+5*M.vy*dt
y=(y<0)?0:y
> En “mientras”: y>0 (el objeto volará hasta que llegue al suelo). Si pulsamos aceptar podremos comprobar el funcionamiento de la escena.
Habremos obtenido algo como la actividad resuelta.
>> Controles:
> v: Númerico. Tipo: barra. Ubicación: Sur. Valor: 8. Nombre: Vel. Incr.: 0.1. Mínimo:1. Máximo: 12. Tiptool: Es la velocidad del objeto lanzado en m/s.
> ang: Numérico. Tipo: barra. Ubicación: Sur. Decimales: 0. Nombre: Ángulo. Incr.: 1. Mínimo: 10. Máximo: 90. Tiptool: Es el ángulo del lanzamiento.
> Tr: Numérico. Tipo: menú. Ubicación: interior. Pos: (10,270,150,18). Nombre: Trayecto. Desactivada la casilla visible. Opciones: No, Sí. Este tipo de controles es interpretado por el programa como una variable que vale 0 si escogemos No y 1 si elegimos Sí.
>> Auxiliares:
> a: Constante. Se evalúa siempre. Valor: ang*3.1416/180. Esta auxiliar sirve para pasar el ángulo a radianes, forma en que se usan con las funciones seno y coseno.
> M.Fx(x,y): Función. Valor : 0. La fuerza que va a actuar sobre el objeto M en el eje x es 0.
> M.Fy(x,y): Función. Valor : -1 Simplemente nos marcará la dirección del peso de M.
> calcular: Algoritmo (es un tipo de auxiliar que se usa mucho para inicializar conjuntos de variables; ahora lo utilizamos para las variables de nuestra macro). En el apartado hacer escribimos:
M.vel=1;M.fuerza=1
M.px=(t=0)?-4:x
M.py=(t=0)?0:y
M.vx=(v*cos(a))/10
M.vy=(v*sen(a)-9.8*t)/10
>> Gráficos:
> Punto: Dibujar si (Tr=1)&(t>0) (es decir le pedimos que trace la trayectoria y ha comenzado el movimiento. Expresión: (x,y). Casilla rastro: habilitada.
> Macro: En la línea de macro aparece una ventana desplegable, donde elegimos Dinámica y en la siguiente ventana optamos por masa. En el nombre ponemos M. De esta forma M.vel, M.fuerza etc, se refieren a este macro. (Pulse aux para ver todas las variables de la macro).
> Polígono: Expresión (-5,-0.2)(5,-0.2)(5,-5)(-5,-5). Relleno habilitado y le ponemos un color verde. Representa el suelo.
>> Animación:
> En “inicio”: t=0;dt=0.01;x=-4;y=0
En "hace" r: t=t+dt
x=x+5*M.vx*dt
y=y+5*M.vy*dt
y=(y<0)?0:y
> En “mientras”: y>0 (el objeto volará hasta que llegue al suelo). Si pulsamos aceptar podremos comprobar el funcionamiento de la escena.
Habremos obtenido algo como la actividad resuelta.