Hallo. Ich suche nun schon seit einiger Zeit eine Möglichkeit aus einem 3d Wertefeld, welches ich für den Marching-Cubes-Algorithmus nutze, Vertex-Normalen zu berechnen. Dass es geht weiß ich, schließlich gibt es ja Ableitungen in der Mathematik, allerdings weiß ich nicht wie ich dieses Wissen anwenden soll. Im Internet habe ich auch nichts gefunden, nur trilineare und tetraedrische Interpolation, aber bestimmt ja nicht die "Fließrichtung". Die einige Idee, die ich hatte und auch ausprobiert habe, ist, dass man von jedem Vertex die Werte in sehr naher Entfernung bestimmt und dann interpoliert, aber das ist nicht das, was ich brauche. Dieser Ansatz ist nämlich viel zu ineffizient und produziert in bestimmten Fällen falsche Ergebnisse. Was ich brauche ist also eine Methode aus einem Skalarfeld ein Vektorfeld zu machen, in dem man die gegebenen Werte auf irgendeine Weise miteinander verrechnet. Hoffentlich ist das nicht zu kompliziert oder noch langsamer und rechenintensiver als mein provisorischer Code.
Vielen Dank schonmal in Voraus
Normalen aus 3d Werte-Gitter
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Re: Normalen aus 3d Werte-Gitter
Du suchst den Gradienten des Felds.
Hier ein Artikel von Quilez dazu: https://iquilezles.org/articles/normalsSDF/
Hier ein Artikel von Quilez dazu: https://iquilezles.org/articles/normalsSDF/