Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mecanica (2 curso)
Curso 2011-12
Universidad
P
ublica de Navarra
Nafarroako
Unibertsitate Publikoa
Practica 2.
Ecuaciones de enlace con
3D_Mec
Indice
1 Resumen.
2 Caso planteado.
3 Texto 3D_Mec.
3.1 Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Codigo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
7
1.
Resumen.
Practica 1.
En esta practica se simulara con 3D_Mec la cinematica de un sistema plano que incluye Ecuaciones de Enlace Geometrico y Ecuaciones de Enlace Cinem
atico (incluida la condicion de no
deslizamiento).
Finalizadas esta practica y la anterior se habran visto ya las instrucciones para
derivar
magnitudes
escalares
(coordenadas y velocidades generalizadas),
(operacion muy u
til para realizar comprobaciones),
dibujar referencias,
dibujar vectores,
dibujar solidos complejos como union de los solidos sencillos que los forman (paraleleppedos,
cilindros, anillos y/o esferas),
escribir texto en la ventana grafica de la aplicacion, OpenGL Output,
derivar vectores (operacion imprescindible en el calculo de velocidades y aceleraciones),
calcular velocidades y aceleraciones por composicion,
resolver el Problema de Posici
on (Ecuaciones de Enlace Geometrico),
resolver el Problema de Velocidad (Ecuaciones de Enlace Cinem
atico para las velocidades) y
resolver el Problema de Aceleraci
on (Ecuaciones de Enlace Cinem
atico para las aceleraciones).
3D_Mec.
Pag. 1 de 19
Dis
Dis
Dis
2
2
Dis
Dis
Dis2
2
2
2
J
J
J
J
J
J
C
C
C
C
C
C
V
V
(C)
(C)
VSue
Sue
Sue
Sue
Sue(C)
Sue
Sue
Sue
Barr
Barr
Barr
2
2
2
Barr
Barr
Barr2
2
2
2
2
A
A
A
(C)
(C)
Sue
Sue
A
A
ASue
(C)
(C)
(C)
Sue
Sue
Sue (C)
zz
A
A
ASue
(B)
(B)
(B)
Sue
Sue
Sue
Sue(B)
A
A
A
(B)
(B)
Sue
Sue
Sue
Imp
Imp
Imp
Imp
Imp
Imp
O
O
O
O
O
O
A
A
A
A
A
A
Dis
Dis
Dis
1
1
Dis
Dis
Dis1
1
1
1
Barr
Barr
Barr
1
1
1
Barr
Barr
Barr1
1
1
1
1
B
B
B
B
B
B
xx
IIIIII
V
(B)
(B)
(B)
VSue
V
V
V
(B)
(B)
Sue
Sue
Sue(B)
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
2.
3D_Mec.
Caso planteado.
El sistema plano a simular (figuras 1, 2, 3 y 4) consta de los solidos Imp, Barr1 , Dis1 , Barr2
y Dis2 (impulsor, barra y disco 1 y barra y disco 2 respectivamente). No existe deslizamiento en los
puntos I (contacto entre Sue y Dis1 ) y J (contacto entre Sue y Dis2 ).
3D_Mec.
Pag. 2 de 19
Dis
Dis
Dis
2
2
Dis
Dis
Dis2
2
2
2
J
J
J
J
J
J
C
C
C
C
C
C
V
(C)
V
(C)
(C)
VSue
V
V
V
(C)
(C)
Sue
Sue
Sue(C)
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Barr
Barr
Barr
2
2
2
Barr
Barr
Barr2
2
2
2
2
A
A
A
(C)
(C)
Sue
Sue
A
A
ASue
(C)
(C)
(C)
Sue
Sue
Sue (C)
zz
ASue
(B)
A
(B)
A
(B)
A
A
A
(B)
(B)
Sue
Sue
Sue(B)
Imp
Imp
Imp
Imp
Imp
Imp
O
O
O
O
O
O
A
A
A
A
A
A
Dis
Dis
Dis
1
1
Dis
Dis
Dis1
1
1
1
Barr
Barr
Barr
1
1
1
Barr
Barr
Barr1
1
1
1
1
B
B
B
B
B
B
xx
IIIIII
V
VSue
(B)
(B)
(B)
V
V
V
(B)
(B)
Sue
Sue
Sue
Sue(B)
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
3D_Mec.
Pag. 3 de 19
A
A
A
(C)
(C)
Sue
Sue
ASue
(C)
A
(C)
A
(C)
Sue (C)
Sue
Sue
J
J
J
J
J
J
C
C
C
C
C
C
Dis
Dis
Dis
2
2
2
Dis
Dis
Dis2
2
2
2
2
zz
Barr
Barr
Barr
2
2
2
Barr
Barr
Barr2
2
2
2
2
V
V
VSue
(C)
(C)
(C)
V
V
V
(C)
(C)
Sue(C)
Sue
Sue
Sue
Sue
Sue
Sue
Dis
Dis
Dis
1
1
Dis
Dis
Dis1
1
1
1
A
A
A
A
A
A
Barr
Barr
Barr
1
1
1
Barr
Barr
Barr1
1
1
1
1
B
B
B
B
B
B
Imp
Imp
Imp
Imp
Imp
O
O
O
O
O
O
A
A
ASue
(B)
(B)
(B)
Sue
Sue
Sue (B)
A
(B)
A
(B)
A
Sue
Sue
xx
V
VSue
(B)
(B)
(B)
V
V
V
(B)
(B)
Sue(B)
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
IIIIII
Sue
Sue
Sue
Sue
3D_Mec.
Pag. 4 de 19
A
A
A
(C)
(C)
Sue
Sue
ASue
(C)
A
(C)
A
(C)
Sue (C)
Sue
Sue
J
J
J
J
J
J
C
C
C
C
C
C
Dis
Dis
Dis
2
2
2
Dis
Dis
Dis2
2
2
2
2
zz
Barr
Barr
Barr
2
2
2
Barr
Barr
Barr2
2
2
2
2
V
V
VSue
(C)
(C)
(C)
V
V
V
(C)
(C)
Sue
Sue
Sue(C)
Sue
Sue
Sue
Sue
Dis
Dis
Dis
1
1
Dis
Dis
Dis1
1
1
1
A
A
A
A
A
A
Barr
Barr
Barr
1
1
1
Barr
Barr
Barr1
1
1
1
1
B
B
B
B
B
B
Imp
Imp
Imp
Imp
Imp
O
O
O
O
O
O
A
A
ASue
(B)
(B)
(B)
Sue (B)
Sue
Sue
A
A
A
(B)
(B)
Sue
Sue
xx
V
VSue
(B)
(B)
(B)
V
V
V
(B)
(B)
Sue(B)
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
Sue
IIIIII
Sue
Sue
Sue
Sue
3D_Mec.
Pag. 5 de 19
3.
Texto
3.1.
3D_Mec.
Variables.
=
=
=
=
=
=
punto
punto
punto
punto
punto
punto
OB = OB
OC = OC
BIg = BIg
CJg = CJg
n
oT 0
0
OIgZ = OIg
x yz
1 x yz
Bases:
xyz
Babc
Buvw
[1]
3D_Mec,
[2]
3D_Mec,
3D_Mec.
Pag. 6 de 19
OmSue(Imp)
= Sue (Imp)
VSue(B), ASue(B)
VSue(C), ASue(C)
3.2.
1
C
odigo.
3D_Mec.
2
3
REM Pi:=3.141592654
REM Par
ametros.
REM ~~~~~~~~~~~
b:=2
:= es el operador de asignacion. La asignacion b:=..., como todas, realiza dos operaciones: define b
y le da un valor inicial (2 en este caso).
[3]
3D_Mec;
3D_Mec).
3D_Mec.
Pag. 7 de 19
10
11
12
a1:=6
a2:=8
d:=12
R:=2
13
14
15
16
17
psi:=3.14159265358/6
La asignacion psi:=3.14159265358/6, igual que las demas, realiza dos operaciones: define psi y le
da un valor inicial (/6 en este caso). Si psi representa a una coordenada, es decir, puede
variar con el tiempo, no se puede definir con la asignaci
on aparentemente equivalente
psi:=Pi/6. Si se definiera as, 3D_Mec entendera que psi toma siempre el valor Pi/6 y, por tanto,
solo podra variar con el tiempo si lo hiciera Pi/6. Este comportamiento de 3D_Mec no es mas que una
consecuencia logica de la coherencia que 3D_Mec mantiene en todo momento con todas las variables
de modo que cualquier asignacion realizada entre ellas se mantiene hasta el final.
18
19
20
teta1:=3.14159265358/9
fi1:=0
21
D(psi):=psi
La asignacion D(psi):=psi define psi como la derivada temporal de psi. A partir de ahora, el
valor de psi se correspondera, en todo momento, con la derivada temporal de psi. Por otro lado,
definir la derivada temporal de psi indica que psi es una coordenada, no un parametro como a1 o
ametros).
R; es as como 3D_Mec distingue entre variables y constantes (coordenadas y par
22
23
24
25
D(teta1):=teta1
D(fi1):=fi1
D(psi):=psi
La asignacion D(psi):=psi define psi como la derivada temporal de psi. Todas las consideraciones realizadas a raz de la asignacion D(...):=psi son aplicables aqu.
26
27
28
29
30
D(teta1):=teta1
D(fi1):=fi1
REM ---- COMIENZO DE INSTRUCCIONES ELIMINADAS ---REM \\\\\\\\\\\\\\\\\\\\\\\\/////////// ?/?/?///
Definir las coordenadas, velocidades y aceleraciones generalizadas correspondientes a los solidos Barr2
y Dis2 .
33
34
35
36
37
3D_Mec.
Pag. 8 de 19
38
39
psi:=2
La asignacion psi:=2 no define nada (psi ya ha sido definida). El objeto de esta asignacion es dar
a psi un valor inicial (el valor inicial por defecto es 0). Cuando 3D_Mec necesite el valor de psi y
este no venga dado por alguna asignacion o ecuacion previa, utilizara su valor inicial.
40
41
42
43
44
45
46
47
48
49
50
51
52
teta1:=1
fi1:=1
psi:=0
teta1:=0
fi1:=0
REM Puntos, bases y referencias.
REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
REF(Sue,O,xyz)
BASE(Babc,xyz,1,psi)
La instruccion BASE(Babc, xyz, 1, psi) define la base Babc como aquella cuya orientacion se alcanza
girando la base xyz alrededor de su eje no 1 el angulo psi.
53
REF(Imp,O,Babc)
La instruccion REF(Imp, O, Babc) define la referencia Imp dando uno de sus puntos, O, y su orientacion, la de la base Babc.
54
55
POINT(A,O,{[0,b,0]}Babc)
0
b
.
0
abc
BASE(Buvw,xyz,1,-teta1)
REF(Barra1,A,Buvw)
POINT(B,A,{[0,a1,0]}Buvw)
BASE(Buvw,xyz,1,fi1)
REF(Disco1,B,Buvw)
REM ---- COMIENZO DE INSTRUCCIONES ELIMINADAS ---REM \\\\\\\\\\\\\\\\\\\\\\\\/////////// ?/?/?///
67
68
69
70
71
72
3D_Mec.
Pag. 9 de 19
75
76
77
78
79
80
81
82
83
84
rBarr:=R/10
rAniInt:=1.2*rBarr
rAniExt:=2*rBarr
rmAni:=(rAniInt+rAniExt)/2
85
86
87
VISUAL(-20,10,10,0,8,5)
La instruccion VISUAL(...) permite dar valores iniciales a los controles de la ventana OpenGL Visual
Dialog de 3D_Mec. Los valores, (-20, 10, 10, 0, 8, 5) en este caso, estan dados en el mismo orden en
que figuran los correspondientes controles en la citada ventana (phi, theta, rho, x, y y z) y pueden
obtenerse observando la cabecera de la ventana grafica, OpenGL Output.
88
89
90
91
92
93
POINT(PTxt,O,{[-d/2,0,6*R]}xyz)
REM Referencia (o s
olido) Sue.
DRAW_REFERENCE(Sue,4,RGB(0.7,0.7,0.7,1))
SueX:=d/2
SueY:=d
SueZ:=d/10
POINT(CentroSue,O,{[0,SueY/2,-R-SueZ/2]}xyz)
POINT(PunCilSueIni,O,{[-6*rBarr,0,0]}xyz)
POINT(PunCilSueFin,O,{[6*rBarr,0,0]}xyz)
103
104
105
ParedX:=SueX
ParedY:=SueZ
ParedZ:=3*SueY/4
POINT(CentroPared,O,{[0,d+ParedY/2,3*ParedZ/4]}xyz)
106
107
RGB(0.7,0.7,0.7,0.5)
3D_Mec.
Pag. 10 de 19
RGB(...) es la instruccion de 3D_Mec que define colores. Los tres primeros parametros dan la cantidad
de rojo, verde y azul del color deseado. El valor extremo RGB(0,0,0) sera el negro. En este ejemplo,
RGB(0.7, 0.7, 0.7, 0.5), el valor dado a dichos parametros se ha limitado al rango 01, pero la
instruccion admite valores mayores. El cuarto parametro es opcional y permite dar la opacidad del
objeto; si no se especifica, o vale 1, el objeto es opaco; a medida que su valor disminuye, el objeto
se hace mas transparente. Cuando, como en este caso, la instruccion RGB(...) figura aislada, todas
las sentencias de dibujo del tipo DRAW_...(...) que figuren a continuacion la utilizaran como valor
por defecto del color y opacidad del objeto dibujado.
108
DRAW_PARALLELEPIPED(CentroSue,xyz,SueX,SueY,SueZ,0)
DRAW_PARALLELEPIPED(CentroPared,xyz,ParedX,ParedY,ParedZ,0)
DRAW_CYLINDER_P(PunCilSueIni,PunCilSueFin,rBarr,1)
DRAW_CYLINDER(PunCilSueIni,xyz,rBarr,-R-SueZ,3,1)
DRAW_CYLINDER(PunCilSueFin,xyz,rBarr,-R-SueZ,3,1)
DRAW_SPHERE(PunCilSueIni,xyz,rBarr)
DRAW_SPHERE(PunCilSueFin,xyz,rBarr)
3D_Mec.
Pag. 11 de 19
REM Referencia (o s
olido) Imp.
DRAW_REFERENCE(Imp,3*b/4,RGB(0.39,0.74,0.61,1))
119
120
121
POINT(PunImpIni,O,{[0,rmAni,0]}Babc)
122
123
RGB(0.39,0.74,0.61,0.5)
DRAW_EMPTY_CYLINDER_ARC(O,Babc,rAniExt,rAniInt,-2*rBarr,2*rBarr,0,360,1)
La instruccion DRAW_EMPTY_CYLINDER_ARC(...) dibuja un arco de tubo cilndrico. Los valores proporcionados a la instruccion, (O, Babc, rAniExt, rAniInt, -2*rBarr, 2*rBarr, 0, 360, 1) en
este caso, se interpretan de la siguiente manera:
O es un punto situado en el eje del arco de tubo cilndrico.
Babc es la base correspondiente a la orientacion del arco de tubo cilndrico.
rAniExt es el radio exterior.
rAniInt es el radio interior.
-2*rBarr es la distancia a la que se encuentra el inicio del arco de tubo cilndrico medida sobre su
eje desde el punto O.
2*rBarr es la distancia a la que se encuentra el final del arco de tubo cilndrico (medida igual).
0 y 360 son los angulos inicial y final, en grados, que limitan el arco (si toman los valores 0 y 360,
respectivamente, se representa un tubo cerrado).
1 indica que el eje del arco de tubo cilndrico se corresponde con la direccion 1 de la base dada
(Babc).
124
125
126
DRAW_CYLINDER_P(PunImpIni,A,rBarr,1)
DRAW_CYLINDER(A,Babc,rBarr,6*rBarr,1,1)
DRAW_SPHERE(A,Babc,rBarr)
127
128
129
REM Referencia (o s
olido) Barra1.
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
DRAW_REFERENCE(Barra1,3*a1/4,RGB(0.9,0.3,0.9,1))
DespX1:=4*rBarr
POINT(ADespX,A,{[DespX1,0,0]}Buvw)
POINT(BDespX1,B,{[DespX1,0,0]}Buvw)
POINT(PunBarra1Ini,ADespX,{[0,rmAni,0]}Buvw)
POINT(PunBarra1Fin,BDespX1,{[0,-rmAni,0]}Buvw)
RGB(0.9,0.3,0.9,0.5)
DRAW_CYLINDER_P(PunBarra1Ini,PunBarra1Fin,rBarr,1)
DRAW_EMPTY_CYLINDER_ARC(ADespX,Buvw,rAniExt,rAniInt,-2*rBarr,2*rBarr,0,360,1)
DRAW_EMPTY_CYLINDER_ARC(BDespX1,Buvw,rAniExt,rAniInt,-2*rBarr,2*rBarr,0,360,1)
REM Referencia (o s
olido) Disco1.
DRAW_REFERENCE(Disco1,1.5*R,RGB(1,0.45,0.13,1))
RGB(1,0.45,0.13,0.5)
DRAW_CYLINDER(B,Buvw,R,rBarr/2,1,1)
DRAW_CYLINDER(B,Buvw,R,-rBarr/2,1,1)
DRAW_CYLINDER(B,Buvw,rBarr,6*rBarr,1,1)
DRAW_CYLINDER(B,Buvw,rBarr,-6*rBarr,1,1)
3D_Mec.
Pag. 12 de 19
152
153
154
REM Referencia (o s
olido) Barra2.
155
156
Dibujo de la referencia Barr2 y representacion esquematica del solido como union de solidos sencillos
(cilindros, anillos . . . ).
159
160
161
162
163
164
165
REM Referencia (o s
olido) Disco2.
166
Dibujo de la referencia Dis2 y representacion esquematica del solido como union de solidos sencillos
(cilindros, anillos . . . ).
169
170
171
172
173
174
175
La instruccion P(O, B) proporciona el vector de posicion que parte del punto O y acaba en B, OB.
Los puntos O y B deben estar ya definidos; el punto O, predefinido en 3D_Mec, es la excepcion.
176
177
PRINT(OB)
PRINT({OB}Babc)
Las instrucciones PRINT(...) seguidas de la instruccion PAUSE son un ejemplo de la forma en que
se puede ir comprobando el fichero 3D_Mec en desarrollo. PRINT(...) admite como parametro casi
de todo. Si se trata de un vector, 3D_Mec da su proyeccion en una base cualquiera a no ser que se
.
una base cualquiera elegida por 3D_Mec y PRINT({OB}Babc) fuerza a 3D_Mec a mostrar OB
abc
178
179
180
181
182
PRINT({OB}xyz)
PAUSE
REM DRAW_VECTOR(O,OB,1,RGB(1,1,0,0.2)) ERROR de representaci
on!
REM DRAW_VECTOR(O,P(O,B),1,RGB(1,1,0,0.2))
3D_Mec.
Pag. 13 de 19
183
184
185
186
187
REM Definici
on, escritura y dibujo de vectores velocidad angular.
188
189
OmSue(Barra1):=OM(Sue,Barra1)
La instruccion OM(Sue, Barra1) devuelve el vector velocidad angular de la referencia o solido Barra1
para un observador en la referencia Sue, Sue (Barr1 ). Los valores proporcionados a la instruccion
son entendidos como orientaciones por lo que pueden ser referencias o bases indistintamente.
190
191
192
OmSue(Disco1):=OM(Sue,Disco1)
PRINT(OmSue(Barra1))
PRINT(OmSue(Disco1))
193
194
DRAW_VECTOR(B,OmSue(Disco1),4,RGB(0,0,0,1))
POINT(Ig,B,{[0,0,-R]}xyz)
198
VSue(B):=D(OB,Sue)
El operador D(...) permite derivar vectores para un observador dado; en este caso, D(OB, Sue)
calcula la derivada de OB para un observador en Sue. Es decir, la asignacion VSue(B):=D(OB,
Sue)
no es mas que la traduccion a la sintaxis de 3D_Mec de la ecuacion VSue (B) = d OB .
d t Sue
199
ASue(B):=D(VSue(B),Sue)
La asignacion ASue(B):=D(VSue(B),
Sue) es la traduccion a la sintaxis de
d VSue (B)
ASue (B) =
.
dt
Sue
200
201
202
203
204
205
206
3D_Mec
de la ecuacion
PRINT(VSue(B))
PRINT(ASue(B))
DRAW_VECTOR(Ig,VSue(B),1.5,RGB(0,0,1,1))
DRAW_VECTOR(B,ASue(B),1.2,RGB(1,0,0,1))
Calcular por derivaci
on, escribir y dibujar VSue (C) y ASue (C).
3D_Mec.
Pag. 14 de 19
209
210
211
212
213
214
BIg:=P(B,Ig)
VSue(IDis1):=VSue(B)+OmSue(Disco1)^BIg
Ecuacion VSue (IDis1 ) = VSue (B) + Sue (Dis1 ) BIg con la sintaxis de
215
3D_Mec.
ASue(IDis1):=ASue(B)+OmSue(Disco1)^(OmSue(Disco1)^BIg)+D(OmSue(Disco1),Sue)^BIg
Ecuacion ASue (IDis1 ) = ASue (B) + Sue (Dis1 ) Sue (Dis1 ) BIg + Sue (Dis1 ) BIg , sa
d Sue (Dis1 )
biendo que Sue (Dis1 ) =
, con la sintaxis de 3D_Mec.
dt
Sue
216
217
218
219
220
DRAW_VECTOR(Ig,VSue(IDis1),2,RGB(0,0,0,1))
DRAW_VECTOR(Ig,ASue(IDis1),1.2,RGB(1,0.66,0.29,1))
REM ---- COMIENZO DE INSTRUCCIONES ELIMINADAS ---REM \\\\\\\\\\\\\\\\\\\\\\\\/////////// ?/?/?///
Calcular y dibujar VSue (JDis2 ) y ASue (JDis2 ).
223
224
225
226
227
228
229
230
231
232
233
234
235
La posici
on que se observa en la salida gr
afica es incorrecta puesto que no
se ha resuelto el problema de posici
on. Los vectores velocidad y aceleraci
on
dibujados son correctos para los valores iniciales dados, pero no tienen en
cuenta las condiciones de enlace.
DRAW_TEXT(PTxt,xyz,1,"EEG no aplicadas.",0.8,RGB(0,0,0,1))
La instruccion DRAW_TEXT(...) escribe el texto dado en la ventana grafica de 3D_Mec. Los valores
proporcionados a la instruccion, (PTxt, xyz, 1, "EEG no aplicadas.", 0.8, RGB(0,0,0,1)) en
este caso, se interpretan de la siguiente manera:
PTxt es el punto elegido para situar el texto.
xyz es una base auxiliar que indica, junto con el siguiente valor, el plano del espacio en el que se
desea escribir el texto.
1 indica que el texto se escribira en el plano perpendicular al eje 1 de la base dada (xyz).
EEG no aplicadas. es el texto a escribir.
0.8 es el tama
no del fuente utilizado para escribir el texto.
RGB(0,0,0,1) es el color del texto.
Practica 2. Ecuaciones de enlace con
3D_Mec.
Pag. 15 de 19
236
237
PAUSE
UNDRAW_LAST_OBJECT
OIg:=P(O,Ig)
OIgZ:={OIg}xyz*{[0,0,1]}xyz
REM ---- COMIENZO DE INSTRUCCIONES INCOMPLETAS ---REM \\\\\\\\\\\\\\\\\\\\\\\\/////////// ?/?/?///
Completar la instrucci
on NON_LINEAR_EQUATION_SYSTEM() escribiendo en la ventana todas las coordenadas generalizadas elegidas como dependientes.
246
247
248
249
250
251
NON_LINEAR_EQUATION_SYSTEM(teta1, ..................................................................................................................)
REM /// ?/?/?///////////\\\\\\\\\\\\\\\\\\\\\\\\
REM ----- FINAL DE INSTRUCCIONES INCOMPLETAS ----OIgZ=-R
REM ---- COMIENZO DE INSTRUCCIONES ELIMINADAS ---REM \\\\\\\\\\\\\\\\\\\\\\\\/////////// ?/?/?///
253
254
255
256
3D_Mec garantiza el cumplimiento de todo sistema de ecuaciones a partir del momento en que queda
planteado.
La ventana de parametros de la instruccion NON_LINEAR_EQUATION_SYSTEM(...) (o, en sistemas de
ecuaciones lineales, LINEAR_EQUATION_SYSTEM(...)) debe incluir, en principio, la lista de variables
resueltas por el sistema de ecuaciones (las incognitas); dichas variables pasaran a ser dependientes
de las demas. En este ejemplo, se observa que es posible resolver el problema de posicion variando
psi o teta1; la eleccion es libre y solo depende de la variable que quiera utilizarse como independiente durante la simulacion cinematica. En simulaciones dinamicas, el sistema queda resuelto por
las correspondientes ecuaciones, es decir, su evolucion queda completamente determinada por el
estado posicion y velocidad inicial; el control de que grados de libertad controlan la simulacion
no es posible en ese caso.
3D_Mec.
Pag. 16 de 19
PRINT(psi)
PRINT(teta1)
PRINT(fi1)
REM
REM
REM
REM
266
267
268
269
270
271
272
273
274
Completar la instrucci
on LINEAR_EQUATION_SYSTEM() escribiendo en la ventana todas las velocidades
generalizadas elegidas como dependientes.
277
278
279
280
LINEAR_EQUATION_SYSTEM(teta1,fi1, .............................................................................................................. )
REM /// ?/?/?///////////\\\\\\\\\\\\\\\\\\\\\\\\
REM ----- FINAL DE INSTRUCCIONES INCOMPLETAS ----D(OIgZ)=0
La instruccion D(...) aqu utilizada realiza la derivada temporal del escalar (tambien podra ser
una 3-tupla) dado como argumento (OIgZ en este caso). Se trata de otro uso del operador D tambien
utilizado en la derivacion de vectores.
{VSue(IDis1)}xyz={[0,0,0]}xyz
REM ---- COMIENZO DE INSTRUCCIONES ELIMINADAS ---REM \\\\\\\\\\\\\\\\\\\\\\\\/////////// ?/?/?///
281
282
283
285
286
287
288
3D_Mec.
Pag. 17 de 19
289
290
291
292
PRINT(psi)
PRINT(teta1)
PRINT(fi1)
293
294
295
296
297
298
299
300
301
Completar la instrucci
on LINEAR_EQUATION_SYSTEM() escribiendo en la ventana todas las aceleraciones generalizadas elegidas como dependientes.
304
305
306
307
308
309
310
LINEAR_EQUATION_SYSTEM(teta1,fi1, .......................................................................................................... )
REM /// ?/?/?///////////\\\\\\\\\\\\\\\\\\\\\\\\
REM ----- FINAL DE INSTRUCCIONES INCOMPLETAS ----D(D(OIgZ))=0
D({VSue(IDis1)}xyz)={[0,0,0]}xyz
REM ---- COMIENZO DE INSTRUCCIONES ELIMINADAS ---REM \\\\\\\\\\\\\\\\\\\\\\\\/////////// ?/?/?///
312
313
314
315
PRINT(psi)
PRINT(teta1)
PRINT(fi1)
320
321
322
323
324
325
326
REM Integraci
on.
3D_Mec.
Pag. 18 de 19
327
328
329
REM ~~~~~~~~~~~~
RK4(0.02,100,0.02,0)
La instruccion RK4(...) integra en la variable tiempo las ecuaciones planteadas con el metodo de
Runge Kutta de orden 4. El resultado es la simulacion. Los valores proporcionados a la instruccion,
(0.02, 100, 0.02, 0) en este caso, se interpretan de la siguiente manera:
El primer valor, 0.02, es el incremento de tiempo con el que se realiza la integracion.
El segundo, 100, es el intervalo de tiempo a lo largo del cual se desea realizar la integracion (tiempo
de duracion de la simulacion).
El tercer valor, 0.02, es el incremento de tiempo con el que se actualiza la ventana grafica. El valor
0 hace que no se visualice la evolucion del sistema a lo largo de la integracion.
El u
ltimo valor, 0, esta relacionado con el control del fichero de estado (para mas detalles cons
ultese
el manual de 3D_Mec). Si vale 0, no se utiliza dicho fichero.
3D_Mec.
Pag. 19 de 19