|
1 / 2 / 0
Регистрация: 30.06.2019
Сообщений: 30
|
|
Идентификация объектов векторной графики13.12.2021, 09:35. Показов 517. Ответов 0
Во всех редакторах векторной графики важным моментом является обособление, или выделение тех элементов, с которыми мы будем работать. В программе CоrelDraw, например, для этого используется инструмент «Указатель» – выбор объекта перед его изменением. Выделение нескольких объектов сразу можно сделать, нажав клавишу Shift. Выделить группу объектов можно, обведя их в рамку, – выделяются объекты полностью попавшие в рамку (при нажатой клавише Alt выделяются объекты, даже частично попавшие в рамку). Затем в CоrelDraw можно взять другой инструмент и работать им на выделенных объектах. Двигая, например, их узловые точки. Идентификация узловых точек происходит по их положению, то есть, по их векторным координатам. Если узловых точек очень много, то эта процедура затягивается, потому и понадобилось предварительное выделение объектов для работы с ними. Итак, идентификация объектов понадобилась для упрощения и ускорения работы с ними. Одновременно отметим, что идентификация объекта по всей массе его узловых точек, далеко не самый удачный способ работы с ним. Тем не менее, для своих задач, в русле создания статичных изображений, CоrelDraw работает вполне успешно. ИДЕНТИФИКАЦИЯ ПО НАЧАЛЬНЫМ ТОЧКАМ Программа DM_Paint сделана в среде VB6. Её векторная графика DM_Paint нацелена на создание анимации. Динамические перемещения векторных фигур вместе и порознь требуют не столь тяжеловесных и архаичных методов идентификации фигур, которые приняты в CоrelDraw. В программе DM_Paint фигуры идентифицируются не по массе узловых точек, а по координатам начальной точки, которая есть у каждой фигуры. Указав на начальную точку, и тем самым, выбрав фигуру, можно передвигать и поворачивать фигуру, а войдя в её контур, передвигать его узловые точки, меняя очертания контура. Такая идеология требует для своей реализации не полного списка узловых точек, а только списка начальных точек. В этом списке на первой и второй позициях указываются X,Y координаты узловой точки, а в нулевой позиции – номер строки векторной графики, описывающей конкретную фигуру. И эта идеология оказалась весьма продуктивной - http://youtu.be/lWpFxt3VWe8 ЦВЕТОВАЯ ИДЕНТИФИКАЦИЯ ВЕКТОРНЫХ ОБЪЕКТОВ В программе «Стереометрия для математиков» идентификация трёхмерных векторных фигур упрощена ещё более – координатный список в ней вообще отсутствует. Фигуры идентифицируются не по их координатам, а по цвету - http://youtu.be/0MrUrB5BUVY Уникальный номер векторной фигуры определяется сразу - в момент клика по ней. Номер этот задаётся тремя младшими битами трёх компонент цвета. Если младшие биты равны нулю во всех трёх BGR компонентах, то такая точка считается пустой, независимо от её видимого цвета, и мы относим эту область чертежа к области фона, то есть, считаем её не занятой изображением векторной фигуры. И наоборот – получив уникальный номер векторной фигуры ( номер этот может иметь значение J от 1 до 511 ), мы обращаемся к списку ссылок N = Mvv( J ), по которому сразу же определяем номер строки конкретной фигуры. Поскольку видимый цвет фигуры определяется старшими байтами цвета, то использование младших бит цвета для цифровой идентификации является вполне разумной идеей. ======= Итак, мы рассмотрели различные способы идентификации фигур векторной графики. Указали на их преимущества и недостатки. А также на то, что способы эти могут быть весьма различными. Обсуждение указанной проблемы мне представляется важным для проектирования векторных редакторов различного назначения.
1
|
|
| 13.12.2021, 09:35 | |
|
Ответы с готовыми решениями:
0
|
| 13.12.2021, 09:35 | |
|
Помогаю со студенческими работами здесь
1
Хранение векторной графики Редактор векторной графики Редактор векторной графики редактор векторной графики Масштабирование векторной графики Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|