AGB  ·  Datenschutz  ·  Impressum  







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

Hilfeersuch Polygon verschieben

Ein Thema von Thomas K. · begonnen am 13. Jun 2012 · letzter Beitrag vom 14. Jun 2012
 
Thomas K.

Registriert seit: 13. Jun 2012
2 Beiträge
 
#1

Hilfeersuch Polygon verschieben

  Alt 13. Jun 2012, 23:04
Hallo Boardmitglieder,

ich versuche seit nunmehr sechs Stunden in Delphi (3 davon in der Uni, 3 davon mit der Demo zuhaus) ein Problem für unseren Informatikbeleg zu lösen.

In der Hoffnung mein Problem wurde nicht bereits irgendwo diskutiert, muss ich euch mal mit sowas einfachen für euch langweilen.

Der erste Teil der Aufgabe lautet: ein Formular zu gestalten in das man ein Polygon einzeichnen kann.

Dass ist erst mal nicht das Problem, da hab ich folgenden Quelltext geschrieben

Delphi-Quellcode:
procedure Tform1.Button2Click(sender: TObject);
var
i:integer;
for i:=1 to n-1 do
 begin
  image1.canvas.moveto(xp[i],yp[i];
  image1.canvas.lineto(xp[i+1]myo[i+1]);
  end;
  image1.canvas.Moveto(xp[n],yp[n]);
  image1.canvas.lineto(xp[1],yp[1]);
  end;
Das Setzen der Punkte hab ich mittels folgender OnMouseDown Variante gelöst:

Delphi-Quellcode:
procedure Tform1.image1mousedown(sender:tobject;
button:Tmousebutton;
shift: Tshiftstate;
x,y: Integer);
begin
 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);
Das eigentliche Problem kommt nun:

Ich kann ja nun ein Polygon wunderbar zeichnen, indem ich die Punkte setze und anschließend auf den Polygonzeichnen-Button klicke.

Ich soll nun im zweiten Aufgabenteil Delphi einen Punkt vorgeben (dachte an sowas wie TEdit also x und y Koordinaten) und Delphi soll das gesamte Polygon so verschieben, dass der erste Punkt des vorher gezeichneten Polygons dieser von mir eingegebene Punkt wird. Das Polygon soll aber stehenbleiben und ich muss es dann noch farbig unterscheiden - wobei letzteres glaub ich nicht so kompliziert ist.

Bitte helft mir, ich verstehe die Mathematik dahinter also

a=xp-x1, und b=yp-y1
wobei dann gilt xi'=xi+a
yi'=yi+b
für i=i-n

aber ich hab keine Ahnung, wie man das Delphi sagt. Könntet ihr mir bitte die Funktion die das ausführt und den Quellcode dafür aufschreiben.

Dankeschön!

Geändert von Thomas K. (13. Jun 2012 um 23:06 Uhr)
  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 05:10 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