Skip to content

Commit 358d84e

Browse files
author
Dominic Beger
authored
Update ReadMe
1 parent 06d7750 commit 358d84e

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

README.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# SharpMath
2-
A C# math library supporting vectors, matrices, linear equation systems, expression parsing and soon more advanced analysis.
2+
SharpMath is a C# math library supporting vectors, matrices, linear equation systems, expression parsing and soon more advanced analysis.
3+
Specials thanks go to [NikxDa](https://github.com/nikxda) who wrote the Canvas2D control for representing vectors and functions graphically.
34

5+
## Overview
46
![Class Diagramm](https://github.com/ProgTrade/SharpMath/blob/master/SharpMath.png)
7+
8+
## 2D and 3D-Geometry
9+
SharpMath offers many structs, such as points, vectors, lines and matrices. These are basically also used in games/computer graphics, except that they're a bit more extensive and sophisticated. Thus, the game engines provide some more flexibility and possibilites than SharpMath.
10+
Nevertheless, you can perform simple operations (such as rotating, scaling or translating objects defined through vertices) in space and project everything onto a two-dimensional surface.
11+
12+
![3D-Sample](https://trade-programming.de/pixelkram/sharpmath_projection.png)
13+
14+
## Linear equation systems
15+
SharpMath can solve linear equation systems using the Gauss-Jordan algorithm internally by representing the equations as matrices.
16+
17+
## Expression Parsing
18+
SharpMath knows most of the functions, constants and operators used in computations. You can provide the parser with an input string containing your expression and it will return the result when calling the corresponding function. The flexibility of the parser allows you to add further operations. This feature may be used for calculators.
19+
20+
![Calculator](https://trade-programming.de/pixelkram/vstiebqhlj.png)
21+
22+
## Canvas2D
23+
SharpMath provides a two-dimensional canvas control for representing vectors and functions graphically in your application. It was written by [NikxDa](https://github.com/nikxda).
24+
A three-dimensional representation (e.g. for vectors, points and lines) will follow as well. Thanks to the `Geometry`-namespace, the implementation of this one should not be too hard as the projection onto a two-dimensional surface can be done using the integrated matrices.
525
![Canvas2D](https://github.com/ProgTrade/SharpMath/blob/master/Canvas2D.png)

0 commit comments

Comments
 (0)