Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   transformation Koordinaten (https://www.delphipraxis.net/28801-transformation-koordinaten.html)

WhatAmI 30. Aug 2004 14:55


transformation Koordinaten
 
Hallo!

wollte mich mal erkundigen ob mir nicht jemand weiterhelfen könnt wie ich eine gezeichnete Figur, drehen, vergrössern, verkleinern kann!
würd mich freuen wenn jemand eine Formel kennt wie man das bewältigen kann, hab schon mal im i-net nach gesucht, aber wusstee nicht genau unter was!
würd mich freuen wenn mier jemand antwortet! danke im voraus

[edit=sakura] Space in Title Mfg, sakura[/edit]

Jelly 30. Aug 2004 14:59

Re: transformationKoordinaten
 
Hallo,

das ist im Grunde ein recht kompliziertes Thema... Schon mal dran gedacht, das Ganze mit OpenGL zu bewältigen... Ansonsten, wie sehen denn deine Figuren aus... Handelt es sich um Vektorgrafiken?

Gruß,

WhatAmI 30. Aug 2004 15:13

Re: transformationKoordinaten
 
mmmh! keine extrem kompilizierten grafiken, hab eine prozedur gemacht in der ich einen pfeil gezeichnet hab, und nun will ich in mit hilfe eines timers im kreis rundherum drehen lassen! und zudem vergrössern und verkleiner, hatte mich ein wenig umgesehen, und hab sachen gefunden mit cos sin... doch hab ich nicht richtig verstanden, wollte daher mal fragen, ob jemand mier detail geben kannü

Jelly 30. Aug 2004 15:35

Re: transformationKoordinaten
 
OK. Das ist definitiv ne Sache wo du mittels OpenGL mit Kanonen auf Spatzen schiesst...

Dein Pfeil besteht ja, nehm ich an, aus wahrscheinlich 4 mal 2D-Punkten:
P1: Beginn des Pfeils (Koordinaten)
P2: Ende des Pfeils
P3, P4: die Schwänze der Pfeilspitze

Vergößern, Verkleinern ist recht simpel: Alle Punkte (x- und y-Werte) mit einem Faktor k multiplizieren...

Drehen: Alle Punkte P durch die Drehmatrix M(alpha) jagen:
P'=M*P

M ist diese Matrix mit den komischen cos- und sin-Funktionen drin. Drehwinkel ist alpha:

Code:
    cos a   sin a
M=(                )
    -sin a  cos a
Ich hoff, du kennst die Matrizenmultiplikation, ansonsten nochmal nachfragen

Gruß

ibp 30. Aug 2004 15:38

Re: transformationKoordinaten
 
[edit] erstmal herzlich willkommen in der dp :dp: [/edit]



zum verdeutlichen von jellys "drehmatrix" ...Koordinatentransformation 2d

ibp 30. Aug 2004 15:42

Re: transformationKoordinaten
 
... und bei jelly ist ein Punkt so definiert:
Code:
      x
p = (   )
      y

WhatAmI 30. Aug 2004 16:08

Re: transformationKoordinaten
 
tut mier leid aber Matrizenmultiplikation weiss ich nicht wie das funktionniert! würd mich aber freuen wenn jemand mier das erklären könnte!

mit freundlichen grüssen Einsamerwolf:))

ibp 30. Aug 2004 16:16

Re: transformationKoordinaten
 
... na klar um beim beispiel zu bleiben.... p*M=p'

Code:
  x     cos a   sin a      x*cos a + y*sin a
(   )*(                 ) = (                    ) = p'
  y     -sin a  cos a      x*-sin a + y*cos a


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 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