#wpf #path #geometry #pathgeometry
#wpf #путь #геометрия #pathgeometry
Вопрос:
У меня есть «FlattenedPathGeometry», и я хочу иметь возможность получить определенную точку.X из пути, основанного на определенной Point.Y
По сути, мне просто нужно значение X в любом заданном Y.
Заранее спасибо за любую помощь.
Ответ №1:
GetFlattenedPathGeometry возвращает вам полигональный, поэтому в основном вам нужно рассмотреть все точки и вычислить минимальное расстояние до вашей точки. Если вы можете сделать какие-либо предположения о форме геометрии или вашей точке, вы можете ускорить поиск.
Например, если путь очень длинный, вы можете ускорить пересечение фигуры с кругом / квадратом с центром в вашей точке. Это ограничивает количество точек фигуры для тестирования, но будьте осторожны, что метод пересечения очень дорогой. Вам нужно будет измерить производительность с помощью секундомера, чтобы понять, что лучше в вашем случае.
Комментарии:
1. Это то, что я делаю прямо сейчас, и это просто не очень эффективно, но я полагаю, что если бы .NET предоставил метод для этого, они все равно использовали бы аналогичный подход. Лучше всего сделать мой поиск максимально эффективным.