HyperFun

HyperFun (from Hyperdimensional Functions)  is a programming language and software used to create, 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 function-based volume modeling and rendering, where an object's shape and properties are locally evaluated on request using black box procedures.