[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [obm-l] Derivada da curva de Bézier



Olá Tiago,

acho que seu problema é o seguinte:

Seja uma curva no R^2 parametrizada:
C(t) = ( f(t), g(t) )

como encontrar o vetor tangente à curva em um ponto t0?
basta derivarmos.. C'(t0) = ( f'(t0), g'(t0) )

agora, peguei na Wikipedia que a curva de Bezier para 4 pontos é:
B(t) = (1-t)^3 * P0 + 3t(1-t)^2 * P1 + 3t^2(1-t) * P2 + t^3 * P3, t E [0, 1]

assim:
B'(t) = -3(1-t)^2*P0 + 3(1-t)^2*P1 - 6t(1-t)*P1 + 6t(1-t)*P2 - 3t^2*P2 + 3t^2*P3

o coeficiente angular do segmento &P1 é: 1/2
o coeficiente angular do vetor tangente à curva de Bezier é a
componente em y dividido pela componente em x

P0=(0,0)   P1=(1,2)   P2=(3,3)   P3=(3,0)
B'(t) = 3(1-t)^2*(1,2) - 6t(1-t)*(1,2) + 6t(1-t)*(3,3) - 3t^2*(3,3) + 3t^2*(3,0)

assim, temos que ter:

[6(1-t)^2 - 12t(1-t) + 18t(1-t) - 9t^2]/[3(1-t)^2 - 6t(1-t) + 18t(1-t)
- 9t^2 + 9t^2] = 1/2

2[6(1-t)^2 - 12t(1-t) + 18t(1-t) - 9t^2] = 3(1-t)^2 - 6t(1-t) + 18t(1-t)
12(1-t)^2 + 12t(1-t) - 18t^2 = 3(1-t)^2 + 12t(1-t)
12(1-t)^2 - 18t^2 = 3(1-t)^2
9(1-t)^2 = 18t^2
(1-t)^2 = 2t^2
1-2t+t^2 = 2t^2
t^2 + 2t - 1 = 0

t = (-2 +- sqrt(4+4))/2 = (-2 +- sqrt(8))/2 = (-1 +- sqrt(2))

t E [0, 1] ... logo: t = sqrt(2)-1

acho que é isso..
da uma conferida nas contas..

abracos,
Salhab





On 7/22/07, Tiago Machado <jaspier@gmail.com> wrote:
> Olá, pessoal,
>
> Estou com dificuldades para encontrar a solução do seguinte problema:
>
> Considere a curva de Bézier controlado por b0 = (0,0), b1 = (1,2), b2 =
> (3,3) e b3 = (3,0), nesta ordem. Encontre o valor de t para o qual a
> derivada da curva é paralela ao segmento &b1
> obs.: &b1 = b2 - b1
>
> Alguém pode me dar uma luz?
> Muito obrigado.
>

=========================================================================
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=========================================================================