Przynależność do krzywej Béziera

Obiekty i przekształcenia geometryczne, opisane za pomocą układu (nie zawsze prostokątnego) współrzędnych.
loodziek
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 26 kwie 2009, o 15:37
Płeć: Mężczyzna
Podziękował: 2 razy

Przynależność do krzywej Béziera

Post autor: loodziek »

Witam. Mam wielomianową krzywą Béziera stopnia trzeciego (którą wyznaczają znane mi punkty A, B, C i D) i chciałbym sprawdzić czy punkt P należy do tej krzywej. Jak to zrobić?
Awatar użytkownika
kuch2r
Użytkownik
Użytkownik
Posty: 2302
Rejestracja: 18 paź 2004, o 18:27
Płeć: Mężczyzna
Lokalizacja: Wrocław/Ruda Śląska
Podziękował: 9 razy
Pomógł: 408 razy

Przynależność do krzywej Béziera

Post autor: kuch2r »

Podam metodę, która rozwiązuje twój problem w bardzo siłowy sposób.
Może się znajdzie Osoba, która będzie znała bardziej efektywne rozwiązanie.
Nie mniej jednak przechodząc do sedna sprawy.
Wywołaną już wcześniej krzywą Beziera możemy zapisać w postaci
\(\displaystyle{ \begin{cases}P_x(t) = A_x (1-t)^3 + 3 B_x t(1-t)^2 + 3 C_x t^2 (1-t) + D_x t^3\\
P_y(t) = A_y (1-t)^3 + 3 B_y t(1-t)^2 + 3 C_y t^2 (1-t) + D_y t^3\end{cases}}\)
, gdzie \(\displaystyle{ A,B,C,D}\) są dane oraz \(\displaystyle{ t\in[0,1]}\)
Niech punkt \(\displaystyle{ P(x_p,y_p)}\) będzie naszym punktem, dla którego pytamy się czy należy od do krzywej.
Wówczas, jeżeli gdy punkt \(\displaystyle{ P}\) należy do krzywej to istnieje \(\displaystyle{ t \in [0,1]}\), będące rozwiązaniem następującego układu równań:
\(\displaystyle{ \begin{cases}x_p = A_x (1-t)^3 + 3 B_x t(1-t)^2 + 3 C_x t^2 (1-t) + D_x t^3\\
y_p = A_y (1-t)^3 + 3 B_y t(1-t)^2 + 3 C_y t^2 (1-t) + D_y t^3\end{cases}}\)
ODPOWIEDZ