Einen hohen Wert Filtern



  • Hi, ich habe einen Wert der sehr hoch werden kann. Ich brauche diese hohen Werte für meine Berechnugen. Wenn dieser Wert jedoch zu hoch wird habe ich Probleme in der Darstellung. Wie könnte ich diesen Wert(es ist die Z Koordinaten in einem 3D Raum) so filtern das er praktisch eine Grenze nicht überschreiten kann?

    INFO:
    Der Z-Wert ist die Position der Sonne. Diese hatt immer einen Konstanten Abstand zum Betrachter, damit man der Sonne nicht zu nah kommen kann. Bewegt sich der Betrachter in der Z-Achse z.B. 30000 Einheiten +30000 Einheiten Abstand zum Betrachter gibt es Probleme bei der Berechnung eines Lensflare Effekts.



  • Hi,

    if (wert > grenze) wert = grenze;
    

    Oder hab ich das Problem net verstanden?

    ChrisM



  • Der Beobachter bewegt sich in Z. Die Sonne mit ihm. Weil er ja sonst die Sonne einholen würde. Anhand der Position der Sonne zur Kamera berechne ich die 2D Koordinaten für das Lensflare.

    MOVECAM 0,0,1
    POSITIONIERE_SONNE KAMERX,KAMERAY,KAMERAZ+30000 (Wegen dem nicht einholen)

    RECHNE_UM_IN_2D_KOORD(SONNEX,SONNEY,SONNZ)

    Das Problem ist wenn sich der Betrachter in Z soweit bewegt hat das für Z sehr hohe Werte rauskommen z.B. 100000 und plus 30000 Abstand der Sonne bekomme ich Probleme beim Umrechnen. Und habe Schwierigkeiten bei der Darstellung der Lansflareeffekte.



  • Sehe ich das richtig:

    DIe Sonne ist per Definition 30000 vom Betrachter entfernt. Wenn der Betrachter sich zur Sonne hin bewegt bewegst Du die Sonne mit.

    Daher ist die Sonne immer 30000+z vom Nullpunkt entfernt. (z= Z Position des Betrachters)

    Was willst Du jetzt filtern/begrenzen? Du kannst die Sonne jetzt natürlich nicht auf einen maximalen z-Wert beschränken, dann würde man irgendwann in die Sonne reinlaufen.

    Also an welchem Parameter kannst Du überhaupt drehen und welche Probleme bekommst Du überhaupt? Hast Du irgendwo eine feste Grenze für den z-Wert? Wenn ja bleibt Dir doch nur übrig die z Bewegung des Betrachters zu beschränken.

    Wie wäre es damit das sich der Betrachter relativ zur Sonne nur langsam bewegt. Dann wird das z von oben sehr klein im Verhältnis zu 30000. Problem ist hierbei wahrscheinlich das Du einen sehr großen Raum bekommst.



  • Du solltest zwischen Berechnung und Darstellung unterscheiden.
    In der Berechnung mit der maximal nötigen Genauigkeit. Für die Dartstellung
    kann man entweder den Wert Skalieren oder begrenzen ähnlich wie ChrisM
    es schon gezeigt hat. Allerdings ist der Unterschied das dies nur für die Darstellung gemacht wird.


Anmelden zum Antworten