Potrzebuję jakiegoś szybkiego algorytmu (lub funkcji winapi) do rozciągnięcia bitmapy w czworokącie. Nie ma to być jednak prostokąt, a tym bardziej kwadrat, ale jakiś dowolny czworokąt. Z góry dzięki za odpowiedź.
0
0
Widziałem kiedyś dokładny opis algorytmu na http://gamedev.net, ale nie podam strony dokładnie, bo nie pamiętam...
0
W unicie http://www.andrew.b7.pl/Grafika.pas jest funkcja (rysujCzworokąt) zwracająca dowolny czworokąt z danego obszaru.
W skrócie wygląda to tak :
a := AktualneX/(bmp.Width);
b := AktualneY/(bmp.Height);
p.x := d1.x+(d2.x-d1.x)*a+(d4.x-d1.x)*b+(d1.x-d2.x+d3.x-d4.x)ab;
p.y := d1.y+(d2.y-d1.y)*a+(d4.y-d1.y)*b+(d1.y-d2.y+d3.y-d4.y)ab;
gdzie p jest punktem wyjściowym, a d1-4 punktami (wieżchołkami) czworokąta.