Você está na página 1de 6

# CC_Curvas_Praticas_Ex23_2014.

wxmx 1 / 6

## Começamos por inicializar a package `draw`

set_draw_defaults(
dimensions =[500,300],
proportional_axes = xy,
axis_top=false,axis_bottom=false,
axis_left=false, axis_right=false,
grid =true,
xaxis = true,
xaxis_type = solid,
xaxis_width = 1,
xaxis_color = black,
xtics_axis = true,
yaxis = true,
yaxis_width = 1,
yaxis_type = solid,
yaxis_color = black,
ytics_axis = true,
line_width = 2
)\$

Equação vetorial paramétrica de uma recta que no instante t0 passa no ponto P0=[P0x,P0y]
e no instante t1 passa no ponto P1=[P1x,P1y].

## (%i3) reta(t0,t1,P0,P1,t):= P0+(t-t0)/(t1-t0)*(P1-P0);

t − t0
(%o3) reta t0 , t1 , P0 , P1 , t := P0 + P1 − P0
t1 − t0

(%i4) reta(t0,t1,P0,P1,t0);reta(t0,t1,P0,P1,t1);
(%o4) P0
(%o5) P1

(%i6) reta(0,1,[0,-1/2],[2,-1/2],t);
reta(0,1,[0,-1/2],[2,-1/2],0);
reta(0,1,[0,-1/2],[2,-1/2],1);
1
(%o6) [ 2 t , − ]
2
1
(%o7) [ 0 , − ]
2
1
(%o8) [ 2 , − ]
2

(%i9) retangulo(t):=
if t>=0 and t< 1 then reta(0,1,[0,-1/2],[2,-1/2],t) else
if t>=1 and t< 2 then reta(1,2,[2,-1/2],[2,1/2],t) else
if t>=2 and t< 3 then reta(2,3,[2,1/2],[0,1/2],t) else
if t>=3 and t<= 4 then reta(3,4,[0,1/2],[0,-1/2],t)\$

(%i10) vertices_ret:[retangulo(0),retangulo(1),retangulo(2),retangulo(3)];
1 1 1 1
(%o10) [ [ 0 , − ] , [ 2 , − ] , [ 2 , ] , [ 0 , ] ]
2 2 2 2
CC_Curvas_Praticas_Ex23_2014.wxmx 2 / 6

(%i11) wxdraw2d(xrange=[-1,3],yrange=[-1,1],
parametric(retangulo(t)[1],retangulo(t)[2],t,0,4));

(%t11)

(%o11)

(%i12) wxdraw2d(xrange=[-1,3],yrange=[-1,1],
parametric(retangulo(t)[1],retangulo(t)[2],t,0,4),
point_size = 2, point_type=filled_circle, color=red,
points(vertices_ret));

(%t12)

(%o12)

Analise a variação das coordenadas x e y do retangulo quando t percorre os intervalos [0,1], [1,2], [2,3] e [3,4].
CC_Curvas_Praticas_Ex23_2014.wxmx 3 / 6

(%i13) wxdraw2d(
color=red,
explicit(retangulo(t)[1],t,0,4),
color=green,
explicit(retangulo(t)[2],t,0,4));

(%t13)

(%o13)

## (%i14) tmin:0\$ tmax:4\$ numt:16\$

lista_tempos:makelist(tmin+k*(tmax-tmin)/numt, k, 0, numt)\$

with_slider_draw(
u, lista_tempos,
xrange=[-1,3],yrange=[-1,1],

parametric(retangulo(t)[1],retangulo(t)[2],t,tmin, tmax),

## point_size = 2, point_type=filled_circle, color=red,

points([retangulo(u)])
);

(%t18)

(%o18)

c)

## (%i19) d_reta(t0,t1,P0,P1):= 1/(t1-t0)*(P1-P0);

1
(%o19) d_reta t0 , t1 , P0 , P1 := P1 − P0
t1 − t0

CC_Curvas_Praticas_Ex23_2014.wxmx 4 / 6

(%i20) V_retangulo(t):=
if t>0 and t< 1 then d_reta(0,1,[0,-1/2],[2,-1/2]) else
if t>1 and t< 2 then d_reta(1,2,[2,-1/2],[2,1/2]) else
if t>2 and t< 3 then d_reta(2,3,[2,1/2],[0,1/2]) else
if t>3 and t< 4 then d_reta(3,4,[0,1/2],[0,-1/2])\$

(%i21) V_retangulo(1/2);V_retangulo(1+1/2);V_retangulo(2+1/2);V_retangulo(3+1/2);
(%o21) [ 2 , 0 ]
(%o22) [ 0 , 1 ]
(%o23) [ − 2 , 0 ]
(%o24) [ 0 , − 1 ]

## O retangulo não admite vetor derivada nos vertices correspondentes a t = 0,1,2,3.

Todos os pontos são regulares.
Não há pontos de reversão.

## d) Determine e represente as retas tangentes ao retangulo nos pontos (0,-1/2), (1,-1/2).

(%i25) retangulo(0);r12:retangulo(1/2);
1
(%o25) [ 0 , − ]
2
1
(%o26) [ 1 , − ]
2

## Definição vetorial paramétrica da reta tangente ao retangulo no ponto correspondente a t0

(t é o parâmetro da reta).

(%i27) reta_tang_ret(t,t0):=retangulo(t0)+t*V_retangulo(t0);
(%o27) reta_tang_ret t , t0 := retangulo t0 + t V_retangulo t0

## No vertice (0,-1/2) não há reta tangente.

(%i28) reta_tang_ret(t,-1/2);
(%o28) t false + false

(%i29) rtang:reta_tang_ret(t,1/2);
1
(%o29) [ 2 t + 1 , − ]
2

(%i30) wxdraw2d(xrange=[-1,3],yrange=[-1,1],
parametric(retangulo(t)[1],retangulo(t)[2],t,0,4),
color=green,
parametric(rtang[1],rtang[2],t,-1,1),
point_size = 2, point_type=filled_circle, color=red,
points([r12]));

(%t30)

(%o30)
CC_Curvas_Praticas_Ex23_2014.wxmx 5 / 6

## (e) Calcule o comprimento total do rectangulo descrito pela trajectória.

(%i31) norma2(vetor):=sqrt(vetor.vetor);
(%o31) norma2 vetor := vetor . vetor

Calculo da rapidez.

(%i32) norma2(V_retangulo(1/2));norma2(V_retangulo(1+1/2));norma2(V_retangulo(2+1/2));norma2(V_retangulo(3+1/2));
(%o32) 2
(%o33) 1
(%o34) 2
(%o35) 1

`s(t1)´ - comprimento do arco em `t1`, contado partir de `t=t0` - comprimento do traço percorrido
pelo ponto `C(t)`entre os instantes `t0`e `t1`

(%i36) integrate(2,t,0,1)+integrate(1,t,1,2)+integrate(2,t,2,3)+integrate(1,t,3,4);
(%o36) 6

## f) Escreva outra trajetória cujo lugar geométrico seja o retangulo R.

(%i37) retangulo_2(t):=
if t>=0 and t< 2 then reta(0,2,[0,-1/2],[0,1/2],t) else
if t>=2 and t< 2.5 then reta(2,2.5,[0,1/2],[2,1/2],t) else
if t>=2.5 and t< 3 then reta(2.5,3,[2,1/2],[2,-1/2],t) else
if t>=3 and t<= 4 then reta(3,4,[2,-1/2],[0,-1/2],t)\$

(%i38) wxdraw2d(xrange=[-1,3],yrange=[-1,1],nticks=500,
parametric(retangulo_2(t)[1],retangulo_2(t)[2],t,0,4));

(%t38)

(%o38)

Analise a variação das coordenadas x e y do retangulo quando t percorre os intervalos [0,2], [2,2.5], [2.5,3] e [3,4].
CC_Curvas_Praticas_Ex23_2014.wxmx 6 / 6

(%i39) wxdraw2d(
color=red,
explicit(retangulo_2(t)[1],t,0,4),
color=green,
explicit(retangulo_2(t)[2],t,0,4));

(%t39)

(%o39)

## Animação do retangulo para verificar em que sentido é percorrido.

(%i40) tmin:0\$
tmax:4\$
numt:24\$
lista_tempos:makelist(tmin+k*(tmax-tmin)/numt, k, 0, numt)\$
with_slider_draw(
u, lista_tempos,
nticks=500,
xrange=[-1,3],yrange=[-1,1],
parametric(retangulo_2(t)[1],retangulo_2(t)[2],t,tmin, tmax),
point_size = 2, point_type=filled_circle, color=red,
points([retangulo_2(u)])
);

(%t44)

(%o44)

## Com esta segunda parametrização, o retangulo é percorrido em sentido contrário e

com velocidade diferente da primeira parametrização. Verifique.