blueprint

package
v0.0.0-...-414057b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2020 License: Unlicense Imports: 12 Imported by: 0

Documentation

Overview

Package blueprint enables the creation of render files for artworks of buddhabrots and it's family members.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Blueprint

type Blueprint struct {
	Iterations float64 // Number of iterations.
	Bailout    float64 // Squared radius of the function domain. Most commonly set to 4, but it's important for planes other than Zrzi.
	Tries      float64 // The number of orbit attempts calculated by: tries * (width * height)

	Coloring string // Coloring method for the orbits.

	DrawPath    bool  // Draw the path between points in the orbit.
	PathPoints  int64 // The number of intermediate points to use for interpolation.
	BezierLevel int   // Bezier interpolation level: 1 is linear, 2 is quadratic etc.

	Width, Height  int    // Width and height of final image.
	Png, Jpg       bool   // Image output format.
	OutputFilename string // Output filename without (file extension).

	CacheHistograms   bool // Cache the histograms by saving them to a file.
	MultipleExposures bool // Render the image with multiple exposures.
	PlotImportance    bool // Create an image of the sampling points color graded by their importance.

	Imag      float64 // Offset on the imaginary-value axis.
	Real      float64 // Offset on the real-value axis.
	Zoom      float64 // Zoom factor.
	Seed      int64   // Random seed.
	Threshold float64 // Minimum orbit length to be registered.

	// Coefficients multiplied to the imaginary and real parts in the complex function.
	ImagCoefficient float64
	RealCoefficient float64

	Function string  // Normalization function for scaling the brightness of the pixels.
	Factor   float64 // Factor is used by the functions in various ways.
	Exposure float64 // Exposure is a scaling factor applied after the normalization function has been applied.

	RegisterMode string // How the fractal will capture orbits. The different modes are: anti, primitive and escapes.

	ComplexFunction string // The complex function we shall explore.

	Plane string // Chose which capital plane we will plot: Crci, Crzi, Zici, Zrci, Zrcr, Zrzi.

	BaseColor iro.RGBA   // The background color.
	Gradient  []iro.RGBA // The color gradient used by the coloring methods.
	Range     []float64  // The interpolation points for the gradient.

	ZUpdate string // Chose how we shall update Z.
	CUpdate string // Chose how we shall update C.

	Theta float64 // Rotation angle. Experimental option since it demands matrix rotation which slows down the renders considerably on CPU based renders.
}

Blueprint contains the settings and options needed to render a fractal.

func Parse

func Parse(filename string) (blue *Blueprint, err error)

Parse opens and parses a blueprint json file.

func (*Blueprint) Fractal

func (b *Blueprint) Fractal() *fractal.Fractal

Fractal creates a fractal object for the blueprint.

func (*Blueprint) Render

func (b *Blueprint) Render() *render.Render

Render creates a render object for the blueprint.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL