Найти области самопересекающийся многоугольник

Простейшие вопросы в области инженерной разработки

Найти области самопересекающийся многоугольник

Postby student1 on 01 Jul 2017, 17:27

Я пытаюсь разбивать самопересекающийся многоугольник на области и назначать полярность свойства (положительную и отрицательную) для каждую область.
ss1.png
Многоугольник

Идея в том, чтобы найти, как дорожка на печатной плате принимает электромагнитные помехи. Каждая дорожка на печатной плате формирует замкнутый контур с проводником GND, а самопересекающиеся сегменты петли оказывают влияние на помехи. Многоугольник, образованный некоторой сигнальной дорожкой и GND показан в приложении.
ss2.png


Линии не всегда параллельны / перпендикулярны, поэтому мы не можем полагаться на это как правило, линии могут быть любого угла. Смотри набор строк, созданных с реальной печатной платы.
ss3.png


Результат будет - два массива многоугольников (Poly_A и Poly_B) для положительных и отрицательных областей.

Эсть VI «Polygon area.vi», который вычисляет площадь многоугольника принимая во внимание самопересечения, но не выдает информацию об области самопересечения.

Любые предложения и идеи будут оценены.
Спасибо
student1
interested
interested
 
Posts: 3
Joined: 01 Jul 2017, 16:56
LabVIEW Version: 2014
Karma: 0

Re: Найти области самопересекающийся многоугольник

Postby Юрий on 02 Jul 2017, 01:04

Для старта вот такая программка, определяет координаты точек пересечения. Думаю, что имея эти данные, области будет определить проще. Если нужны номера отрезков, которые формируют точку пересечения, думаю, и сам добавишь.
Attachments
Области+.vi
(33.46 KiB) Downloaded 21 times
Юрий
adviser
adviser
 
Posts: 242
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2011
Karma: 52

Re: Найти области самопересекающийся многоугольник

Postby student1 on 02 Jul 2017, 20:36

К сожалению я использую версию 2014. Я буду очень благодарен, если вы сможете загрузить его в 2014. Спасибо!
student1
interested
interested
 
Posts: 3
Joined: 01 Jul 2017, 16:56
LabVIEW Version: 2014
Karma: 0

Re: Найти области самопересекающийся многоугольник

Postby Юрий on 02 Jul 2017, 23:48

Вот, сохранено в LV2014.
Attachments
Области+.vi
(19.07 KiB) Downloaded 16 times
Юрий
adviser
adviser
 
Posts: 242
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2011
Karma: 52

Re: Найти области самопересекающийся многоугольник

Postby student1 on 03 Jul 2017, 00:04

Спасибо! Это именно то, что мне нужно для начала обработки - очень умное и элегантное решение!
student1
interested
interested
 
Posts: 3
Joined: 01 Jul 2017, 16:56
LabVIEW Version: 2014
Karma: 0

Re: Найти области самопересекающийся многоугольник

Postby Юрий on 03 Jul 2017, 00:34

Ну, что ж, рад, что в масть. Решение не закончено, поскольку будут проблемы при вертикальных отрезках (деление на ноль). В этом случае надо вводить дополнительные действия. Вижу два варианта:
1. Искусственно одну из точек вертикального отрезка смещать по X на величину с одной стороны не влияющую на конечный результат, а с другой - достаточную для ухода от нуля.
2. Только для этого случая базовым параметром для вычисления точки пересечения брать не X, а Y. Для этого лучше создать подпрограммку нахождения точки пересечения двух отрезков и при необходимости менять местами X и Y.
Юрий
adviser
adviser
 
Posts: 242
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2011
Karma: 52


Return to Для чайников

Who is online

Users browsing this forum: Google and 5 guests

cron