Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 19, 2025 10:43

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 17, 2003 13:39 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Also ich habe mir mal die Geometry.pas die bei den GLScene Komponenten dabei waren genauer angesehn und mir sind dann ein
par Sachen aufgefallen die ich nicht verstehe und auch nicht weiß wozu man sie benutzen soll:

1.Wo ist hier zwischen diesen Matricen der Unterschied und wozu benutzt man welche(die *** sind für die Verschiedenen Typen des Arrays...):
-TAffine***Matrix
-TAffineMatrix
-THomogeneous***Matrix
-THomogeneousMatrix
-TMatrix

2.Wo ist hier zwischen diesen Vectoren der Unterschied und wozu benutzt man was(*** s. Oben):
-TVector3***
-TVector4***
-Außerdem sind da noch mehr Sachen wo im Namen was mit Vector vorkommt, da wüsst ichs auch ganz gerne...

Das sind ersmal ein par Sachen die ich gerne erfahren würde was sie bedeuten und welchen Nutzen sie haben, bzw. wozu man sie benutzt.
Ich bedanke mich schonmal im Voraus für erklärungen usw. jeglicher Art..;-)

Achso und da sind noch ein par Prozeduren und Funktionen von denen ich wohl aus dem Namen schlau werden könnte, werde aber sicher noch mal dazu kommen was zu fragen :)

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 17, 2003 15:03 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Soweit ich mich erinnere, benutzt Lischke die Bezeichnungen "affine" bzw. "homogene" Koordinaten für drei- bzw. vierdimensionale Vektoren (für Matrizen also 3x3 sowie 4x4).
Die standard TMatrix entspricht einer 4x4 Matrix.

TVector3x sowie TVector4x erklärt sich dann von selbst.

Etwas vereinfacht gesagt, haben in einer 3x3 Matrix Rotation und Skalierung als Transformation Platz, in einer 4x4 Matrix kann man noch die Translation dazu stopfen, sowie eben vierdimensionale Vektoren transformieren (bei dreidimensionalen Vektoren ist die vierte Komponente einfach 1). Vierdimensionale Vektoren haben als solche zwar wenig Sinn im 3D-Raum, werden aber z.B. bei manchen Schattenalgorithmen dazu verwendet, Richtungsvektoren bis ins unendliche zu verlängern.

Wenn du dich intensiver mit Computergrafik auseinandersetzen möchtest, solltest du dir unbedingt die Grundlagen der linearen Algebra (zumindest bis zur Beherrschung von Vektor- und Matrizenrechnung) aneignen.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 17, 2003 16:57 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Das war ich....

Ach und danke schön für die Erklärung!!

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 17, 2003 17:42 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
das kommt aufs bundesland an und ist, jedenfalls wars so bei mir, nicht wirklich so tiefgreifen, wie es angebracht wäre. man macht viel zeugs, das zwar ganz interessant ist, wenn man das aber bis zur vergasung übt kommt man nicht zu den wirklich interessanten dingen. ein gutes buch zu lineare algebra wäre also dennoch angebracht


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 17, 2003 17:57 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 26, 2002 17:14
Beiträge: 188
Wohnort: Hannover/Lüneburg
Nur so als Hinweis: hier in Niedersachsen kommt das bei uns nicht vor 12. Jahrgang dran. Mir steht das erst noch bevor, während unser Parallel-Mathe-LK das gerade behandelt.

_________________
Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 17, 2003 19:17 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Prinzipiell ja. Lies dir das Kapitel über Vektoren und Matrizen durch - mit dem Rest wirst du (noch) nix anfangen können - und brauchst es so schnell auch nicht.
Leider ist das Ganze recht theoretisch und bringt dir für die sofortige praktische Anwendung nicht viel (und die ganze Mengenlehre kannst du dir auch schenken).

Welcher Ausschnitt aus dem Gebiet der Vektor- und Matrizenrechnung ist wichtig, um mit 3D-Grafik zu beginnen:

Das Wissen, wie man Punkte in einem Koordinatensystem darstellt ((Orts)Vektoren)
- dass man Vektoren über eine Matrix transformieren kann
- dass meist folgende Transformationen angewendet werden: Rotation(Drehung), Skalierung und Translation(Verschiebung)
- dass man mehrere Transformationen in eine Matrix stopfen kann
- dass man mehrere Transformationsmatrizen über Matrixmultiplikation kombinieren kann
- dass die Matrixmultiplikation nicht kommutativ ist (M1*M2 <> M2*M1)
- was die Identitätsmatrix ist (das Einselement)
- dass es nicht zu jeder Matrix ein inverses Element gibt (M*M Invers = Identität), für diejenigen Matrizen, die du für 3D-Transformationen verwendest (und deren Kombinationen) aber schon
- dass Vektoren einerseits ortsfeste Positionen darstellen können (Ortsvektoren, Schnittpunkte, Vertices), andererseits aber auch Richtungen (Normalvektoren, Lichtvektoren)
- was Einheitsvektoren sind (Vektoren der Länge eins)
- was Punktprodukt und Kreuzprodukt von Vektoren sind (Berechnung von Winkeln zwischen Vektoren, des Normalvektors einer von 2 Vektoren aufgespannten Ebene)

Später werden auch noch andere Dinge wichtig (etwa wie man ein 3D-Szenario auf eine beliebige 2D-Fläche projizieren kann), für den Anfang sollte es das aber tun. Ich (oder sonst jemand hier) könnte ein Tutorial zum Thema verfassen (es gibt sogar ein kleines Einstiegstutorial hier) - ich jedenfalls möchte das aber nicht wirklich tun, weil es dazu wirklich viele gute Einführungen im Netz gibt - und im Endeffekt bringt's eh nur die Übung, dass du ein Gefühl dafür bekommst, was man machen kann.

Vielleicht scheint dir das viel, in Wirklichkeit kannst du dir aber eine Menge sparen - das Wissen, wie man automatisch Gruppen von Gleichungssystemen löst, brauchst du in der Computergrafik erst, wenn du etwa inverse Kinematik (IK) implementieren möchtest.

Schau dir mal 3D-Transformationen unter <a href='http://olli.informatik.uni-oldenburg.de/Grafiti3/grafiti/flow7/page1.html' target='_blank'>http://olli.informatik.uni-oldenburg.de/Gr...low7/page1.html</a> an - die werden dir mehr Freude machen.
Dann spielst du ein wenig mit dem Matrix Control Utility von Lithander herum <a href='http://www.phobeus.de/hosting/pixelpracht/main.php?s=opengl&t=1&p=1' target='_blank'>http://www.phobeus.de/hosting/pixelpracht/...=opengl&t=1&p=1</a> - dann bist du gut gerüstet, mit eigenen Programmen eigene Erfahrungen zu sammeln.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 17 Queries | GZIP : On ]