Aproximação Poligonal da Braquistócrona com Dissipação
Lúcio Fassarella & Géssica Lacerda Siqueira
CEUNES/UFES
Setembro/2014
Atualização: 22/09/2014
Parâmetros e funções auxiliares
PrintA"PARÂMETROS: massa HmL, aceleração gravitacional HgL, coeficiente de
resistência do ar HΛL, coeficiente de atrito HΜL, altura inicial
HhL, deslocamento horizontal HdL e velocidade inicial HvoL."E
m=1
g = 10
Λ = 0.001
Μ = 0.001
h = 10
d = 10
vo = 0
H* FUNÇÕES E ROTINAS AUXILIARES *L
Ρ@x1_, y1_, x2_, y2_D := HHx2 - x1L ^ 2 + Hy2 - y1L ^ 2L ^ H1  2L
z@x1_, y1_, x2_, y2_D := g * HΜ * Hx2 - x1L + y2 - y1L * HΡ@x1, y1, x2, y2DL ^ H- 2L
Ω@x1_, y1_, x2_, y2_, v_D := v  Ρ@x1, y1, x2, y2D + m * z@x1, y1, x2, y2D  Λ
r@x1_, y1_, x2_, y2_, v_D :=
v  Ρ@x1, y1, x2, y2D - Λ  m + Hm  ΛL * z@x1, y1, x2, y2D * Log@m * Ρ@x1, y1, x2, y2D *
z@x1, y1, x2, y2D  Hm * Ρ@x1, y1, x2, y2D * z@x1, y1, x2, y2D + Λ * vLD
H* Função Tempo de Percurso de Segmento *L
1
T1@x1_, y1_, x2_, y2_, v_D :=
m z@x1, y1, x2, y2D Λ Ρ@x1, y1, x2, y2D
m v Λ + m2 z@x1, y1, x2, y2D Ρ@x1, y1, x2, y2D - Λ2 Ρ@x1, y1, x2, y2D +
m2 z@x1, y1, x2, y2D Ρ@x1, y1, x2, y2D ProductLogB
-1-
- ã
Λ Hm v-Λ Ρ@x1,y1,x2,y2DL
m 2 z@x1,y1,x2,y2D Ρ@x1,y1,x2,y2D
Hv Λ + m z@x1, y1, x2, y2D Ρ@x1, y1, x2, y2DL “
Hm z@x1, y1, x2, y2D Ρ@x1, y1, x2, y2DLF
H* Função TS Tempo de Percurso de Segmento: verifica se o tempo
de percurso do segmento é finito pelo teste de condições
suficientes e chama a rotina ET no caso positivo *L
TS@x1_, y1_, x2_, y2_, v_D := ModuleB8t, s<,
-1-
s= ã
F
Λ Hm v-Λ Ρ@x1,y1,x2,y2DL
m 2 z@x1,y1,x2,y2D Ρ@x1,y1,x2,y2D
Hv Λ + m z@x1, y1, x2, y2D Ρ@x1, y1, x2, y2DL “
Hm z@x1, y1, x2, y2D Ρ@x1, y1, x2, y2DL;
t = If@s < 1  E , N@T1@x1, y1, x2, y2, vDD, ¥D;
Return@tD;
H* Função VF:
calcula a velocidade da partícula na extremidade final de um segmento,
para dados extremos inicial e final e a velocidade
inicial da partícula *L
VF@x1_, y1_, x2_, y2_, v_D := v - HΛ * Ρ@x1, y1, x2, y2D  mL -
2
brc.nb
VF@x1_, y1_, x2_, y2_, v_D := v - HΛ * Ρ@x1, y1, x2, y2D  mL z@x1, y1, x2, y2D * Ρ@x1, y1, x2, y2D * TS@x1, y1, x2, y2, vD
H* Função TP: calcula o tempo de percurso de uma poligonal para
dadas velocidade inicial da partícula 'vo' e poligonal definida
por uma lista 'J ' com 'a+2' números inteiros entre -b e +b,
começando com 'b' e terminando com '0' *L
TP@a_, b_, J_D := Module@
8Τ, T, W, K, X, Y<,
T = 0;
W = vo;
K = 0;
X = Table@Hi - 1L * d  Ha + 1L, 8i, 1, a + 2<D;
Y = Table@JPiT * h  b, 8i, 1, a + 2<D;
Do@8Τ = TS@XPiT, YPiT, XPi + 1T, YPi + 1T, WD,
If@Τ < ¥,
8
T = T + Τ,
W = VF@XPiT, YPiT, XPi + 1T, YPi + 1T, WD,
K = i<,
8T = ¥,
W = 0,
K = i<
D
<,
8i, 1, a + 1<
D;
Return@8T, W, K<D;
D
PARÂMETROS: massa HmL, aceleração gravitacional HgL,
coeficiente de resistência do ar HΛL, coeficiente de atrito HΜL, altura
inicial HhL, deslocamento horizontal HdL e velocidade inicial HvoL.
1
10
0.001
0.001
10
10
0
brc.nb
H* ROTINA BRC = Cálculo da aproximação poligonal da braquistócrona,
no conjunto das poligonais com vértices intermediários definidos
pelos pares de inteiros na grade retangular @1,aDx@-b,bD *L
H* Função que retorna o 'n-ésimo' algarismo do número 'x' na base 'b' *L
Dgt@b_, n_, x_D := IntegerPart@Mod@x, b ^ nD  b ^ Hn - 1LD
BRC@a_, b_D := Module@8B, P, T, J, Τ<,
B = 2 * b + 1;
P = Table@IntegerPart@b - b * Hi - 1L  Ha + 1LD, 8i, 1, a + 2<D;
T = TP@a, b, PDP1T;
J = P;
For@k = 0, k £ B ^ a - 1, k ++,
For@i = 1, i £ a, i ++,
JPi + 1T = Dgt@B, i, kD - bD;
Τ = TP@a, b, JDP1T;
If@Τ < T, T = Τ; P = J, T = T; J = JD
D;
Return@8T, P<D;
D
Print@"Parâmetros"D
a=4
b=5
H* Cálculo do Tempo de Percurso *L
BRCab = BRC@a, bD;
Print@"Tempo de percurso:"D
Tempo = BRCabP1T
Print@"Ordenadas dos vértices da poligonal:"D
Poligonaly = BRCabP2T * h  b
Print@"Vértices da poligonal:"D
Poligonal = Table@8Hi - 1L * d  Ha + 1L, PoligonalyPiT<, 8i, 1, a + 2<D
Print@"Plotagem da poligonal:"D
Show@Graphics@Point@PoligonalDD, Graphics@Line@PoligonalDD,
PlotRange ® 880, d<, 8- h, h<<, Axes ® True,
AxesOrigin ® 80, 0<, Background ® [email protected], 0.93, 0.68DD
Parâmetros
4
5
Tempo de percurso:
2.00167
Ordenadas dos vértices da poligonal:
810, 8, 6, 4, 2, 0<
Vértices da poligonal:
880, 10<, 82, 8<, 84, 6<, 86, 4<, 88, 2<, 810, 0<<
Plotagem da poligonal:
3
4
brc.nb
10
5
2
-5
-10
4
6
8
10
Download

Aproximação Poligonal da Braquistócrona com Dissipação