Name:
SharpMath
Beschreibung:
SharpMath ist eine Mathebibliothek, die ich geschrieben habe, um mich sehr ausführlich in Vektoren und Matrizen einzuarbeiten. Daraus wurde dann ein bisschen mehr, sodass die Library neben Vektoren und Matrizen noch einen ExpressionParser, einen Solver für lineare Gleichungssysteme und einen Canvas beinhaltet.
Ich habe sehr auf Abstraktion und generische Extensions gesetzt, damit es leicht fällt, entsprechend selber Unterklassen zu implementieren, die auf den Interfaces aufbauen.
Die Projektmappe enthält das Hauptprojekt, ein Komponententestprojekt sowie mehrere Beispielanwendungen, wo verschiedenste Komponenten mit einem User Interface getestet werden. Ich habe in
Inspiriert wurde ich auch durch @Artentus ' MathUtils.
Screenshot(s):
Verwendete Programmiersprache(n) und IDE(s):
C#, Visual Studio Enterprise und Visual Studio Express
Systemanforderungen:
.NET-Framework 4.0
Download(s):
github.com/ProgTrade/SharpMath/releases ... oder im Anhang ...
Lizenz/Weitergabe:
OpenSource, MIT License
github.com/ProgTrade/SharpMath
ToDo:
- Konvexe Hülle bei den Polygonen (bin am QuickHull-Algorithmus gescheitert.^^)
- ExpressionTree
- Canvas verbessern
- Canvas3D
- Weitere Komponententests
Es gibt noch ein paar Punkte, die fertiggemacht werden müssen. Dazu gehören noch ein paar fehlende UnitTests für die Matrizen. Quaternionen sind btw nicht implementiert, da ich mich damit noch gar nicht beschäftigt habe.
Soweit ich die Bibliothek getestet habe, sollte aber alles funktionieren und zumindest grundlegend implementiert sein.
Solltet Ihr Fehler finden, dann meldet diese oder sendet einen Issue bzw. PullRequest auf GitHub.
Ein Dankeschön geht an @~blaze~, der mit seinem riesigen Wissen zur Seite stand und an @Nikx für die Implementierung des Canvas.
Viel Spaß, ich freue mich auf konstruktive Kritik.
SharpMath
Beschreibung:
SharpMath ist eine Mathebibliothek, die ich geschrieben habe, um mich sehr ausführlich in Vektoren und Matrizen einzuarbeiten. Daraus wurde dann ein bisschen mehr, sodass die Library neben Vektoren und Matrizen noch einen ExpressionParser, einen Solver für lineare Gleichungssysteme und einen Canvas beinhaltet.
Ich habe sehr auf Abstraktion und generische Extensions gesetzt, damit es leicht fällt, entsprechend selber Unterklassen zu implementieren, die auf den Interfaces aufbauen.
Die Projektmappe enthält das Hauptprojekt, ein Komponententestprojekt sowie mehrere Beispielanwendungen, wo verschiedenste Komponenten mit einem User Interface getestet werden. Ich habe in
SharpMath.3DTest
die ganzen Projektionen mittels der Matrix4x4
und Vector4
-Struktur implementiert. (Das läuft da über GDI+, also nicht wundern. Mir ist natürlich durchaus bewusst, dass man das so nie verwenden würde, da es ja DirectX etc. gibt, aber somit hatte ich ein praktisches Beispiel und etwas kleines für's Showcase.)Inspiriert wurde ich auch durch @Artentus ' MathUtils.
Screenshot(s):
Verwendete Programmiersprache(n) und IDE(s):
C#, Visual Studio Enterprise und Visual Studio Express
Systemanforderungen:
.NET-Framework 4.0
Download(s):
github.com/ProgTrade/SharpMath/releases ... oder im Anhang ...
Lizenz/Weitergabe:
OpenSource, MIT License
github.com/ProgTrade/SharpMath
ToDo:
- Konvexe Hülle bei den Polygonen (bin am QuickHull-Algorithmus gescheitert.^^)
- ExpressionTree
- Canvas verbessern
- Canvas3D
- Weitere Komponententests
Es gibt noch ein paar Punkte, die fertiggemacht werden müssen. Dazu gehören noch ein paar fehlende UnitTests für die Matrizen. Quaternionen sind btw nicht implementiert, da ich mich damit noch gar nicht beschäftigt habe.
Soweit ich die Bibliothek getestet habe, sollte aber alles funktionieren und zumindest grundlegend implementiert sein.
Solltet Ihr Fehler finden, dann meldet diese oder sendet einen Issue bzw. PullRequest auf GitHub.
Ein Dankeschön geht an @~blaze~, der mit seinem riesigen Wissen zur Seite stand und an @Nikx für die Implementierung des Canvas.
Viel Spaß, ich freue mich auf konstruktive Kritik.
#define for for(int z=0;z<2;++z)for // Have fun!
Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose!
Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da
Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose!
Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da
Dieser Beitrag wurde bereits 12 mal editiert, zuletzt von „Trade“ () aus folgendem Grund: Update auf Version 1.14.7