Documentation Talk:Reference Section 5.4

From POV-Wiki
Revision as of 16:37, 4 December 2010 by Jholsenback (talk | contribs) (dl/dt/dd follow up)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • update for incoming beta 40: new exterior types 7 & 8

interior and exterior specify special coloring algorithms. You can specify one of them or both at the same time. They only work with the fractal patterns.
EXTERIOR_TYPE is integer value between 0 and 8 (inclusive) and INTERIOR_TYPE is integer value between 0 and 6 (inclusive). When not specified, the default value of INTERIOR_TYPE is 0 and for EXTERIOR_TYPE 1.
FACTOR is a float. Unless specified otherwise, the return value of the pattern is multiplied by FACTOR before returning it. This can be used to scale the value range of the pattern when using interior and exterior coloring (this is often needed to get the desired effect). The default value of FACTOR is 1.

The different values of EXTERIOR_TYPE and INTERIOR_TYPE have the following meaning:

  • 0 : Returns just 1
  • 1 : For exterior: The number of iterations until bailout divided by ITERATIONS.
        Note: This is not scaled by FACTOR (since it is internally scaled by 1/ITERATIONS instead).
        For interior: The absolute value of the smallest point in the orbit of the calculated point
  • 2 : Real part of the last point in the orbit
  • 3 : Imaginary part of the last point in the orbit
  • 4 : Squared real part of the last point in the orbit
  • 5 : Squared imaginary part of the last point in the orbit
  • 6 : Absolute value of the last point in the orbit
  • 7 : For exterior only: the number of iterations modulo FACTOR and divided by FACTOR.
        Note: This is of course not scaled by FACTOR. The covered range is 0 to FACTOR-1/FACTOR.
  • 8 : For exterior only: the number of iterations modulo FACTOR+1 and divided by FACTOR.
        Note: This is of course not scaled by FACTOR. The covered range is 0 to 1.

--Le Forgeron 17:18, 2 December 2010 (UTC)

  • dude you're on fire ... slow down: --jholsenback 13:56, 4 December 2010 (UTC)

  • adding pavement pattern (beta 40) --Le Forgeron 11:07, 4 December 2010 (UTC)
  • oh-key-doe-key ... done: --jholsenback 15:16, 4 December 2010 (UTC)
  • wiki won't parse some of the ending tags, but they are needed for html, so i commented them out --jholsenback 16:37, 4 December 2010 (UTC)
<dl>
<dt><code>form</code><!--</dt>--->
<dd>0, 1 or 2, a special 3 is allowed for square ...<!--</dd>--->
</dl>

Pavement

pigment {
  pavement 
  [PAVEMENT_MODIFIERS...]
  }

PAVEMENT_MODIFIERS:
  number_of_sides SIDES_VALUE | number_of_tiles TILES_VALUE | pattern PATTERN_VALUE |
  exterior EXTERIOR_VALUE | interior INTERIOR_VALUE | form FORM_VALUE |
  PATTERN_MODIFIERS

The pavement is a pattern which paves the x-z plane with a single polyform tile. A polyform is a plane figure constructed by joining together identical basic polygons. The number_of_sides is used to choose that basic polygon: an equilateral triangle (3), a square (4) or an hexagon (6). The number_of_tiles is used to choose the number of basic polygons in the tile while pattern is used to choose amongst the variants.

number of patterns
number
of sides
number of tiles
123456
31113412
411251235
6113722 

Note: the case of paving the plane with tiles made 6 hexagons is not supported because not all such tiles would pave the plane. For example, the ring made of six hexagons is not able to pave the plane.

The various patterns with 6 squares

There is no nomenclature for pattern, they are just numbered from 1 to the maximum relevant value.

form
0, 1 or 2, a special 3 is allowed for square only which copy the look of interior for some additional variations.
interior
0, 1 or 2
exterior
0, 1 or 2; Not used for hexagon.

The form, exterior and interior specify the look of angle used for respectively slow convex (turning side), quick convex (pointy tile) and concave angle (interior angle between many tiles).

  • 0 is a normal pointy angle. (a right angle for square)
  • 1 is the same as 0, but the pointy angle is broken in two. For square, the two corners are broken so as to share middle angle.
  • 2 is a smooth negotiation of the angle, without pointy part.