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

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

1

26.01.2015, 04:20

Überprüfung der Formel für das Matchen einer Plane zu einer Kamera

Hallo, ich will für einen Hintergrund eine Plane machen, die muss sich perfekt dem Sichtfeld anpassen. (Also so groß sein, dass sie das Kamerafeld voll ausdeckt)
Dazu hab ich mir folgendes überlegt:

FOV = Der vertikale FOV-Winkel
d = Distanz Plane - Kamera
h = Höhe der Plane (zu finden)

Betrachtet man das ganze von der Seite (so dass die Plane eine vertikale Linie ist) und zeichnet die Distanz von der Kamera zur Plane ein (sie trifft die Plane mittig), dann ergibt sich folgendes:
2 rechtwinklige Dreiecke durch d.
d ist bei beiden eine Kathete, die andere Kathete ist die Hälfte der Plane. Der rechte Winkel liegt jeweils am Mittelpunkt der Plane (immernoch von der Seite aus gesehen). Die Hypotenusen sind die Grenzlinien des FOV's

Mit einem Dreieck erhalte ich folgende Formel:

tan( fov/2 ) = ( h / 2 ) / d (Gegenkathete / Ankathete = Tan a )
Da der Winkel halbiert wird durch d, ist es fov/2

Durch Umstellen:

h = 2 * d * tan ( fov / 2 )

Und die Breite:

w = aspectratio * h


Liege ich mit meinen Rechnungen richtig? Vielleicht kann sich das jemand anschauen, vielleicht habe ich ja einen Fehler drin.

2

26.01.2015, 06:09

Sollte richtig sein.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

26.01.2015, 10:14

Deine Rechnung sieht mir auf den ersten Blick richtig aus, wieso du zum Rendern eines Hintergrundbildes eine perspektivische Projektionsmatrix verwenden musst, ist mir aber schleierhaft... ;)

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

4

26.01.2015, 13:18

Ich könnte auch eine Cubemap als Skybox verwenden, aber die Koordinatenumrechnung gefällt den Mobilgeräten anscheinend nicht. Deshalb einfach die Plane hinter das Geschehen ;)

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

5

26.01.2015, 14:08

Warum nicht einfach Screenkoordinaten statt Worldkoordinaten?

Werbeanzeige