На главную

Реализовать алгоритмы нахождения пересечений в 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>

Проверить/настроить пиксель мета на тильде

Настроить корректную работу пикселя Meta (Facebook) на всех страницах сайта, чтобы обеспечить возможность запуска рекламных кампаний с оптимизацией на конверсии (заявки...

SEO аудит сайта

Здравствуйте! Ищу опытного специалиста для проведения комплексного аудита сайта https://kitai-autoparts.ru. Цель — выявить ошибки и недочеты, препятствующие высоким позициям в органической...

Работа с контентом по Python и Machine Learning

Нужен человек, который отлично разбирается в Python (понимает другие языки тоже), машинном обучении (ML) и программировании , чтобы ежедневно создавать интересные...