public SequentialMandelbrot(float width, float height, int rows, int columns, ComplexNumber center) { Width = width; Height = height; Rows = rows; Columns = columns; Center = center; }
public static float ComputeColumn(this ComplexNumber center, int col, float height, int rows) => center.ImaginaryPart - height / 2.0f + col * height / rows;
public static float ComputeRow(this ComplexNumber center, int row, float width, int columns) => center.RealPart - width / 2.0f + row * width / columns;
public static ComplexNumber MultiplyWith(this ComplexNumber n1, ComplexNumber n2) => new ComplexNumber(n1.RealPart * n2.RealPart - n1.ImaginaryPart * n2.ImaginaryPart, n1.RealPart * n2.ImaginaryPart + n1.ImaginaryPart * n2.RealPart);
public static ComplexNumber AddTo(this ComplexNumber n1, ComplexNumber n2) => new ComplexNumber(n1.RealPart + n2.RealPart, n1.ImaginaryPart + n2.ImaginaryPart);
public static double Magnitude(this ComplexNumber number) => Math.Sqrt(number.RealPart * number.RealPart * number.ImaginaryPart * number.ImaginaryPart);