Click here to Skip to main content
6,630,901 members and growing! (18,948 online)
Email Password   helpLost your password?
General Programming » Algorithms & Recipes » Math     Intermediate

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

By Eran Kampf

A 3D math library written in C#
C#, Windows, .NET, Visual Studio, Dev
Posted:11 May 2004
Updated:9 Jun 2004
Views:120,808
Bookmarked:59 times
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
31 votes for this article.
Popularity: 5.76 Rating: 3.86 out of 5
3 votes, 9.7%
1
1 vote, 3.2%
2
2 votes, 6.5%
3
10 votes, 32.3%
4
15 votes, 48.4%
5

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(), and Exp(), 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.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Eran Kampf


Member

Occupation: Web Developer
Location: Israel Israel

Other popular Algorithms & Recipes articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 25 of 50 (Total in Forum: 50) (Refresh)FirstPrevNext
Generala very useful lib.... Pinmemberzhaochunyan22:47 21 Apr '09  
GeneralMatrix indexing for 3- and 4-dimensional matrixes is wrong PinmemberKluyg5:55 18 Nov '07  
Generalsquare root of a complex number incorrect PinmemberChris J Saunders21:35 4 Jan '07  
GeneralRe: square root of a complex number incorrect PinmemberEric Engler11:03 13 Apr '07  
GeneralRe: square root of a complex number incorrect PinmemberChris J Saunders15:04 13 Apr '07  
GeneralThis saved me hours of programming PinmembervanRCAD1:30 17 Sep '06  
GeneralHow to Install & Use the Library PinmemberDaniel P18:04 25 May '06  
GeneralRe: How to Install & Use the Library PinmemberEran Kampf23:31 25 May '06  
GeneralLibrary updates PinmemberEran Kampf7:44 10 Jan '05  
GeneralRandom number generation. Pinmemberwout de zeeuw10:05 25 Sep '04  
GeneralRe: Random number generation. PinmemberEran Kampf11:00 25 Sep '04  
GeneralWhy no credit to the Exocortex libraries this is derived from? PinmemberBen Houston12:56 19 Sep '04  
GeneralRe: Why no credit to the Exocortex libraries this is derived from? PinmemberEran Kampf1:15 20 Sep '04  
GeneralRe: Why no credit to the Exocortex libraries this is derived from? PinmemberBen Houston6:01 20 Sep '04  
GeneralRe: Why no credit to the Exocortex libraries this is derived from? PinmemberEran Kampf8:06 20 Sep '04  
GeneralRe: Why no credit to the Exocortex libraries this is derived from? PinmemberBen Houston8:29 20 Sep '04  
GeneralRe: Why no credit to the Exocortex libraries this is derived from? PinmemberEran Kampf8:52 20 Sep '04  
GeneralRe: Why no credit to the Exocortex libraries this is derived from? PinsussAnonymous10:03 20 Sep '04  
GeneralRe: Why no credit to the Exocortex libraries this is derived from? PinmemberEran Kampf10:13 20 Sep '04  
GeneralRe: Why no credit to the Exocortex libraries this is derived from? PinsussAndrew Phillips23:54 25 Aug '05  
GeneralGood stuff Pinmemberwout de zeeuw0:32 20 Aug '04  
GeneralNew homepage PinmemberEran Kampf8:27 15 Aug '04  
GeneralSome comments PinmemberColin Angus Mackay13:00 10 Jun '04  
GeneralRe: Some comments PinmemberEran Kampf13:18 10 Jun '04  
GeneralRe: Some comments PinmemberColin Angus Mackay13:38 10 Jun '04  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 9 Jun 2004
Editor: Nishant Sivakumar
Copyright 2004 by Eran Kampf
Everything else Copyright © CodeProject, 1999-2009
Web21 | Advertise on the Code Project