canvas - linia

0

jak narysowac linie zeby przechodzila oona przez jakis tam punkt - wychodzi ona np z ptk 0,0 a potem zmienia wartosci poczatkowe o 1 piksel znaczy sie 1,0 - 2,0 - 3,0 - 4,0 i jak zrobic aby przechodzila ona np przez punkt 50,50 ;-) [???]

0

nie rozumiem, to ma być prosta ? czy może jakiś bezier, albo łamana ? bo z tego co napisałeś nie wynika że to ma być prosta..
pisz jaśniej (i bynajmniej nie chodzi mi tu o kolor czcionki)

0

chodzi mi o prosta ktora zaczeyna sie tu:
moveto(0,0);
chcialbym aby przechodzila ona zawsze przez punkt np. 50,50 nawet gdy jej poczatek jest w ptk 10,30

0

Canvas.MoveTo(a, b);
Canvas.LineTo(50, 50);
Canvas.LineTo(Trunc(a+c*(50-a)), Trunc(b+c*(50-b)));

0

no niezupelnie mi o to chodzilo -
moveto(0,0);
lineto(clientwidth, clientheight);
i to jest linia przechodzaca przez srodek FORMY
ale gdy zmienie wartosci w moveto(10,0) to juz nie przejdzie idealnie przez srodek

0

procedure liniaprzez(poczatek, przez:tpoint);
begin
canvas.moveto(poczatek.x, poczatek.y);
canvas.lineto(przez.x, przez.y);
canvas.lineto(poczatek.x+2*(przez.x-poczatek.x), poczatek.y+2*(przez.y-poczatek.y));
end;

Może coś takiego?

0

Jedno pytanie: to ma być prosta, czy krzywa przechodząca przez dane 3 punkty?

0

PROSTA :-)

0

No to już nie rozumiem. Obydwa przedstawione rozwiązania działają bez zarzutu.
Przez dwa punkty można poprowadzić TYLKO I WYŁĄCZNIE jedną prostą. Wobec tego, jeżeli podajesz punkt, przez który ma przechodzić(B) oraz punkt początkowy (A), to punkt końcowy (C) musi zostać wyliczony. Współczynnik c, który podałem określa stosunek długości odcinka AB, do odcinka BC. Nie możesz podać 3 punktów, bo narysowana zostanie co najwyżej łamana, albo krzywa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1