rysowanie grafu (matematycznego) - tshape i lineto

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?

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

0

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

0

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

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:

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;
0

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

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