Fractals/Computer graphic techniques/2D/plane

2D plane direct links: =Geometry=
 * coordinate
 * transformations ( maps )
 * quality of the image
 * graphic files
 * parameter files
 * Size and resolution of the image
 * Scanning, sampling and decomposition
 * Euclidean
 * non-Euclidean
 * hyperbolic
 * eliptic

Quality of image geometry:
 * good ( not distorted)
 * bad ( distorted)

=visualisation=
 * grid
 * level sets
 * Zebra striping in computer graphics
 * checker board ( chess board)

= Viewport (visible part of the plane ) = A viewport is a polygon viewing region in computer graphics.

Description
Rectangle part of 2D plane can be described by :
 * corners ( 4 real numbers or 2 complex numbers = 2D points)
 * center and :
 * width ( 3 real numbers )
 * magnification
 * radius

"People specify fractal coordinates in many ways. Some people use the coordinates of the upper-left and lower-right visible points, specifying the coordinates as four numbers x1, y1, x2, y2. To set the same viewpoint in XaoS, set the real portion of the center to (x1+x2)/2, the imaginary part of center to (y1+y2)/2, and the radius to the greater of x2-x1 and y2-y1." ( from Xaos doc )

Corners
Standard description in Fractint, Ultra Fractal, ChaosPro and Fractal Explorer are corners. For example initial plane for Mandelbrot set is   Corners:                X                     Y  Top-l          -2.5000000000000000    1.5000000000000000 Bot-r          1.5000000000000000   -1.5000000000000000 Ctr -0.5000000000000000  0.0000000000000000  Mag 6.66666667e-01 X-Mag-Factor    1.0000   Rotation    0.000   Skew    0.000

Display window of parameter plane has :
 * a horizontal width of 4 (real)
 * a vertical width (height) of 3 (imag)
 * an aspect ratio (proportion) 4/3 ( also in pixels 640/480 so ther is no distorsion)
 * center z=-0.5

See demo par file : Mandel_Demo       { ; PAR for initialization of Fractint demo reset=1900 type=mandel corners=-2.5/1.5/-1.5/1.5 params=0/0 inside=0 sound=no } For julia set/ dynamic plane has :

Corners:               X                     Y Top-l          -2.0000000000000000    1.5000000000000000 Bot-r          2.0000000000000000   -1.5000000000000000 Ctr 0.0000000000000000   0.0000000000000000  Mag 6.66666667e-01 X-Mag-Factor    1.0000   Rotation    0.000   Skew    0.000

Description from documentation of Fractint :

CORNERS=[xmin/xmax/ymin/ymax[/x3rd/y3rd]]

Example: corners=-0.739/-0.736/0.288/0.291

Begin with these coordinates as the range of x and y coordinates, rather than the default values of (for type=mandel) -2.0/2.0/-1.5/1.5. When you specify four values  (the   usual case), this defines a rectangle: x- coordinates are mapped to the screen, left to right, from xmin to xmax, y-coordinates are mapped to the screen, bottom to  top, from ymin to ymax. Six parameters can be used to describe any rotated or stretched parallelogram: (xmin,ymax) are the coordinates used for the top-left corner of the screen, (xmax,ymin) for the bottom-right corner, and (x3rd,y3rd) for the bottom-left. Entering just "CORNERS=" tells Fractint to use this form (the default mode) rather than CENTER-MAG (see below) when saving parameters with the [B] command.

Center and ...
"If you use the center, you can change the zoom level and the plot zooms in/out smoothly on the same center point. " Duncan C).

magnification
Fractint uses Mag ( compare with Xmagfactor)

CENTER-MAG=[Xctr/Yctr/Mag[/Xmagfactor/Rotation/Skew]]

This is an alternative way to enter corners as a center point and a magnification that is popular with some fractal programs and publications. Entering just "CENTER-MAG=" tells Fractint to use this form rather than CORNERS (see above) when saving parameters with the [B] command. The [TAB] status display shows the "corners" in both forms. When you specify three values (the usual case), this defines a rectangle: (Xctr, Yctr) specifies the coordinates of the center of the image.

Mag indicates the amount of magnification to use. Initial value ( no zoom ) is 6.66666667e-01.

Six parameters can be used to describe any rotated or stretched parallelogram: Xmagfactor tells how many times bigger the x- magnification is than the y-magnification,

Rotation indicates how many degrees the image has been turned.

Skew tells how many degrees the image is leaning over. Positive angles will rotate and skew the image counter-clockwise.

Parameters can be saved to parmfile called fractint.par

width
Wolf Jung uses center and width in Mandel:

width and height
to describe plane ( view ) Xaos uses:
 * 4 numbers in scripts
 * 3 numbers in menu

Xaos uses to call it "radius" but it is defind as : the greater of (x2-x1= width) and y2-y1=height."

radius
It is very usefull for zooming : fix center and only change radius.

Claude Heiland-Allen use center and radius for parameter plane of complex quadratic polynomial:

Radius is defined as:
 * the radius of a circle that fits within the actual frame of the image
 * "the difference in imaginary coordinate between the center and the top of the axis-aligned view rectangle".
 * "px_radius is half the width of the image (in real coordinates)"

$$ radius = \frac{1}{Mag} = \frac{height}{2}$$

another version

The same in GLSL ( for Shadertoy) :

Set plane corners from radius, center and aspect ratio:

=Orientation=

There is a major incompatability between:
 * the standard Math convention taught in Math class = standard coordinates (y-up)
 * some CS graphics programming systems (but not all) = y-down

Check orientation of the plane by marking first quadrant of Cartesian plane : It should be in upper right position.

OpenGL is right handed in object space and world space. But in window space (aka screen space) we are suddenly left handed.

See also
 * math.stackexchange question: proper-name-for-inverted-cartesian-coordinate-system

=Aspect ratio=
 * image
 * display

image
The aspect ratio of an image is the ratio of its width to its height, and is expressed with two numbers separated by a colon, such as 16:9, sixteen-to-nine. For the x:y aspect ratio, the image is x units wide and y units high. Common aspect ratios are 1.85:1 and 2.39:1 in cinematography, 4:3 and 16:9 in television photography, and 3:2 in still photography.

Display Aspect ratio
The aspect ratio, or more precisely the Display Aspect Ratio (DAR) – the aspect ratio of the image as displayed. For TV:
 * for TV DAR as traditionally 4:3 (a.k.a. Fullscreen)
 * now is 16:9 (a.k.a. Widescreen) now the standard for HDTV

=Optimisation=
 * "recursive algorithm to split the image up into blocks, and tests each block to see whether it lies inside a “black area”." by Michael Hogg
 * Poincaré half-plane metric for zoom animation
 * A Simple Optimization of Fractal Animation by Wei-Yin Chen, You-Sheng Yang and Kun-Mao Liang
 * optimizing zoom animations by Claude Heiland-Allen
 * reenigne blog : recursive subdivision
 * Xaos - algorithm description
 * New fast method !!!!
 * Zooming by Albert Lobo Cusidó
 * Rendering the Mandelbrot Set — with an example implementation in javascript By Christian Stigen Larsen
 * perturbation

=Patterns=
 * Stripe Patterns on Surfaces" given by Keenan Crane

=References=