Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Käsekönig

1x Contest-Sieger

  • Private Nachricht senden

21

06.09.2010, 23:21

bis jetzt 7 nächstes schuljahr 8. Um deine Neugier zu befriedigen Sinus und Cosinus sagt mir nur aus David's Buch was.


Hast meine Nachricht gelesen? ;)

Sinus und Cosinus sind ganz wichtig dafür. Die muss man wirklich verstehen, damit man sie anwenden kann. Wirst du schon noch lernen. ;)
Ansonsten, lies dir meinen Post mal durch, und versuch zu verstehen, ansonsten frag weiter. Morgen kann ich dann schauen, dass ich dir weiterhelfe. Aber bis dahin können dir hoffentlich auch andere weiter helfen. ;) Das bekommen wir schon gemeinsam hin!^^

22

06.09.2010, 23:30

Also ich hab jetzt die ausgangswerte:
D3DXVECTOR3 g_vCameraPos = D3DXVECTOR3(-1.0f, -40.0f, -5.0f);
D3DXVECTOR3 pAt = D3DXVECTOR3(-1.0f,-16.0f,0.0f);

nach den berechnungen von Käsekönig(und meinem Taschenrechner) kommt beim pAt das raus:
D3DXVECTOR3 pAt = D3DXVECTOR3(-13.865f,-8.0f,0.0f);

Stimmt das so?
Metal ist keine Musik sondern eine Religion.

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

23

06.09.2010, 23:41

Ich glaube nicht, dass das stimmt, aber ich habe hier mal eine Formel: Die Kamera ist auf Punkt M(0|0|0). vAt ist P(0|0|20) jetzt drehen wir vAt im Uhrzeigersinn um 40°. Die neue Position von vAt (P') berechnen wir jetzt so:

P'.X = Abstand von M und P (Radius des Kreises) * sin(40°)
P'.Y = P.Y
P'.Z = Abstand von M und P (Radius des Kreises) * cos(40°)

Auf den Abstand kommst du so: r = (M.X - P.X) + (M.Z - P.Z)

24

06.09.2010, 23:53

r = 20

P'.X = 14,902
P'.Y = 0
P'.Z = -13,339

DIe Ergebnisse hab ich gerundet.
Aber stimmt das so?
Metal ist keine Musik sondern eine Religion.

25

06.09.2010, 23:56

Knapp, jetzt musst nur noch den Taschenrechner von Radiant (rad) auf Grad (deg) stellen, oder die 40° mit PI/180° multiplizieren.

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

26

06.09.2010, 23:58

Nein stimmt nicht, es sollte rauskommen:
P'.X = 20 * sin(40) = 12,86
P'.Y = 0
P'.Z = 20 * cos(40) = 15,32

Ah aber ich merke gerade, dass die Formel oben, mit der man den Abstand berechnen soll auch falsch ist...

Was aber auch logisch ist, bei einer 90° Drehung würde das rauskommen:
P'.X = 20 * sin(90) = 20
P'.Y = 0
P'.Z = 20 * cos(90) = 0

27

06.09.2010, 23:59

P'.X = 12,850
P'.Y = 0
P'.Z = 15,325
jetzt?
EDIT: Du warst was schneller beim drücken auf absenden :P
Metal ist keine Musik sondern eine Religion.

28

07.09.2010, 00:02

Ja, und der Abstand stimmt, wie BurningWave sagte, nur zufällig.
In Zukunft bitte den Pythagoras verwenden: d = sqrt((p.x-m.x)² + (p.y-m.y)² + (p.z-m.z)²)

29

07.09.2010, 00:05

ich denke ich habs jetzt verstanden :D Danke
Metal ist keine Musik sondern eine Religion.

30

07.09.2010, 00:10

So dreht sich das ganze um die Z Achse aber wie gehts mit den anderen? Also wenn ich das Beispiel oben hab aber um die Y Achse drehen will?
Metal ist keine Musik sondern eine Religion.

Werbeanzeige