Точки пересечения для линий или ребер многоугольника
[ возвращает точки пересечения двух ломаных линий в плоской, Декартовой системе, с вершинами, заданными xi,yi] = polyxpoly(x1,y1,x2,y2)x1, y1x2 и y2. Выходные аргументы, xi и yi, содержите x-и y-координаты каждой точки, в которой сегмент первой ломаной линии пересекает сегмент второго. В случае наложения, коллинеарных сегментов, пересечение является на самом деле линейным сегментом, а не точкой, и обе конечных точки включены в xi, yi.
[ возвращает массив 2D столбца индексов линейного сегмента, соответствующих точкам пересечения. K-ая строка xi,yi,ii] = polyxpoly(___)ii указывает, какие полилинейные сегменты дают начало точке пересечения xi(k), yi(k).
Чтобы помнить, как эти индексы работают, только думайте о сегментах и вершинах как разделы забора и сообщения. i-th раздел забора соединяется, i-th отправляют на (i +1)-th сообщение. В общем случае разрешение i и j обозначает скалярные значения, состоявшие k-th строка ii, пересечение, обозначенное той строкой, происходит, где i-th сегмент первой ломаной линии пересекает j-th сегмент второй ломаной линии. Но когда пересечение падает точно на вершину первой ломаной линии, затем i является индексом той вершины. Аналогично со второй ломаной линией и индексом j. В случае пересечения в i-th вершина первой линии, например, xi(k) равняется x1(i) и yi(k) равняется y1(i). В случае пересечений между вершинами, i и j может быть интерпретирован можно следующим образом: сегмент, соединяющий x1(i), y1(i) к x1(i+1), y1(i+1) пересекает сегмент, соединяющий x2(j), y2(j) к x2(j+1), y2(j+1) в точке xi(k), yi(k).