Sharp3D.Math - A 3D math library for .NET






4.30/5 (29 votes)
May 12, 2004
1 min read

229445

6582
A 3D math library written in C#
Introduction
I started building this library as part of a C# 3D engine I am currently working on. Having noticed that there isn't any decent open-source C# library for dealing with complex math out there I decided to focus my efforts on this library and release it to the world.
More information could be found on the project's workspace at http://workspaces.gotdotnet.com/sharp3d.
Features
- Support both single-precision and double-precision floating point types.
- Full-featured implementation of mathematical data types including complex numbers' quaternion and various sizes of matrices and vectors.
- Geometric data types and algorithms for 2D and 3D - distance and intersection methods, bounding volumes etc.
- Random number and noise generation.
- Strong-Typed collections for the library's data types.
- Extension of standard mathematical functions, such as
Cos()
,Sqrt()
, andExp()
, to work with vectors, matrices, and complex number classes. - A support library for converting between DirectX and
Sharp3D.Math
structures.
History
- v1.1.1621.25560 - Update
- Added array lists for vector structures.
- Added a Polygon class to the Geometry3D and Geometry2D namespaces.
- Added a Triangle structure to the Geometry3D namespace.
- Intersection Methods : Ray to plane, AABB, OBB, Triangle and Sphere (not fully implemented yet).
- Intersection Methods between AABB, OBB and Sphere (not fully implemented yet).
- Added <, > , <=, >= operators to the vector structures.
- Added
IIntegrator
implementations : SimpsonIntegral. - Implemented the Parse method for vectors and complex numbers.
- Created Sharp3D.Math.Tests library and moved all unit testing classes there so that Sharp3D.Math is no longer dependent on NUnit.Framework.dll.
- v1.1 - First release.