rysowanie grafu (matematycznego) - tshape i lineto

rysowanie grafu (matematycznego) - tshape i lineto
L3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 106
0

hej, rysuje graf w delphi, ma ktoś pomysł jak łaczyc grafy krawędziami tak jak na rysunku w załaczniku?
(łaczyć kształty stCircle liniami)
moge robić moveto i lineto w stosunku do środków i do punktów pokazanych na czerwono
ale jak rysować na krawędzi, czyli jak liczyć punkty xy z obręczy koła?

ZI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 192
0

To dość proste, jeżeli masz wpółrzędne środków okręgów.
Zakładając że wsp środka okręgu to Xo, Yo:
x = Xo - r, y = Yo - r, gdzie r to promień okręgu

L3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 106
0

no nie, bo wrócisz do punktu startowego figury, tego na czerwono

Misiekd
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7923
0

musisz obliczyć środek okręgu i punkt przecięcia prostej z okręgiem

ZI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 192
0

Sorry, ale nie bardzo skumałem. Czy chodzi o wygląd tak jak na 3-ciej części obrazka?
Jeżeli tak to rozwiązanie może być takie:

Kopiuj
procedure TForm1.Button1Click(Sender: TObject);
var r: Integer;
begin
 r:= 15;
 Canvas.Pen.Width:= 2;
 Canvas.Pen.Color:= clGreen;
 Canvas.MoveTo(20,20);
 Canvas.LineTo(100, 100);
 Canvas.LineTo(200, 50);
 Canvas.LineTo(20,20);
 Canvas.Pen.Color:= clRed;
 Canvas.Brush.Style:= bsSolid;
 Canvas.Brush.Color:= clWhite;
 Canvas.Ellipse(20-r, 20-r, 20+r, 20+r);
 Canvas.Ellipse(100-r, 100-r, 100+r, 100+r);
 Canvas.Ellipse(200-r, 50-r, 200+r, 50+r);
end;
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Narysuj najpierw krawędzie od środka do środka, a potem kola białe w środku.
Canvas.Brush.Style:=bsSolid;
Canvas.Brush.Color:=clWhite;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.