using System;
using System.Collections.Generic;
namespace Masuit.Tools.Maths
{
public class RadarChart
{
///
/// 向量长度集合
///
public List Data { get; }
///
/// 起始弧度
///
public double StartAngle { get; } // 弧度
///
/// 多边形
///
/// 向量长度集合
/// 起始弧度
public RadarChart(List data, double startAngle = 0)
{
Data = new List(data);
StartAngle = startAngle;
}
///
/// 获取每个点的坐标
///
///
public List GetPoints()
{
int count = Data.Count;
List result = new List();
for (int i = 0; i < count; i++)
{
double length = Data[i];
double angle = StartAngle + Math.PI * 2 / count * i;
double x = length * Math.Cos(angle);
double y = length * Math.Sin(angle);
result.Add(new Point2D(x, y));
}
return result;
}
}
}