На листе располагаются два кружка, один из кружков - наложен на автофигуру - замкнутую полилинию. Снизу идет простая табличка - с наименованиями фигур-кружков и наименования фигуры-полилинии.
Как макросом выяснить принадлежит автофигура области или нет ?
Имеется ввиду наложение контуров кружка на контур автофигуры. Если принадлежит - то в таблице напротив названия фигуры - ставится 1, если нет - то пустое место.
На листе располагаются два кружка, один из кружков - наложен на автофигуру - замкнутую полилинию. Снизу идет простая табличка - с наименованиями фигур-кружков и наименования фигуры-полилинии.
Как макросом выяснить принадлежит автофигура области или нет ?
Имеется ввиду наложение контуров кружка на контур автофигуры. Если принадлежит - то в таблице напротив названия фигуры - ставится 1, если нет - то пустое место.odeon16
Мой вопрос следующий: На листе располагаются два кружка, один из кружков - наложен на автофигуру - замкнутую полилинию. Снизу идет простая табличка - с наименованиями фигур-кружков и наименования фигуры-полилинии.
Как макросом выяснить принадлежит автофигура области или нет ?
Имеется ввиду наложение контуров кружка на контур автофигуры. Если принадлежит - то в таблице напротив названия фигуры - ставится 1, если нет - то пустое место.
Мой вопрос следующий: На листе располагаются два кружка, один из кружков - наложен на автофигуру - замкнутую полилинию. Снизу идет простая табличка - с наименованиями фигур-кружков и наименования фигуры-полилинии.
Как макросом выяснить принадлежит автофигура области или нет ?
Имеется ввиду наложение контуров кружка на контур автофигуры. Если принадлежит - то в таблице напротив названия фигуры - ставится 1, если нет - то пустое место.odeon16
Сообщение отредактировал odeon16 - Суббота, 19.08.2017, 12:01
odeon16, вам предложили посмотреть само решение. Которое делает то же самое, что и нужно вам. Только "там" в качестве "ваших кружков" выступает список "точек центров ячеек". По сути, там мы имеем список "точек - ма-а-а-аленьких кружочков", виртуально нарисованных в центре каждой ячейки некоего прямоугольного диапазона. И задача состоит в том, чтобы пробежаться по всему этому списку точек и проверить, находится ли точка внутри контура полилинии, или нет, и поставить об этом отметку в ячейки этого диапазона (тоже, по сути, аналог вашей таблицы, только двумерный). Так что само решение - оно и есть одно из решений вашей задачи
А вот что касается ваших условий: "выяснить принадлежит автофигура области или нет"? Вы сначала дайте точное определение "области", "фигуры" и понятия "принадлежит". Пусть у вас "область" - это область внутри контура замкнутой полилинии. Вы имеете в виду "визуальную" область, как вы видите на экране, или область, ограниченную многоугольником, описываемым точками-нодами полилинии? Пусть у вас "фигура" - это область внутри контура шейпа типа "овал". Овал, заметьте, а не круг Опять же, вы имеете в виду область, как вы видите на экране - или область, которую можно описать аналитически, уравнением круга/овала (используя параметры шейпа - расположение/ширину/высоту/поворот)? Если вы подразумеваете, что решение нужно исходя из "графики" (того, как нарисовано на экране) - то тогда задача и решается именно как графическая - то есть получением рисунка и анализом пикселей. И эта задача не имеет никакого отношения к Excel. Ну и что такое "принадлежит"? Это означает, что центр фигуры попадает в область? Или вся фигура целиком попадает/не попадает в область? Тогда как быть в случае, когда фигура (которая не точка) частично перекрывается с областью? Считать, какая часть площади перекрывается, что ли?
То есть пока вы не определитесь с условиями, при которых должна решаться задача - что решать-то?
odeon16, вам предложили посмотреть само решение. Которое делает то же самое, что и нужно вам. Только "там" в качестве "ваших кружков" выступает список "точек центров ячеек". По сути, там мы имеем список "точек - ма-а-а-аленьких кружочков", виртуально нарисованных в центре каждой ячейки некоего прямоугольного диапазона. И задача состоит в том, чтобы пробежаться по всему этому списку точек и проверить, находится ли точка внутри контура полилинии, или нет, и поставить об этом отметку в ячейки этого диапазона (тоже, по сути, аналог вашей таблицы, только двумерный). Так что само решение - оно и есть одно из решений вашей задачи
А вот что касается ваших условий: "выяснить принадлежит автофигура области или нет"? Вы сначала дайте точное определение "области", "фигуры" и понятия "принадлежит". Пусть у вас "область" - это область внутри контура замкнутой полилинии. Вы имеете в виду "визуальную" область, как вы видите на экране, или область, ограниченную многоугольником, описываемым точками-нодами полилинии? Пусть у вас "фигура" - это область внутри контура шейпа типа "овал". Овал, заметьте, а не круг Опять же, вы имеете в виду область, как вы видите на экране - или область, которую можно описать аналитически, уравнением круга/овала (используя параметры шейпа - расположение/ширину/высоту/поворот)? Если вы подразумеваете, что решение нужно исходя из "графики" (того, как нарисовано на экране) - то тогда задача и решается именно как графическая - то есть получением рисунка и анализом пикселей. И эта задача не имеет никакого отношения к Excel. Ну и что такое "принадлежит"? Это означает, что центр фигуры попадает в область? Или вся фигура целиком попадает/не попадает в область? Тогда как быть в случае, когда фигура (которая не точка) частично перекрывается с областью? Считать, какая часть площади перекрывается, что ли?
То есть пока вы не определитесь с условиями, при которых должна решаться задача - что решать-то? AndreTM
Вы сначала дайте точное определение "области", "фигуры" и понятия "принадлежит".
Даю точное определение. Область - это область, ограниченная многоугольником, описываемым точками-нодами полилинии. Фигура овал - это координата фигуры овал - точка (левый верхний угол автофигуры Овал).
Понятие "принадлежит" - в прикрепленном файле видно, что координата верхнего левого угла - одного из овалов - находится внутри области, ограниченной многоугольником Полилинии. А у другого овала - нет.
Пиксели анализировать не нужно, просто нужно определить находится ли координата Овала (точка левого верхнего угла овала) - внутри области, ограниченной многоугольником Полилинии или же - не находится.
Вы сначала дайте точное определение "области", "фигуры" и понятия "принадлежит".
Даю точное определение. Область - это область, ограниченная многоугольником, описываемым точками-нодами полилинии. Фигура овал - это координата фигуры овал - точка (левый верхний угол автофигуры Овал).
Понятие "принадлежит" - в прикрепленном файле видно, что координата верхнего левого угла - одного из овалов - находится внутри области, ограниченной многоугольником Полилинии. А у другого овала - нет.
Пиксели анализировать не нужно, просто нужно определить находится ли координата Овала (точка левого верхнего угла овала) - внутри области, ограниченной многоугольником Полилинии или же - не находится.odeon16
И задача состоит в том, чтобы пробежаться по всему этому списку точек и проверить, находится ли точка внутри контура полилинии
odeon16, тогда не понятно чем вам не подходит решение Андрея? Именно проверку принадлежности точки (в вашему случае координаты левого верхнего угла овала) выпуклому многоугольнику его макрос и делает.
И задача состоит в том, чтобы пробежаться по всему этому списку точек и проверить, находится ли точка внутри контура полилинии
odeon16, тогда не понятно чем вам не подходит решение Андрея? Именно проверку принадлежности точки (в вашему случае координаты левого верхнего угла овала) выпуклому многоугольнику его макрос и делает.anvg
AndreTM, можно спросить - как убрать эти стрелочки, которые рисуются вокруг области полилинии ? Я их удаляю, но они при каждом срабатывании макроса - снова появляются.
AndreTM, можно спросить - как убрать эти стрелочки, которые рисуются вокруг области полилинии ? Я их удаляю, но они при каждом срабатывании макроса - снова появляются.odeon16
Ну то есть, господа, вы поняли, каков у ТС уровень знаний по макросам? Учитывая, что "рисование стрелочек" - специально оформлено отдельной процедурой, с говорящим за себя названием...
Ну то есть, господа, вы поняли, каков у ТС уровень знаний по макросам? Учитывая, что "рисование стрелочек" - специально оформлено отдельной процедурой, с говорящим за себя названием...AndreTM
Skype: andre.tm.007 Donate: Qiwi: 9517375010
Сообщение отредактировал AndreTM - Воскресенье, 20.08.2017, 22:43
Андрей, так уже, в общем то давно, фразы: "Помогите создать макрос", "Как будет выглядеть макрос", "Можно ли макросом сделать" и подобные стали вежливым аналогом "Напишите мне макрос".
Андрей, так уже, в общем то давно, фразы: "Помогите создать макрос", "Как будет выглядеть макрос", "Можно ли макросом сделать" и подобные стали вежливым аналогом "Напишите мне макрос". anvg