• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

2D_to_3D.rstH A D29-Sep-20211.5 KiB3932

3D_to_2D.rstH A D29-Sep-2021167 75

Bibliography.rstH A D29-Sep-20211.1 KiB1715

Boolean.rstH A D29-Sep-20213.3 KiB8263

Colour.rstH A D29-Sep-20215.6 KiB159126

Colour_Maps.rstH A D29-Sep-20211 KiB3627

Debug.rstH A D29-Sep-20212.2 KiB5344

Distance_Field_Operations.rstH A D29-Sep-202110.8 KiB246184

Future_Work.rstH A D29-Sep-202123.4 KiB495384

Intensity_Fields.rstH A D29-Sep-20211.6 KiB4837

README.rstH A D29-Sep-20212.8 KiB9074

Repetition.rstH A D29-Sep-20213 KiB6451

Shape_Constructors.rstH A D29-Sep-202110.5 KiB287229

Shapes.rstH A D29-Sep-20213.4 KiB8468

Textures.rstH A D29-Sep-20211.9 KiB5743

Transformations.rstH A D29-Sep-20218.8 KiB200150

README.rst

1The Curv Shape Library
2======================
3The shape library is a high level interface for constructing
4coloured, animated geometric shapes in 2 and 3 dimensions.
5It is designed both for ease of use and for expressive power.
6
7The shape library provides a set of graphical "building blocks",
8which can be plugged together in many different ways to construct shapes.
9These building blocks comprise: constructors, for making new graphical values;
10transformations, for transforming one graphical value into another; and
11operators for combining several graphical values to make a new graphical value.
12Each building block has an intuitive, visual interpretation which can be explored
13in the graphics window. At a deeper level,
14there is also a mathematical interpretation, and by understanding the math
15you can learn to create new building blocks.
16
17The shape library is built in to Curv; you don't need to explicitly include
18an external library. The library is written entirely in Curv; you can read
19the source code to learn how to create new blocks.
20
21Graphical Data Types
22--------------------
23The Curv shape library has the following graphical data types:
24
25shape
26  A 2D or 3D geometric shape.
27
28  * `Shapes`_
29  * `Shape Constructors`_
30  * `Boolean Operations`_
31  * `Transformations`_
32  * `2D to 3D`_
33  * `3D to 2D`_
34  * `Repetition`_
35  * `Distance Field Operations`_
36
37texture
38  A texture is an infinite, possibly animated colour pattern
39  that can be applied to a shape, giving it colour.
40  Textures can be 2D or 3D.
41  They can be constructed by composing intensity fields and colour maps.
42
43  * `Textures`_
44  * `Transformations`_
45  * `Repetition`_
46
47intensity field
48  An intensity field is a colour pattern with the colours abstracted away,
49  leaving only a pattern of intensity values, which are numbers between 0
50  and 1. Intensity fields can be animated.
51  Mathematically, a function that maps [x,y,z,t] onto an intensity,
52  where [x,y,z] is a point in space, and t is time.
53
54  * `Intensity Fields`_
55
56colour map
57  A continuous range of colours, which can be applied to an intensity field to
58  construct a texture.
59  Mathematically,
60  a function that maps an intensity value between 0 and 1 onto a colour.
61
62  * `Colour Maps`_
63
64colour
65  A colour value.
66
67  * `Colour`_
68
69Other Topics
70------------
71* `Debug`_
72* `Future Work`_
73* `Bibliography`_
74
75.. _`2D to 3D`: 2D_to_3D.rst
76.. _`3D to 2D`: 3D_to_2D.rst
77.. _`Bibliography`: Bibliography.rst
78.. _`Boolean Operations`: Boolean.rst
79.. _`Colour`: Colour.rst
80.. _`Colour Maps`: Colour_Maps.rst
81.. _`Debug`: Debug.rst
82.. _`Distance Field Operations`: Distance_Field_Operations.rst
83.. _`Future Work`: Future_Work.rst
84.. _`Intensity Fields`: Intensity_Fields.rst
85.. _`Repetition`: Repetition.rst
86.. _`Shape Constructors`: Shape_Constructors.rst
87.. _`Shapes`: Shapes.rst
88.. _`Textures`: Textures.rst
89.. _`Transformations`: Transformations.rst
90