User:Hedgehog0/Hedgehog Java API

Overview
The Hedgehog Application_programming_interface is a 100% Java library tailored for computational and solid/geometric modelling in the fields of mathematics, science and engineering. It is developed by Hedgehog Software.

Motivation
Development on the Hedgehog API commenced in November 2007 by Graham Seed. Having used several open source and freely avialable programs for years, he nevertheless became frustrated at the lack of good solid numerical libraries, particularly for Java. The Internet is full of freely available software libraries from excellent sites such as Sourceforge and Koders but all too often they are either fragmented or not regularly maintained.

Features
Some features of Hedgehog include :
 * Mathematical packages of elementary functions and types, such as Complex, Quaternion, Vector2D, and so on
 * Vector classes for integer, floating-point and generic object types
 * Matrix solvers for both full and sparse matrices
 * Modelling of tensors and polynomials
 * Constrained and unconstrained optimisation via own optimisation routines and
 * 2D and 3D geometric packages, supporting modelling coordinate systems, points, curves, surfaces, grids, meshes and shapes
 * Symoblic manipulation of curves and surface through the JEval symbolic parser
 * Imports and exports via XML file format, X3D geometric object representation and HSQLDB database
 * Mechanics modelling packages for both 2D and 3D
 * A planets package, modelling Earth and the other planets
 * Attribute handling via an attribute hierarchy for attaching attributes such as integer and floating-point and material properties to objects
 * Numerous support and utility classes as unit handling, data and time manipulation, etc.

Imports/Exports
Hedgehog model objects are imported and exported to file in XML format. A simple DTD format is used, which closely models the geometric classes.

Support is also provided for importing and exporting model objects to the fast and 100% Java HSQLDB database.

Visualisation
The initial focus of the Hedgehog API was to consolidate a solid library of packages for the Java numerical modeller. The developers stayed well clear of developing yet another renderer and instead opted for exporting geometric objects in the X3D format. X3D is the next generation of VRML and is ideal for exporting geometric objects that are "internet-ready" and can be read by either standalone viewers or and web browser, providing it has the associated plugin.

A standalone Hedgehog visualiser is planned for a future release using the Xith3D Scene_graph engine.

Licensing
The Hedgehog API is proprietary software but set to the fixed cost of 100 euros. The API is sold rather than made open source in order to fund future development and support while at the same time sold at a sufficiently low cost so as to not discourage individual users.

Platform availability
Hedgehog is 100% Java and as a result is inherently a multi-platform library.