Registriert seit: 25. Jun 2012
6 Beiträge
|
AW: Schnittpunkte beliebiger Polygone mit einem beliebigem Achsen-parallelem Rechteck
25. Jun 2012, 21:38
also ich bin so weit (als neuling) gekommen
Delphi-Quellcode:
var
n,m,xmin,ymin,xmax,ymax:integer;
p1:boolean;
xp,yp:array [1..100] of integer;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin //Recheck zeichnen
if button=mbleft then
if radiogroup1.ItemIndex=0 then
begin
if p1 then
begin
xmin:=x;
ymin:=y;
p1:=false;
image1.Canvas.Rectangle(x-3,y-3,x+3,y+3);
end
else
begin
xmax:=x;
ymax:=y;
p1:=true;
image1.Canvas.Rectangle(xmin,ymin,xmax,ymax);
image1.Canvas.Rectangle(x-3,y-3,x+3,y+3);
end;
end
else
begin //Poligohnpunkte
n:= n+1;
xp[n]:=x;
yp[n]:=y;
image1.Canvas.Rectangle(x-3,y-3,x+3,y+3);
end;
end;
procedure TForm1.Button1Click(Sender: TObject); //poligon zeichnen
var
i,s: Integer;
sr: real;
begin
for i := 1 to n-1 do
begin
image1.Canvas.MoveTo(xp[i],yp[i]);
image1.Canvas.LineTo(xp[i+1],yp[i+1]);
end;
image1.Canvas.LineTo(xp[1],yp[1]);
image1.Canvas.Pen.Color:=clblack;
end;
procedure TForm1.Button3Click(Sender: TObject); //berechnung und ausgabe visuel
var
x1,y1,x2,y2,x3,y3,x4,y4: integer; //...
x5,y5: integer; //...
ok: boolean; //...
begin
????
end;
end.
aber was du jetzt genau willst, was ich machen soll versteh ich net bzw ich weiß was du mienst aber ich kann das nicht umsetzen
|
|
Zitat
|