На главную

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

Ваша задача реализовать 2 алгоритма на языке C#:<br><br>1) Weiler-Atherton <a href="https://liorsinai.github.io/mathematics/2023/09/30/polygon-clipping.html">The Weiler-Atherton polygon clipping algorithm - Lior Sinai</a><br>2) A New Linear Algorithm for Intersecting Convex <br>Polygons <a href="https://www.cs.jhu.edu/~misha/Spring16/ORourke82.pdf">PII: 0146-664X(82)90023-5</a><br><br>Условия:<br>1) Работает корректно с какой-то разумной погрешностью<br>2) Каждый алгоритм=отдельный класс, который удовлетворяет интерфейсу IClipper<br>IClipper.cs:<br>```<br>public interface IClipper<br>{<br> List Clip(List polygons);<br><br> List Clip(Polygon polygon1, Polygon polygon2);<br>}<br>```<br>Polygon.cs:<br>```<br>public class Polygon<br>{<br> public Polygon() { }<br><br> public Polygon(List points)<br> {<br> Points = points;<br> }<br><br> public List Points { get; set; } = new();<br>}<br>```<br>PointD.cs:<br>```<br>public struct PointD<br>{<br> public double X { get; set; }<br> public double Y { get; set; }<br> public PointD(double x, double y)<br> {<br>X = x;<br>Y = y;<br> }<br> public Point ToPoint()<br> {<br>return new Point((int)X, (int)Y);<br> }<br> public override bool Equals(object? obj)<br> {<br>return obj is PointD &amp;&amp; this == (PointD)obj;<br> }<br> public override int GetHashCode()<br> {<br>return X.GetHashCode() ^ Y.GetHashCode();<br> }<br> public static bool operator ==(PointD a, PointD b)<br> {<br>return a.X == b.X &amp;&amp; a.Y == b.Y;<br> }<br> public static bool operator !=(PointD a, PointD b)<br> {<br>return !(a == b);<br> }<br><br> public override string ToString() =&gt; $"{{{X:#.####} {Y:#.####}}}";<br>}<br>```<br>3) К каждому алгоритму прикладывается markdown файл, который поясняет суть алгоритма, его ограничения, временную сложность. Пример файла в виде картинки приложен.<br><br>

Магазин каталог в ТГ

Есть пример бота каталога в телеграм. По продаже игр. @relocturkey_bot Есть ли возможность сделать такой же? С таким же функционалом.

3 д визуализация стенда 12 кв.м. тема природа и дизайн.

3 д визуализация стенда 12 кв.м. (фронтальный и, при угловом расположении, боковой вид). название " зеленая комната" материалы: стабилизированный мох и...

Концепты косметических наборов

Подготовка концептов 5 косметических наборов (дойпак, внутри 2 тубы), сделать дизайны мокапов дойпака и туб, каждый набор в 3-4 вариантах. Прикрепите...