AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Perspektiv-Tiefe berechnen (wer ist gut in Mathe)

Ein Thema von Popov · begonnen am 10. Apr 2012 · letzter Beitrag vom 10. Apr 2012
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

Perspektiv-Tiefe berechnen (wer ist gut in Mathe)

  Alt 10. Apr 2012, 19:02
Ich weiß nicht woran das liegt, wahrscheinlich am Alter. Ich packe das Problem der Berechnung der Perspektiv-Tiefe immer wieder an und merke immer stärker wie lange ich inzwischen aus der Schule raus bin. Ich brauche einen der mir bei den Formeln etwas hilft. Die Vorarbeit habe ich bereits geleistet.

Was ich suche/benötige ist eine einfach anzuwendende Berechnung der Tiefe. Im Internet gibt es durchaus gute Seiten die sich mit dem Thema beschäftigen, aber die meisten machen es genauer als ich es brauche, d.h. die liefern Formeln für die man sehr viel Variablen benötigt. Das brauche ich alles nicht. Für mich reicht es: wenn zwischen Boden und Horizont 300 Pixel liegen und der erste Meter ab Boden 20 Pixel sind, wie lang ist der zweite, dritte, viert, usw. Meter. Alles andere interessiert mich weniger.

Nach vielen Versuchen habe ich eine relativ einfache Methode entwickelt. Anbei zwei CAD Zeichnungen im Anhang (als PNG) die die Methode aufzeigen. Wichtig ist nur Zeichnung 1. Zeichnung 2 zeigt alles in einem anderen Winkel.

Ich beschreibe mal die Zeichnung 1: man sieht eine Perspektiv-Tiefe. Der Boden ist weiß, die Wand Magenta. Nehmen wir an (Annahme) der Abstand zwischen g und h ist 1 Meter und x Pixel, was mich jetzt interessiert ist der Abstand zwischen h und i. Der ist auch 1 Meter, aber wie viel Pixel?

Nun gibt es zwei Methoden (zeichnerisch) die zweite Länge zu ermitteln. Betrachten wir den weißen Boden. Teile ich den horizontal gleichmäßig auf und verbinde die Ecken des ersten linken Rechtecks (bzw. Trapez) (Punkte c und m) ergibt sich so die zweite Länge zwischen h und i. Die Methode ist einfach, man muß aber sehr viel Rechnen und viele Winkel ermitteln. Man benötigt also viele Berechnungen und Umwege um ans Ziel zu kommen.

Die zweite Methode (magenta Farbe) finde ich einfacher, da hier weniger Unbekannte sind. Auch hier müssen wir eine Länge annehmen (Annahme: zwischen d und d liegt 1 Meter). Verbinde ich a und d und führe die Linie weiter bis e, ergibt sich so die zweite Länge, d. h. der zweite Meter.

Zeichnerisch klappt das, nun muß ich das in Formeln umwandeln. Wäre nett wenn einer mit guten Mathekenntnissen mir dabei helfen könnte. Was ich letztendlich brauche ist wieviel Pixel hoch der zweite Meter ist, oder der achte Meter usw.
Miniaturansicht angehängter Grafiken
beispiel-acad.png   beispiel-b-acad.png  
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

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

AW: Perspektiv-Tiefe berechnen (wer ist gut in Mathe)

  Alt 10. Apr 2012, 19:44
Was ich suche/benötige ist eine einfach anzuwendende Berechnung der Tiefe. Im Internet gibt es durchaus gute Seiten die sich mit dem Thema beschäftigen, aber die meisten machen es genauer als ich es brauche, d.h. die liefern Formeln für die man sehr viel Variablen benötigt. Das brauche ich alles nicht. Für mich reicht es: wenn zwischen Boden und Horizont 300 Pixel liegen und der erste Meter ab Boden 20 Pixel sind, wie lang ist der zweite, dritte, viert, usw. Meter.
39px, 56px, 72px

Bei deiner Zeichnung musste ich direkt erstmal an den Strahlensatz denken. Und zwar wird die Distanz zum Fluchtpunkt immer um einen bestimmten Faktor kleiner. Die Breite in px schrumpft um den gleichen Faktor.
In deinem Beispiel ist dieser Faktor (300-20)/300 = 93,333%
Die Zahlen von oben ergeben sich dann aus den Rechnungen:
Code:
300*(1-(14/15)^1) = 20 (deine Vorgabe)
300*(1-(14/15)^2) ~ 39
300*(1-(14/15)^3) ~ 56
300*(1-(14/15)^4) ~ 72
Das ~ soll bedeuten, dass diese Werte gerundet sind.

Geändert von jfheins (10. Apr 2012 um 19:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von MrMooed
MrMooed

Registriert seit: 18. Feb 2012
101 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Perspektiv-Tiefe berechnen (wer ist gut in Mathe)

  Alt 10. Apr 2012, 22:52
'Nabend

Ich nehme jetzt einfach mal an, dass es sich auf den Bildern um einen Gang o.Ä. in einem Spiel handelt (oder halt etwas Ähnliches)
Eine andere Methode wären die trigonometrischen Funktionen. (sin/ cos/ tan)

Dazu mal ein Paar Bedingungen/ Annahmen:
  • Die Strecke 'g <-> Fluchtpunkt' heißt: b
  • Die Strecke 'c <-> g' heißt: u
  • Der Winkel alpha sei der Winkel am Horizont (dort wo sich b und c schneiden würden)

So nun müsstest du als eiziges den Winkel alpha berechnen und die Strecke zwischen deinen "Wänden" (Also von der linken bis zur rechten Seite des Bodens)

Dann teilst du lediglich diese Strecke durch 2 und wendest du lediglich tan an und erhällst deine Strecke

Code:
geg.:
    b = 300px
    u = [I]berechnest du[/I]
    alpha = [I]ebenfalls berechnen (sofern es kein fester Wert bei dir ist)[/I]
ges.:
    b[1]

=> [B]b[1] = tan(alpha)*u[1][/B]
Hoffe ich konnte einigermaßen erklären, wie ich es errechnen würde
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf