Documentation ¶
Overview ¶
Dieses Package habe ich erstellt, um mit Go Bildserien der Mandelbrotmenge zu erstellen.
Index ¶
- func CubicInterpFunc(t float64) float64
- func InterpValue(v1, v2, t float64, fnc InterpFunc) float64
- func LinInterpFunc(t float64) float64
- func OpenConfFile(fileName string) (*os.File, error)
- func PaletteNames() ([]string, error)
- type BaseColorType
- type ColorFunc
- type ColorList
- type Field
- type GradPoint
- type GradientPalette
- func (p *GradientPalette) AddGradPoint(col BaseColorType, gp *GradPoint) error
- func (p *GradientPalette) DelGradPoint(col BaseColorType, gp *GradPoint)
- func (p *GradientPalette) GetColor(f float64) color.RGBA
- func (p *GradientPalette) GetRegexp() *regexp.Regexp
- func (p *GradientPalette) GradPoint(col BaseColorType, j int) *GradPoint
- func (p *GradientPalette) GradPointList(col BaseColorType) []*GradPoint
- func (p *GradientPalette) Init()
- func (p *GradientPalette) IsLenMaxIter() bool
- func (p *GradientPalette) LenIsMaxIter()
- func (p *GradientPalette) LenIsNotMaxIter()
- func (p *GradientPalette) Length() int
- func (p *GradientPalette) NumGradPoints(col BaseColorType) int
- func (p *GradientPalette) Offset() float64
- func (p *GradientPalette) ProcessLine(line string) error
- func (p *GradientPalette) Ready() bool
- func (p *GradientPalette) SetGradPoint(col BaseColorType, j int, gp *GradPoint)
- func (p *GradientPalette) SetLength(len int)
- func (p *GradientPalette) SetOffset(offset float64)
- func (p *GradientPalette) Update()
- type InterpFunc
- type Palette
- type Path
- type ProcPalette
- func (p *ProcPalette) GetColor(f float64) color.RGBA
- func (p *ProcPalette) GetRegexp() *regexp.Regexp
- func (p *ProcPalette) Init()
- func (p *ProcPalette) IsLenMaxIter() bool
- func (p *ProcPalette) LenIsMaxIter()
- func (p *ProcPalette) LenIsNotMaxIter()
- func (p *ProcPalette) Length() int
- func (p *ProcPalette) Offset() float64
- func (p *ProcPalette) Param(col BaseColorType, par ProcParamType) float64
- func (p *ProcPalette) ParamList(col BaseColorType) []float64
- func (p *ProcPalette) ProcessLine(line string) error
- func (p *ProcPalette) Ready() bool
- func (p *ProcPalette) SetLength(len int)
- func (p *ProcPalette) SetOffset(offset float64)
- func (p *ProcPalette) SetParam(col BaseColorType, par ProcParamType, v float64)
- func (p *ProcPalette) SetParamList(col BaseColorType, v []float64)
- func (p *ProcPalette) Update()
- func (p *ProcPalette) Value(col BaseColorType, f float64) float64
- type ProcParamType
- type SampleMode
- type ValueList
- type View
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CubicInterpFunc ¶
Die kubische Interpolation, welche weichere Uebergaenge realisiert.
func InterpValue ¶
func InterpValue(v1, v2, t float64, fnc InterpFunc) float64
func OpenConfFile ¶
OpenConfFile ist eine interne Funktion, mit welcher Konfigurationsdateien im Verzeichnis [confDir] standardisiert angesprochen werden koennen.
func PaletteNames ¶
Retourniert einen Slice mit den Namen aller verfuegbaren Paletten.
Types ¶
type BaseColorType ¶
type BaseColorType int
const ( Red BaseColorType = iota Green Blue NumBaseColors )
func (BaseColorType) String ¶
func (c BaseColorType) String() string
type ColorList ¶
ColorList ist ein Hilfstyp (nicht exportiert), mit dem ein Slice von Farben verwaltet werden kann.
type GradientPalette ¶
type GradientPalette struct {
// contains filtered or unexported fields
}
func NewGradientPalette ¶
func NewGradientPalette() *GradientPalette
func (*GradientPalette) AddGradPoint ¶
func (p *GradientPalette) AddGradPoint(col BaseColorType, gp *GradPoint) error
func (*GradientPalette) DelGradPoint ¶
func (p *GradientPalette) DelGradPoint(col BaseColorType, gp *GradPoint)
func (*GradientPalette) GetColor ¶
Mit GetColor kann eine Farbe aus der Farbpalette ermittelt werden. f ist eine beliebige Zahl (>= 0.0), welche zusammen mit der hinterlegten, fiktiven Palettenlaenge p.len und dem definierten Offset p.offset verwendet wird, den Index der gesuchten Farbe zu bestimmen. Ist f < 0.0, dann wird als Farbe IMMER Schwarz retourniert.
func (*GradientPalette) GetRegexp ¶
func (p *GradientPalette) GetRegexp() *regexp.Regexp
func (*GradientPalette) GradPoint ¶
func (p *GradientPalette) GradPoint(col BaseColorType, j int) *GradPoint
func (*GradientPalette) GradPointList ¶
func (p *GradientPalette) GradPointList(col BaseColorType) []*GradPoint
func (*GradientPalette) Init ¶
func (p *GradientPalette) Init()
Initialisiert die Felder des Basistyps einer Palette.
func (*GradientPalette) IsLenMaxIter ¶
func (p *GradientPalette) IsLenMaxIter() bool
Holt die Information aus der Palette, ob die Palettenlaenge mit der max. Anzahl Iterationen verbunden sein soll.
func (*GradientPalette) LenIsMaxIter ¶
func (p *GradientPalette) LenIsMaxIter()
Hinterlegt, dass die Laenge der Palette gleich der maximalen Anzahl Iterationen sein soll.
func (*GradientPalette) LenIsNotMaxIter ¶
func (p *GradientPalette) LenIsNotMaxIter()
Hinterlegt, dass die Laenge der Palette nichts mit der maximalen Anzahl Iterationen zu tun haben soll.
func (*GradientPalette) Length ¶
func (p *GradientPalette) Length() int
Retourniert die Laenge der Palette.
func (*GradientPalette) NumGradPoints ¶
func (p *GradientPalette) NumGradPoints(col BaseColorType) int
func (*GradientPalette) Offset ¶
func (p *GradientPalette) Offset() float64
Retourniert den Offset fuer die erste Farbe der Palette.
func (*GradientPalette) ProcessLine ¶
func (p *GradientPalette) ProcessLine(line string) error
func (*GradientPalette) Ready ¶
func (p *GradientPalette) Ready() bool
func (*GradientPalette) SetGradPoint ¶
func (p *GradientPalette) SetGradPoint(col BaseColorType, j int, gp *GradPoint)
func (*GradientPalette) SetLength ¶
func (p *GradientPalette) SetLength(len int)
Setzt die Laenge der Palette auf den Wert len.
func (*GradientPalette) SetOffset ¶
func (p *GradientPalette) SetOffset(offset float64)
Setzt den Offset fuer die erste Farbe der Palette.
func (*GradientPalette) Update ¶
func (p *GradientPalette) Update()
type InterpFunc ¶
-----------------------------------------------------------------------------
Mit Hilfe dieses Funktionstyps InterpFunc koennen verschiedene Interpolationsfunktionen verwendet werden. Das Argument ist ein Wert in [0, 1], das Resultat ein Wert in [0, 1]. Es muss gelten:
- InterpFunc(0) = 0
- InterpFunc(1) = 1
- (a >= b) => (InterpFunc(a) >= InterpFunc(b))
type Palette ¶
type Palette interface { SetLength(len int) Length() int LenIsMaxIter() LenIsNotMaxIter() IsLenMaxIter() bool SetOffset(offset float64) Offset() float64 GetColor(f float64) color.RGBA GetRegexp() *regexp.Regexp ProcessLine(line string) error Update() Ready() bool }
func NewPalette ¶
Erstellt eine neue Palette aufgrund des Paletten-Namens in palName.
type ProcPalette ¶
type ProcPalette struct {
// contains filtered or unexported fields
}
func NewProcPalette ¶
func NewProcPalette() *ProcPalette
func (*ProcPalette) GetColor ¶
Mit GetColor kann eine Farbe aus der Farbpalette ermittelt werden. f ist eine beliebige Zahl (>= 0.0), welche zusammen mit der hinterlegten, fiktiven Palettenlaenge p.len und dem definierten Offset p.offset verwendet wird, den Index der gesuchten Farbe zu bestimmen. Ist f < 0.0, dann wird als Farbe IMMER Schwarz retourniert.
func (*ProcPalette) GetRegexp ¶
func (p *ProcPalette) GetRegexp() *regexp.Regexp
func (*ProcPalette) Init ¶
func (p *ProcPalette) Init()
Initialisiert die Felder des Basistyps einer Palette.
func (*ProcPalette) IsLenMaxIter ¶
func (p *ProcPalette) IsLenMaxIter() bool
Holt die Information aus der Palette, ob die Palettenlaenge mit der max. Anzahl Iterationen verbunden sein soll.
func (*ProcPalette) LenIsMaxIter ¶
func (p *ProcPalette) LenIsMaxIter()
Hinterlegt, dass die Laenge der Palette gleich der maximalen Anzahl Iterationen sein soll.
func (*ProcPalette) LenIsNotMaxIter ¶
func (p *ProcPalette) LenIsNotMaxIter()
Hinterlegt, dass die Laenge der Palette nichts mit der maximalen Anzahl Iterationen zu tun haben soll.
func (*ProcPalette) Offset ¶
func (p *ProcPalette) Offset() float64
Retourniert den Offset fuer die erste Farbe der Palette.
func (*ProcPalette) Param ¶
func (p *ProcPalette) Param(col BaseColorType, par ProcParamType) float64
func (*ProcPalette) ParamList ¶
func (p *ProcPalette) ParamList(col BaseColorType) []float64
func (*ProcPalette) ProcessLine ¶
func (p *ProcPalette) ProcessLine(line string) error
func (*ProcPalette) Ready ¶
func (p *ProcPalette) Ready() bool
func (*ProcPalette) SetLength ¶
func (p *ProcPalette) SetLength(len int)
Setzt die Laenge der Palette auf den Wert len.
func (*ProcPalette) SetOffset ¶
func (p *ProcPalette) SetOffset(offset float64)
Setzt den Offset fuer die erste Farbe der Palette.
func (*ProcPalette) SetParam ¶
func (p *ProcPalette) SetParam(col BaseColorType, par ProcParamType, v float64)
func (*ProcPalette) SetParamList ¶
func (p *ProcPalette) SetParamList(col BaseColorType, v []float64)
func (*ProcPalette) Update ¶
func (p *ProcPalette) Update()
func (*ProcPalette) Value ¶
func (p *ProcPalette) Value(col BaseColorType, f float64) float64
type ProcParamType ¶
type ProcParamType int
const ( ParA ProcParamType = iota ParB ParC ParD NumProcParams )
type SampleMode ¶
type SampleMode int
Der Typ SampleMode gibt an, von wie vielen Punkten der Mittelwert fuer ein Pixel in der Anzeige berechnet werden soll. Es stehen aktuell die Groessen 1x2, 2x2, 4x4 und 8x8 zur Verfuegung.
const ( Samp1x1 SampleMode = 1 Samp2x2 SampleMode = 2 Samp4x4 SampleMode = 4 Samp8x8 SampleMode = 8 )
func (*SampleMode) Set ¶
func (sm *SampleMode) Set(s string) error
func (SampleMode) String ¶
func (sm SampleMode) String() string
Mit String wird eine brauchbare textuelle Darstellung der Sample-Groesse erstellt. Wird u.A. bei der Ausgabe der Flags verwendet, mit denen das Programm aufgerufen wird (ist auch Teil des flag.Value Interfaces).
type ValueList ¶
type ValueList []float64
-----------------------------------------------------------------------------
Ein neuer, schlankerer Versuch mit interpolierten Werten aus einem Array von float64-Werten.
func (ValueList) InterpValue ¶
func (vl ValueList) InterpValue(i int, t float64, fnc InterpFunc) float64
Retourniert einen interpolierten Wert, der zwischen vl[i] und vl[i+1] liegt wobei mit t (in [0,1]) der 'Anteil' von vl[i] und vl[i+1] gewaehlt werden kann. fnc schliesslich ist die Interpolationsfunktion (mehr dazu: siehe weiter unten).
Directories ¶
Path | Synopsis |
---|---|
Das Package mandel erlaubt die Berechnung von Ausschnitten der Mandelbrot-Menge.
|
Das Package mandel erlaubt die Berechnung von Ausschnitten der Mandelbrot-Menge. |
Das Package mandel erlaubt die Berechnung von Ausschnitten der Mandelbrot-Menge.
|
Das Package mandel erlaubt die Berechnung von Ausschnitten der Mandelbrot-Menge. |
Das Package mandel erlaubt die Berechnung von Ausschnitten der Mandelbrot-Menge.
|
Das Package mandel erlaubt die Berechnung von Ausschnitten der Mandelbrot-Menge. |