Как сделать сетку и обрезать лишнее

  • Автор темы Автор темы Mamoulian
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Mamoulian

Участник
Топикстартер
Сообщения
1
Реакции
0
Здравствуйте.
Нужно сделать сетку из квадратов определенного размера в пикселях и заполнить ею некую фигуру.
Подскажите, насколько возможно автоматизировать этот процесс?

Пока я сделал сетку нужным инструментом, разгруппировал и поочередно удалил ненужное - очень долго. Хотелось бы удалить автоматом те квадраты, которые пересекает контур и те, что остануться снаружи контура.

Для пояснение своего мыслеблудия картинка:
 

Вложения

  • example.gif
    example.gif
    883 байт · Просм.: 1 001
Ответ: Как сделать сетку и обрезать лишнее

мне тоже иногда приходится такое делать с 1000 и более объектов, и вот здесь есть макрос wx.SelectInside, который в отличие от указанного выше проверяет все четыре угла, а если и это не срабатывает то пытается проанализировать пересечение фигур. Надо просто выделить все объекты вместе с большим и запустить макрос, после чего все что внутри будут выделены. Если включен индикатор ScrollLock, то выделены будут наоборот те, что снаружи
 
Ответ: Как сделать сетку и обрезать лишнее

Я бы нарисовал сетку и объединил все линии (Ctrl+L). Наложил бы сверху овал, Выделил бы овал и сетку вместе, далее: Arrange > Shaping > Front Minus Back.
 
Ответ: Как сделать сетку и обрезать лишнее

Self, квадраты порежутся. К тому же зачем делать CtrlL ведь можно пересечь и с группой. Но опять таки задача выкинуть, а не отрезать.
 
Ответ: Как сделать сетку и обрезать лишнее

Сорри, прочитал невнимательно... :)
 
Ответ: Как сделать сетку и обрезать лишнее

Нашёл забавный алгоритм:
1. рисуем сетку с не касающимися друг-друга квадратами
2. нужную фигуру вырезаем из прямоугольника, равного по-размеру сетке
3. группируем квадраты
4. центруем фигуру с дыркой и сеткой
5. сливаем в один объект
6. удаляем точки внешнего контура рамки
7. Break Apart
8. Удаляем контур - заливаем квадраты
вуаля!

алгоритм можно оптимизировать, но это уже лишнее, он и так достаточно прост
 
Ответ: Как сделать сетку и обрезать лишнее

гм, забавно, ну а если узлов будет более 64000? сломается японская пила?
 
Ответ: Как сделать сетку и обрезать лишнее

возможности корела, увы, не безграничны. скорее всего появятся артефакты.
По частям, наверное.

Конечно, при наличие работающего макроса (если он корректно работает и обходит эту проблему) заниматься такой эквилибристикой нужды вроде как и нет, но мне было интересно решить задачку =)
 
Ответ: Как сделать сетку и обрезать лишнее

раньше я не знал что смогу сам написать макрос... но такой грамотный (в пределах возможностей Корела) способ мне придумать не удалось :-) Макрос работает перебором и анализом координат, пересечение он иногда делает для доп.контроля но тоже по одной фигурке
 
Ответ: Как сделать сетку и обрезать лишнее

wOxxOm сказал(а):
такой грамотный (в пределах возможностей Корела) способ мне придумать не удалось :-)

спасибо, буду рад, если кому-нибудь пригодится
 
Ответ: Как сделать сетку и обрезать лишнее

pattern fill / load заранее сохраненный "квадрат".pat
 
Ответ: Как сделать сетку и обрезать лишнее

тоже чем-то интересный способ, но мелочь опять таки порубится на границе большого контура, а надо выкинуть совсем. Кстати если кто успел скачать wx.SelectInside выше, то есть приятная новость - я его немного ускорил и сделал более надежным
 
Статус
Закрыто для дальнейших ответов.