public Form1() { InitializeComponent(); fractal = new Fractal <MandelbrotSet, Sprite>(new OpenGLPainter(), openGLRender1.Size); fractallnfo = new Fractallnfo <MandelbrotSet, Sprite>(new OpenGLPainter(), openGLRender1.Size); fractallnfo.ComplexRectange = new RectangleF(-0.7714677975501545f, 1.3759945057056568f, 0.7791495198902606f, 0.7791495198902606f); //fractallnfo.ComplexRectange = new RectangleF(-2,2, 4,4); fractallnfo.Draw(0, 0); }
public LinkedListNode <Fractallnfo <TFractal, TDraw> > AddState(LinkedListNode <Fractallnfo <TFractal, TDraw> > node, Rectangle area) { var complexRectange = node.Value.ComplexRectange; var pixelRectange = node.Value.PixelRectangle; var newBasisWeightByX = complexRectange.Width / pixelRectange.Width; var newBasisWeightByY = complexRectange.Height / pixelRectange.Height; RectangleF newBasis = new RectangleF( complexRectange.Left + area.Left * newBasisWeightByX, complexRectange.Top - area.Top * newBasisWeightByY, newBasisWeightByX * area.Width, newBasisWeightByY * area.Height); var newScaleX = (float)node.Value.ScaleByAxisX / ((float)pixelRectange.Width / area.Width); var newScaleY = (float)node.Value.ScaleByAxisY / ((float)pixelRectange.Height / area.Height); Fractallnfo <TFractal, TDraw> fractallnfo = new Fractallnfo <TFractal, TDraw>(_painter, _canvasSize); fractallnfo.ComplexRectange = newBasis; fractallnfo.Draw(newScaleX, newScaleY); return(AddAfter(node, fractallnfo)); }