AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [Graphics32] (Problem) Wie bewege ich ein Polygon auf eine fixe Position?
Thema durchsuchen
Ansicht
Themen-Optionen

[Graphics32] (Problem) Wie bewege ich ein Polygon auf eine fixe Position?

Ein Thema von ColeZero · begonnen am 8. Jul 2010 · letzter Beitrag vom 14. Jul 2010
Antwort Antwort
ColeZero

Registriert seit: 6. Sep 2007
18 Beiträge
 
#1

[Graphics32] (Problem) Wie bewege ich ein Polygon auf eine fixe Position?

  Alt 8. Jul 2010, 16:47
Hallo

Ich spiele derzeit mit der graphics32 lib herum und beschäftige mich derzeit mit transforming. Ich möchte ein Polygon auf eine fixe Position bringen, dazu mache ich folgendes:

Delphi-Quellcode:
var
  afftrans : TAffineTransformation;
  Polygon : TPolygon32;
  [...]
begin
  [...]
  afftrans:= TAffineTransformation.Create;
  afftrans.Translate(20,20);
  Polygon.Transform(afftrans);
  
  [...]

end;
Das Polygon wird nun um 20 punkte nach x und um 20 punkte nach y verschoben. Das heißt aber auch, dass das Polygon jedesmal um 20 punkte verschoben wird wenn der Code durchlaufen wird. Also wandert das Polygon immer weiter nach rechts z.b.
Ich möchte es aber auch eine Fixe Position setzen.
Grund: Ich möchte das Polygon per Mausklick irgendwo hin setzen.
Idee: A) Polygon auf Fixe Position bringen (Maus Coords.)
B) Aktuelle Position des Polygons ermitteln, Maus Coords.
abziehen und die Difference als Translate an das Polygon
schicken.

Meine Frage daher: Kann ich das Polygon A) Auf ne Fixe Position setzen oder B ) Dier derzeitge Transformation ermitteln?

Ich hoffe ich konnte euch das Problem klar machen

Mfg
colezero
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: [Graphics32] (Problem) Wie bewege ich ein Polygon auf eine fixe Position?

  Alt 8. Jul 2010, 17:15
Warum lässt du die Transformation denn überhaupt mehrmals ausführen?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
ColeZero

Registriert seit: 6. Sep 2007
18 Beiträge
 
#3

AW: [Graphics32] (Problem) Wie bewege ich ein Polygon auf eine fixe Position?

  Alt 8. Jul 2010, 17:40
Wenn ich auf das Canvas mehrmals drauf klicke, wird diese procedure auch mehrmals durchlaufen Aber ich kann da nicht einfach die X,Y Coords. der Maus übergeben, weil er das Polygon sonst jedesmal so verschieben würde:
Delphi-Quellcode:
 AltePosition.X := AltePosition.X + NeuesX;
 AltePosition.Y := AltePosition.Y + NeuesY;
Aber ich will ja nur
Delphi-Quellcode:
 ALtePosition.X := NeuesX;
 AltePosition.Y := NeuesY;

Geändert von mkinzler ( 8. Jul 2010 um 17:51 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: [Graphics32] (Problem) Wie bewege ich ein Polygon auf eine fixe Position?

  Alt 8. Jul 2010, 19:27
Was in der Grafik nicht unüblich ist, ist das Mitführen einer ganz eigenen Transformationsmatrix für jedes Objekt. Dann würde das eigentliche Polygon nie verschoben, sondern immer nur zum Zeitpunkt der Anzeige eine Kopie davon mit der zugehörigen Matrix. Damit kann man dann stets von der Ursprungsposition ausgehen. (In der Matrix steht dann ja quasi die absolute Verschiebung (wenn es nur eine Translationsmatrix ist).)
Da ich hier leider weder Delphi noch Gr32 zur Hand habe, weiss ich nicht, ob das die Polygonklasse evtl. ohnehin schon intern so macht, und du an die Matrix dran kommst. Im Zweifel eben selbst nen kleinen Wrapper drum würgeln, dann ist's sogar hübsch
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
ColeZero

Registriert seit: 6. Sep 2007
18 Beiträge
 
#5

AW: [Graphics32] (Problem) Wie bewege ich ein Polygon auf eine fixe Position?

  Alt 8. Jul 2010, 19:38
Ich denke ich werd mir das mal anschauen und evtl. so machen, klingt für mich auch sehr hübsch Ich werde die Tage mich dran machen und schauen was nach einen schönen Wochenende bei SOnne im Garten so alles dabei rauskommt und die Ergebnisse hier rein stellen.

Danke dir für deine Hilfen/Anregungen

Viele Grüße
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: [Graphics32] (Problem) Wie bewege ich ein Polygon auf eine fixe Position?

  Alt 8. Jul 2010, 20:12
schönen Wochenende bei SOnne im Garten
38°C und Gewitter mit ~60% rel. Luftfeuchte nennst du schön!? Ich brauch'n Kaffee und tauch wieder in meinen Keller ab
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz