Массив PointF в массиве PointF C#

75
30 января 2022, 01:30

Такая задача, нужно вычислить точки 6 треугольников, которые находятся на круге и записать их в массив которые хранит координаты каждого треугольника. Не могу понять как записать все три точки, как один экземпляр класса PointF в массив triangles? Т.е мне надо чтобы triangles хранил в себе 6 points c координатами треугольников.

class Triangle
{
    float rad = 50;
    float rad2 = 80;
    Pen pen = new Pen(Color.Black, 3);
    PointF org = new PointF(100, 100);
    PointF[] points;
    public static PointF[] triangles = new PointF[6];
    public PointF CirclePoint(float radius, float angleInDegrees)
    {
        float x = (float)(radius * Math.Cos(angleInDegrees * Math.PI / 180F)) + org.X;
        float y = (float)(radius * Math.Sin(angleInDegrees * Math.PI / 180F)) + org.Y;
        return new PointF(x, y);
    }
    public void drawTriangle(Graphics canvas)
    {
        float ang1 = 0;
        PointF loc1 = PointF.Empty;
        PointF loc2 = PointF.Empty;
        PointF loc3 = PointF.Empty;

        Random random = new Random();
        int randomAngle = random.Next(20, 300);
        for (int i = 0; i < 6; i++)
        {
            float ang2 = ang1 + 15;
            float ang3 = ang2 + 15;
            loc1 = CirclePoint(rad, ang1);
            loc2 = CirclePoint(rad2, ang2);
            loc3 = CirclePoint(rad, ang3);
            points = new PointF[]
            {
             new PointF(loc1.X,loc1.Y),
             new PointF(loc2.X,loc2.Y),
             new PointF(loc3.X,loc3.Y),
            };
            triangles[i] = points;
            if (ang1 < 360) ang1 += randomAngle;
            else ang1 = 0;
        }
    }
}
READ ALSO
Как вызвать метод, при изменении значения переменной

Как вызвать метод, при изменении значения переменной

Мне нужно вызывать метод, при изменении значения какой либо переменнойЯ знаю самый простой способ - через property

108
Как получить к явной реализации интерфейса в базовом классе из класса наследника

Как получить к явной реализации интерфейса в базовом классе из класса наследника

Базовый класс определен в библиотеке и изменить его я не могуМне нужно переопределить в наследнике метод базового класса, являющийся явной...

176
Удаление файлов в каталогах и подкаталогах старше определенной даты последнего изменения

Удаление файлов в каталогах и подкаталогах старше определенной даты последнего изменения

Уважаемые эксперты, помогите разобратьсяЕсть OpenBrowserDialog через него выбираем корневой каталог, в нем содержатся подкаталоги с тестовыми...

150