AGB  ·  Datenschutz  ·  Impressum  







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

Vektor Problem (3D)

Offene Frage von "MR321"
Ein Thema von MR321 · begonnen am 3. Okt 2003 · letzter Beitrag vom 12. Okt 2003
Antwort Antwort
Seite 1 von 3  1 23      
MR321

Registriert seit: 18. Aug 2003
38 Beiträge
 
#1

Vektor Problem (3D)

  Alt 3. Okt 2003, 21:17
Ich hab da ein Problem mit Vektoren:
Code:
^
|     P2
|    /
|   /
|  /
| /
|/--------P1
+------------------>
Das soll ein Koordinatensystem sein
P1 und P2 sind Vektoren. Sie kommen beide aus dem Ursprung des Koordinatensystems.
Das ganze soll in 3D sein.
Wenn ich jetzt P1 bewege, dann soll sich P2 entsprechend mitbewegen.
Wie kann ich das realisieren? In 2D wäre das ja noch entsprechend einfach. Aber wie geht das in 3D?
Computers are like air conditioners, they stop working immediately, if you open windows.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: Vektor Problem (3D)

  Alt 3. Okt 2003, 22:05
Wo ist das Problem?
Um P1 zu bewegen, musst du einen Vektor hinzuaddieren. Addierst du denselben zu P2, bewegen sich beide gleich, also um denselben Betrag in dieselbe Richtung.

Und ob es in 2D oder 3D ist, ist bei Vektoren doch auch egal?!

Entweder ist dein Problem kein Problem oder ich hab's einfach nicht kapiert, was du machen willst ;c)
Also sag's noch mal genauer...
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
MR321

Registriert seit: 18. Aug 2003
38 Beiträge
 
#3

Re: Vektor Problem (3D)

  Alt 3. Okt 2003, 22:11
Ähm, das meine ich nicht!
Das Verhältnis zu P1 und P2 soll immer gleich sein!
OK, Beispiel:
Code:
    1      0     P2| /P1
P1: 1  P2: 1       |/   
    0      0       |       Schlecht zu sehen, aber zwischen P1 und P2 soll ein 45° Winkel sein.
So, jetzt verschiebe ich P1, und dann soll das so aussehen:
Code:
    1     -1    P1\
P1:-1  P2: 0       \
    0      0    P2--\      Und der soll sich mitdrehen.
Also P2 soll sich mit P1 immer entsprechend mitdrehen.
Wie gesagt, in 2D ist das kein Problem, kann man einfach mit sin und cos machen. Aber wie macht man das in 3D?
Computers are like air conditioners, they stop working immediately, if you open windows.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Vektor Problem (3D)

  Alt 3. Okt 2003, 22:45
Sollte so gehen... Omega, phi und kappa sind die 3 Drehwinkel.
Angehängte Dateien
Dateityp: pdf drehmatrix.de.pdf (18,9 KB, 58x aufgerufen)
  Mit Zitat antworten Zitat
MR321

Registriert seit: 18. Aug 2003
38 Beiträge
 
#5

Re: Vektor Problem (3D)

  Alt 4. Okt 2003, 12:19
Also ich kapier das überhaupt nicht.
Diese mathematischen Ausdrücke sagen mir überhaupt nichts.
Und was für 3 Drehwinkel?
Und wie sehen Omega, phi und kappa aus?

Also ich brauch nur ne ganz einfache (*g*) Funktion, die als Eingabe 3 Punkte erwartet und einen Punkt ausgibt.
Also nach diesem Schema:
Delphi-Quellcode:
T3DPunkt = record
  X,Y,Z: Double
end;

...

function anpassen (P1alt, P1neu, P2alt: T3DPunkt): T3DPunkt;
begin
  ...
  Result := P2neu;
end;
[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
Computers are like air conditioners, they stop working immediately, if you open windows.
  Mit Zitat antworten Zitat
MR321

Registriert seit: 18. Aug 2003
38 Beiträge
 
#6

Re: Vektor Problem (3D)

  Alt 4. Okt 2003, 12:58
Am besten wäre es, wenn der "Unterschied" zwischen P1 und P2 in einer seperaten Variable gespeichert werden kann, denn von P2 gibt es mehrere, und damit nicht jedesmal der "Unterschied" ausgerechnet werden muss. Spart CPU Zeit. Denn es gibt sehr sehr viele von P2. Und die Berechnung muss in Echtzeit stattfinden.
Computers are like air conditioners, they stop working immediately, if you open windows.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Vektor Problem (3D)

  Alt 4. Okt 2003, 14:25
Zitat von MR321:
Also ich kapier das überhaupt nicht.
Diese mathematischen Ausdrücke sagen mir überhaupt nichts.
Und was für 3 Drehwinkel?
Und wie sehen Omega, phi und kappa aus?
Das Ganze ist eine Matrix Multiplikation. Du gibst dir einen Vektor r_1 vor, wo du die 3 Koordinanten vorliegen hast. Daraud wendest du die angegebene Matrix M an, und kriegst dadurch die 3 Komponenten von vom Vektor r_2 raus... Die 3 Winkel sind die Drehwinkel (in rad angegeben) um deine 3 Raumachsen.

Gruß,
Tom
  Mit Zitat antworten Zitat
MR321

Registriert seit: 18. Aug 2003
38 Beiträge
 
#8

Re: Vektor Problem (3D)

  Alt 4. Okt 2003, 19:46
Was für eine Matrix M? In der pdf-Datei steht nirgendwo was davon. Da steht nur eine einzige Formel einfach so dahin geschrieben.
Und was musst du hier schon wieder neue Bezeichner einführen? Ich hab doch vohrin versucht einheitliche Bezeichner zu machen. Ich weis schon wieder nicht wofür die ganzen Bezeichner stehen.

Ich hab von Vektorrechnug überhaupt keinen Plan. Das einzige was ich weis, ist, dass Vektoren in eine Richtung gehen, und dass man die einzelnen Koordinaten übereinanderschreibt.


Also ich hoffe, dass ich das jetzt richtig verstanden habe, die 3 Drehwinkel sind der Unterschied zwischen P1alt und P2alt? (Bzw. P1neu und P2neu)
Wie bekomme ich nun diese Drehwinkel aus P1alt & P2alt, und wie wende ich sie auf P1neu an, um P2neu herauszubekommen?
Computers are like air conditioners, they stop working immediately, if you open windows.
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#9

Re: Vektor Problem (3D)

  Alt 4. Okt 2003, 19:50
@MR321: Hier ein kleiner Tipp: Wenn du 3D-Spiele schreiben willst, solltest du schon mit der Vektorgeometrie vertraut sein.
  Mit Zitat antworten Zitat
MR321

Registriert seit: 18. Aug 2003
38 Beiträge
 
#10

Re: Vektor Problem (3D)

  Alt 4. Okt 2003, 19:55
Ja, weis ich...
Wir sind aber noch nicht so weit in der Schule.
Wir sind gerade erst bei Differenzialrechnung.

Aber ich brauche das nunmal.
Sonst funktioniert auch alles soweit in meiner 3D-Engine. Nur das Animationssystem funktioniert noch nicht.
Computers are like air conditioners, they stop working immediately, if you open windows.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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:37 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