HyperFun (from Hyperdimensional Functions) is a programming language
[{{cite web , work = HyperFun language specification, version 2.0 , title = HyperFun: Language for FRep Volume Modeling , url = http://hyperfun.org/wiki/doku.php?id=hyperfun:language , accessdate = 5 August 2012] and software used to
create
To create is to make a new person, place, thing, or phenomenon. The term and its variants may also refer to:
* Creativity, phenomenon whereby something new and valuable is created
Art, entertainment, and media
* Create (TV network), an America ...
, visualize, and
fabricate volumetric
3D and higher-dimensional models.
The team maintaining the HyperFun project is a freely associated group of researchers and students from different countries from all over the world (UK, Russia, France, Japan, Norway, USA, and others) called the Digital Materialization Group (digitalmaterial.org).
Overview
HyperFun allows users to easily model objects of the quality found in reality and nature. The system is based on a new mathematical framework for geometry,
function representation (FRep), which provides a uniform method to model both surface geometry and internal composition simultaneously. It is also a compact and precise framework that can represent objects with unlimited complexity and properties. Compared to traditional modeling systems, HyperFun is able to digitally describe, create and modify models of any real or imagined object or environment.
Concepts
Technically, complex geometric objects in HyperFun are constructed from simple
primitives on which various operations are performed. Any object in three-dimensional space is defined by a function of point coordinates F(x,y,z). This continuous real function is positive inside the object, negative outside, and takes zero value on its surface. Similarly, a multidimensional object is defined by a function of several variables F(x1, x2, x3, ..., xn). For example, an object changing over time can be defined by F(x,y,z,t) with t representing time. Attributes such as color or material density are also defined by corresponding functions. This constitutes the new paradigm of
procedural
Procedural may refer to:
* Procedural generation, a term used in computer graphics applications
*Procedural knowledge, the knowledge exercised in the performance of some task
* Procedural law, a legal concept
*Procedural memory, a cognitive scienc ...
function-based volume modeling and rendering, where an object's shape and properties are locally evaluated on request using ''
black box'' procedures.
Notes and references
External links
HyperFun Project Web siteDigital Materialization GroupModelling Animation Games and Effectsresearch group at the
National Centre for Computer Animation
Geometric algorithms
3D graphics software
Domain-specific programming languages