FighterFigger Geschrieben 19. Mai 2004 Geschrieben 19. Mai 2004 Hallo und schöne Grüße euch Köpfen da draußen. Ich habe ein Problem und eine Lösung, die ich hoffe optimieren zu können: Situation: Eine Landschaftsmatrix mit Höhendaten beschreibt ein Gelände (ähnlich wie bei VoxelGrafik) Nun ist in diesem Gelände eine Kugelförmige Lichtquelle (Radius r), die durch das Gelände Schatten in alle Richtungen wirft / werfen kann. Für das Gelände will ich eine zweite Matrix erstellen, die für jeden Gitterpunkt eine Aussage darüber trifft, wieviele Höheneinheiten der Geländepunkt über bzw. unter einer Schattierung liegt. Mit anderen Worten: Ich will jeden Beliebigen Punkt P(x,y) im Abstand < r zur Lichtquelle sagen können, um wieviele Höheneinheiten ich ihn anheben müßte, damit er nicht mehr durch den Schatten des Geländes verdeckt wird (oder um wieviel ich ihn absenken müßte, damit er gerade so beginnt, durch das Gelände beschattet zu werden) Frage: Gibt es für solche Abschattung standard Algorithmen, die helfen könnten? Ist mein System vielleicht schon optimal? Bisherige Lösung: Bisher scanne ich die Gitterpunkte in der Nähe der Lichtquelle ab und untersuche da den Winkel des Strahls von der Lichtquelle zum Geländepunkt und vergleiche diesen mit dem minimalen Abschattungswinkel auf dieser Scanlinie (je Höher die Berge zwischen dem aktuellen Scanpunkt und der Lichtquelle waren, desto höher ist dieser Winkel / je näher diese Berge der Lichtquelle sind, desto höher ist der Winkel auch) Dabei berechne ich aber viele Punkte und Winkel ... gibt es da schnellere Systeme? Gruß - Volker Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.