AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Punkt um Punkt rotieren + Rotationsachse
Thema durchsuchen
Ansicht
Themen-Optionen

Punkt um Punkt rotieren + Rotationsachse

Ein Thema von Cyberstorm · begonnen am 20. Jul 2011 · letzter Beitrag vom 26. Jul 2011
Antwort Antwort
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#1

Punkt um Punkt rotieren + Rotationsachse

  Alt 20. Jul 2011, 17:15
Hallo,
ich suche nach einer Möglichkeit Punkte (3D-Koordinaten) um eine bestimmte andere 3D-Koordinate und Rotationsachse zu drehen.
Nach meiner Recherge gibt es dafür Funktionen aus OpenGL oder Direct3D.

Ich möchte lediglich Berechnungen umsetzen und keinerlei Visualisierung.
--> kann ich per OpenGL oder Direct3D folgende Schritte realisieren?:

1. Einen Punkt im Raum erzeugen (x, y, z)
2. Diesen Punkt um einen bestimmten anderen Punkt (x, y, z) und Rotationsachse (angle, angle, angle) drehen
3. Die Koordinaten des Resultats auslesen

Falls ja, kann jemand eine Empfehlung aussprechne oder hat evtl. sogar einen Schnipsel code für mich?

Vielen Dank im Vorraus
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#2

AW: Punkt um Punkt rotieren + Rotationsachse

  Alt 20. Jul 2011, 18:02
Es gibt für OpenGL gute Tutorials auch für Delphi:

http://wiki.delphigl.com/index.php/Tutorial

Da würde ich mal reinschauen, da werden eigentlich alle Grundlagen (Verschieben etc..) behandelt
Lars
  Mit Zitat antworten Zitat
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#3

AW: Punkt um Punkt rotieren + Rotationsachse

  Alt 20. Jul 2011, 21:43
Hallo,
danke für den Link.

Habe mir einiges durchgelesen und mich reingearbeitet.
Werde mir aber immer unsicherer, ob OpenGL wirklich das Richtige für mein Vorhaben ist.
Ich will wie gesagt garnichts darstellen sondern "nur" Koordinaten umrechnen.

Gibt es denn keine Lib / Unit / Kompo / Funktion o.ä. um eine xyz Koordinate um einen bestimmten Punkt und Achse zu rotieren/skalieren?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

AW: Punkt um Punkt rotieren + Rotationsachse

  Alt 20. Jul 2011, 21:58
Wie performant muss es denn sein? Kannst du es nicht einfach selber programmieren?
Du brauchst ja nur eine Funktion für die Translation und eine für die Rotation.

Zitat:
Diesen Punkt um einen bestimmten anderen Punkt (x, y, z) und Rotationsachse (angle, angle, angle) drehen
Die ersten beiden Winkel geben die Lage der Achse an und der dritte ist der Winkel um den rotiert werden soll?
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
670 Beiträge
 
#5

AW: Punkt um Punkt rotieren + Rotationsachse

  Alt 20. Jul 2011, 22:14
es gibt im Paket GLScene (bei sourceforge) die Unit VektorGeometry.pas, die hat einige und schnelle(Assembler) Methoden für solche geometrischen Fälle.
Allerdings muß man damit umgehen können, da dort viel mit Matrizen gearbeitet wird.
Ansonsten gibt es einige Programmschnipsel hier http://www.swissdelphicenter.ch/de/math.php
  Mit Zitat antworten Zitat
Medium

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

AW: Punkt um Punkt rotieren + Rotationsachse

  Alt 21. Jul 2011, 01:02
Komm von OGL und DX ganz schnell mal weg. Das sind reine Visualisierungstools, und so lange du nicht ein paar Millionen Punkte pro 40ms drehen willst, brauchst du auch keine Gedanken daran zu verschwenden die Grafikkarte überhaupt zu bemühen. Das ist reinste lineare Algebra, und wird von jeder gängigen CPU/FPU prima verrechnet. OGL und DX bieten zudem auch nicht so arg viel mehr an vorbereiteten Funktionen, d.h. du müsstest mit diesen APIs ohnehin fast das selbe an Eigenleistung bringen wie mit reinem Delphi. Schau dir z.B. mal in der Wikipedia die Artikel zur Rotationsmatrix an, da findet sich schon mal praktisch alles an Mathe, was du brauchen wirst.
"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
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#7

AW: Punkt um Punkt rotieren + Rotationsachse

  Alt 26. Jul 2011, 14:46
Danke Euch!

Benutze nun den Code von: http://www.swissdelphicenter.ch/de/showcode.php?id=2093
  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 22:28 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