Rotationskörper

    • C#
    • .NET (FX) 4.5–4.8

    Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von φConst.

      Rotationskörper

      -1-


      Was sind Rotationskörper?

      Rotationskörper sind - wie der Name bereits hinweist - Körper, die durch Rotation um eine Achse entstehen.
      Was wird dabei rotiert? In der Regel eine beliebige Funktion.
      Dies findet meines Wissens große Anwendung in der Industrie - sind die meisten Produkte irgendwo doch achsensymmetrisch und damit durch Rotationskörper modellierbar.


      Worum geht es hier?

      Folgender Sourcecode ermöglicht es, für eine beliebig definierte Funktion den entsprechenden Rotationskörper zu generieren'.

      Relevante Klassen:

      Silhouette : Hier wird die eigentliche Funktion definiert - entsprechende Funktionswerte werden evaluiert.
      Zusätzlich kann über den sogenannten LaneRiesenfeldAlgorithmus, die Kurve immer besser verfeinert werden (konvergiert im Grunde gegen die eigentliche Funktion).

      RotationalBody: Hier wird die Silhouette rotiert und geordnet als IEnumerable<Vector3> zurückgegeben.

      und schließlich

      CircularOrderedMesh: Hier wird die korrespondierende Mesh' generiert.

      Beispiel:

      Gegeben sei folgende abschnittweise definierte Funktion aus:
      www2.iazd.uni-hannover.de/~ern…/dateien/maple/MB_9_3.pdf



      Ergebnis nach der Rotation um die Y-Achse:



      Hier die Source:

      RotationalBodies.zip


      _


      Und Gott alleine weiß alles am allerbesten und besser.
      @φConst

      Quellcode

      1. RotationalBodies.csproj : error : Die Projektdatei "RotationalBodies.csproj" kann nicht gelesen werden.
      2. RotationalBodies.csproj(73,3): Das importierte Projekt "C:\Program Files\MSBuild\MonoGame\v3.0\MonoGame.Content.Builder.targets" wurde nicht gefunden. Vergewissern Sie sich, dass der Pfad in der <Import>-Deklaration korrekt und die Datei auf dem Datenträger vorhanden ist.
      Was gehört denn da alles noch dazu?
      Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
      Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
      Ein guter .NET-Snippetkonverter (der ist verfügbar).
      Programmierfragen über PN / Konversation werden ignoriert!