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