첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

TestProject.zip
0.01MB

▶ MainForm.cs

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;

using ScottPlot;

namespace TestProject
{
    /// <summary>
    /// 메인 폼
    /// </summary>
    public partial class MainForm : Form
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 생성자 - MainForm()

        /// <summary>
        /// 생성자
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            Plot plot = new Plot(800, 600);

            List<List<(double x, double y)>> polygonList = new List<List<(double x, double y)>>();

            int polygonCount         = 5000;
            int pointCountPerPolygon = 100;

            Random random = new Random(0);

            for(int i = 0; i < polygonCount; i++)
            {
                double polygonX      = random.NextDouble() * 100;
                double polygonY      = random.NextDouble() * 100;
                double polygonRadius = random.NextDouble();

                double[] xValueArray = Enumerable.Range(0, pointCountPerPolygon)
                    .Select(x => polygonRadius * Math.Cos(2.0 * Math.PI * x / pointCountPerPolygon) + polygonX)
                    .ToArray();

                double[] yValueArray = Enumerable.Range(0, pointCountPerPolygon)
                    .Select(x => polygonRadius * Math.Sin(2.0 * Math.PI * x / pointCountPerPolygon) + polygonY)
                    .ToArray();

                List<(double x, double y)> pointList = xValueArray.Zip(yValueArray, (px, py) => (px, py)).ToList();

                polygonList.Add(pointList);
            }

            plot.AddPolygons(polygonList, fillColor : Color.Green);

            plot.AxisScaleLock(true);

            this.formsPlot.Reset(plot);

            this.formsPlot.Refresh();
        }

        #endregion
    }
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요