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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden