Добавить новость
ru24.net
Работа
Январь
2025
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Реализовать алгоритмы нахождения пересечений в 2D на языке C#

0
Ваша задача реализовать 2 алгоритма на языке C#:

1) Weiler-Atherton The Weiler-Atherton polygon clipping algorithm - Lior Sinai
2) A New Linear Algorithm for Intersecting Convex
Polygons PII: 0146-664X(82)90023-5

Условия:
1) Работает корректно с какой-то разумной погрешностью
2) Каждый алгоритм=отдельный класс, который удовлетворяет интерфейсу IClipper
IClipper.cs:
```
public interface IClipper
{
List<Polygon> Clip(List<Polygon> polygons);

List<Polygon> Clip(Polygon polygon1, Polygon polygon2);
}
```
Polygon.cs:
```
public class Polygon
{
public Polygon() { }

public Polygon(List<PointD> points)
{
Points = points;
}

public List<PointD> Points { get; set; } = new();
}
```
PointD.cs:
```
public struct PointD
{
public double X { get; set; }
public double Y { get; set; }
public PointD(double x, double y)
{
X = x;
Y = y;
}
public Point ToPoint()
{
return new Point((int)X, (int)Y);
}
public override bool Equals(object? obj)
{
return obj is PointD && this == (PointD)obj;
}
public override int GetHashCode()
{
return X.GetHashCode() ^ Y.GetHashCode();
}
public static bool operator ==(PointD a, PointD b)
{
return a.X == b.X && a.Y == b.Y;
}
public static bool operator !=(PointD a, PointD b)
{
return !(a == b);
}

public override string ToString() => $"{{{X:#.####} {Y:#.####}}}";
}
```
3) К каждому алгоритму прикладывается markdown файл, который поясняет суть алгоритма, его ограничения, временную сложность. Пример файла в виде картинки приложен.



Moscow.media
Частные объявления сегодня





Rss.plus




Спорт в России и мире

Новости спорта


Новости тенниса
WTA

Теннисистка Потапова стремится в топ-20 мирового рейтинга WTA в 2024 году






Хуснуллин сообщил об улучшениях в Крыму за 10 лет госпрограммы

Производитель масла зашел в «Аркус» // ГК «Эфко» купила бизнес-центр в Москве под штаб-квартиру

«Она была нервом поколения» // В Москве простились с актрисой Евгенией Добровольской

«Этο пpοйдёт, нο иx пpидётcя учить» – Лaвpοв ο нaглοcти ϹШA