AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Polygon drehen

Ein Thema von Peach · begonnen am 11. Mai 2011 · letzter Beitrag vom 1. Jul 2011
 
Peach

Registriert seit: 30. Jun 2009
2 Beiträge
 
#1

Polygon drehen

  Alt 11. Mai 2011, 18:19
Ich bräuchte bei meinem Delphi-Programm mal Hilfe!

Zum Programm: Es sollen Punkte auf dem Bildschirm markiert werden und daraus ein Polygonzug erstellt werden. Und der zweite Teil der Aufgabe besteht daraus diesen Polygonzug im Punkt 1 mit dem Winkel w zu drehen.

Die Sache mit dem Polygonzug habe ich hinbekommen, das stellte kein Problem dar. Nun dachte ich mir wegen den zweiten Teil der Aufgabe, dass ich die Punkte erstmal um den Ursprung verschiebe, sie neu zeichnen lasse und danach den Polygonzug wieder verbinde. Sollte das dann funktionieren würde ich es um den Punkt 1 drehen lassen.
Jedoch bekomme ich es einfach nicht hin, mir ist die geometrische Transformation schon bewusst und rein theoretisch ist mir das auch klar, aber ich bekomme es leider nicht umgesetzt. Ich hoffe ich bin nicht auf den Holzweg mit meiner Idee die Punkte zu "verschieben" und anschließend den Polygon neuzuzeichnen..

Punkte für den Polygonzug setzen:
Delphi-Quellcode:
procedure TForm4.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   image1.Canvas.Pen.Color:=clblack;
   image1.Canvas.brush.Style:=bsclear;
if button=mbLeft then
begin
  n:=n+1;
    xp[n]:=x;
    yp[n]:=y;
    image1.Canvas.Rectangle(x-3,y-3,x+3,y+3);
end;
end;
Polygonzug verbinden:
Delphi-Quellcode:
procedure TForm4.Button1Click(Sender: TObject);
     var i:integer;
begin

   n:=n+1;
xp[n]:=xp[1];
yp[n]:=yp[1];
image1.canvas.moveto (xp[n],yp[n]);
for i:=n+1 to n-1 do


image1.Canvas.MoveTo(xp[i],yp[i]);
for i:=1 to n-1 do
image1.canvas.lineto (xp[i+1], yp[i+1]);


end;

Vielen Dank schonmal!!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz