コード例 #1
0
    public void SetFractal(int val)
    {
        var current = _CurrentFractal;

        try
        {
            current = _Examples[val];
        }
        catch {}

        _CurrentFractal    = current;
        _FractalScale      = _CurrentFractal.Scale;
        _FractalIterations = _CurrentFractal.Iterations;

        _ScaleSlider.value = _FractalScale;
        _IterSlider.value  = _FractalIterations;
    }
コード例 #2
0
    // Start is called before the first frame update
    void Start()
    {
        _Examples = new FractalData[]
        {
            FractalExamples.KochCurve,
            FractalExamples.KochSnowFlake,
            FractalExamples.MapleLeaf,
            FractalExamples.Tree1,
            FractalExamples.Cross3D
        };

        _PlottingData = new List <float3>();

        _CurrentFractal = _Examples[2];
        SetFractal(2);

        InitializeTextures();
        InitializeCS();
        ComputeFractal();
    }
コード例 #3
0
ファイル: MainForm.cs プロジェクト: GolovkoStepan/FractalCore
        private async void btnOpenFractalData_ClickAsync(object sender, EventArgs e)
        {
            var od = new OpenFileDialog()
            {
                FileName         = "fractalData.fd",
                Filter           = "FractalData files(*.fd) | *.fd",
                RestoreDirectory = true
            };

            if (od.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            try
            {
                BinaryFormatter formatter = new BinaryFormatter();

                fractalData          = null;
                pbFractalImage.Image = null;

                using (FileStream fs = new FileStream(od.FileName, FileMode.Open))
                {
                    fractalData = (FractalData)formatter.Deserialize(fs);
                }
            }
            catch
            {
                MessageBox.Show($"Произошла ошибка открытия файла. Возможно, файл имеет неверный формат.", "Fractal #", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            creator = new FractalCreator(fractalData, genSettings, colorSettings);

            lblPosXCenter.Text = $"Центр X: {fractalData.CenterX}";
            lblPosYCenter.Text = $"Центр Y: {fractalData.CenterY}";
            lblSizeArea.Text   = $"Увеличение: {fractalData.SizeArea}";

            switch (fractalData.FractalType)
            {
            case FractalEnumType.Mandelbrot:
            {
                cbFractalType.SelectedIndex = 0;
                break;
            }

            case FractalEnumType.Julia:
            {
                cbFractalType.SelectedIndex = 1;
                break;
            }

            case FractalEnumType.Lambda:
            {
                cbFractalType.SelectedIndex = 2;
                break;
            }

            default:
            {
                throw new NotImplementedException();
            }
            }

            ProgramStatusBusy();

            pbFractalImage.Image = await creator.CreateAsync();

            ProgramStatusDone();

            MessageBox.Show($"Файл успешно открыт.", "Fractal #");
        }