Skip to content

scgruber/Construct

Repository files navigation

Construct

A Geometric Programming Medium

The purpose of a programming medium is to present a human-intelligible narrative of the mathematics performed by a computer. At present, this is done from an algebraic perspective: programs are made up of symbols which encapsulate data and functions which transform those symbols. This way of programming computers is effective when the goal is to manipulate data which is natively algebraic: text processing, numerical computation, and the like. However, it becomes cumbersome when working with data which is geometric in nature: visual relationships, physical objects, etc. The existing media support logical reasoning about the data and operation of a program, but are limited in their engagement of visual reasoning.

A geometric programming medium departs significantly from the constraints that define current programming practice. This geometric methodology relates to the patterns of creation and interaction familiar in architecture, design and the visual arts, much as the process of traditional programming draws upon methods from language and algebra. In particular, geometric programming is characterized by the following qualities:

  • nonlinearity
  • direct manipulation
  • multidimensionality
  • use of patterns and constraints

Construct is a implementation of a geometric programming medium using C++. Construct makes use of the OpenFrameworks graphics library suite. Its purpose is to demonstrate the feasibility of programming in a geometric way and also to showcase the benefits of such an approach to geometric problems.

About

A geometric programming environment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published