Геометрические алгоритмы - Разработка программы для реализации редактора временных графов синхронизации
Поворот точки относительно центра на заданный угол:
X = o. X + (p. X-o. X) * cos(angle) - (p. Y-o. Y) * sin(angle)
Y = o. Y + (p. X-o. X) * sin(angle) + (p. Y-o. Y) * cos(angle)
Где o. X, o. Y -- координаты центра поворота, p. X, p. Y -- координаты исходной точки, angle -- угол. Алгоритм применяется при повороте стрелки направления дуги вокруг центра позиции.
Точка на окружности с заданным отступом:
Angle := math. Atan2(x-c. X, y-c. Y)
DX := (c. r + distance) * math. Sin(angle)
DY := (c. r + distance) * math. Cos(angle)
Где c. X, c. Y, c. r -- координаты центра и радиус окружности, distance -- отступ от дуги окружности; x, y -- координаты направляющей точки. В сочетании с предыдущим алгоритмом позволяют ориентировать указатель дуги как показано на рис. 14.
Рисунок 14. Поворот стрелки в заданном точкой направлении, с заданным отступом от дуги окружности
Проверка пересечения двух прямоугольников:
RectA. X1 < RectB. X2 &;&; RectA. X2 > RectB. X1 &;&;
RectA. Y1 < RectB. Y2 &;&; RectA. Y2 > RectB. Y1
Где RectA, RectB -- заданные прямоугольники. Используется при выделении элементов (рис. 15).
Рисунок 15. Пересечение прямоугольной части перехода инструментом выделения
Проверка пересечения двух отрезков на плоскости:
X0, y0, x1, y1 := p0.X, p0.Y, p1.X, p1.Y
X2, y2, x3, y3 := p2.X, p2.Y, p3.X, p3.Y
Sx1 := x1 - x0
Sy1 := y1 - y0
Sx2 := x3 - x2
Sy2 := y3 - y2
S := (-sy1*(x0-x2) + sx1*(y0-y2)) / (-sx2*sy1 + sx1*sy2)
T := (sx2*(y0-y2) - sy2*(x0-x2)) / (-sx2*sy1 + sx1*sy2)
If s >= 0 &;&; s <= 1 &;&; t >= 0 &;&; t <= 1 {
Return true
}
Где p0, p1 -- концы первого отрезка; p2, p3 -- концы второго. Используется при удалении дуг методом "отрезания" огибающих ломанных. На рис. 16 дуга будет удалена, на рис. 17 -- нет.
Рисунок 16. Удаление дуги
Рисунок 17. Отрезки не пересекаются
Похожие статьи
-
Сравнение аналогов - Разработка программы для реализации редактора временных графов синхронизации
Поскольку конечной целью работы был редактор сетей Петри, интегрированный с внешней библиотекой алгебраических вычислений, было рациональным рассмотреть...
-
Сеть Петри это двудольный направленный граф с маркировкой, ребра которого задают причинно-следственные отношения "события-условия" и именуются дугами....
-
Множество D с двумя заданными на нем операциями (плюс) и (умножение) называется диоидом, если выполнены следующие аксиомы: § Ассоциативность. §...
-
Введение - Разработка программы для реализации редактора временных графов синхронизации
Математическое моделирование дискретно-событийных динамических систем является относительно молодым направлением науки теории управления. Разработка...
-
Приложение разрабатывается в соответствии с паттерном проектирования Model-View-Presenter (MVP), который является производным от Model-View-Controller...
-
Для того, чтобы строить диаграммы в соответствии с рисунком 2.7, необходимо реализовать алгоритм соединения двух объектов линией. Для отображения линии...
-
Стек технологий При выборе стека технологий основное внимание уделялось следующим факторам, в порядке убывания значимости: § Кроссплатформенность; §...
-
Обоснование выбранного метода При дизайне системы согласно требованиям или при оптимизации существующей необходимо ввести модель, позволяющую не только...
-
Литература - Разработка программы для реализации редактора временных графов синхронизации
1. Авдошин С. М. Оптимизация гибких производственных систем // 1987. 2. Лескин А. А. Алгебраические модели гибких производственных систем // 1986. 3....
-
Заключение - Разработка программы для реализации редактора временных графов синхронизации
Результатом выполнения задания является реализованный редактор временных графов синхронизации (класс временных сетей Петри), соответствующий задачам,...
-
Пример с tegview ¦ L-- qml ¦ +-- tegrender. js ¦ L-- tegview. qml +-- tegview ¦ +--...
-
В ходе исследования был разработан веб-редактор для визуального языка в соответствии с требованиями, выделенными в главе 2, по результатам опроса...
-
Реализация клиентской части приложения На языке JavaScript, в соответствии с диаграммой классов, представленной в приложении Б, были разработаны объекты...
-
Составьте программу для реализации графического редактора линий, изображенного на рисунке 1.1.: Рисунок 1.1. - Пример работы Целью данной работы является...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
Известно, что любые элементы имеют разброс параметров. Поэтому, использование динамического диапазона АЦП может быть неполным или наоборот, может...
-
Полученное по вышеприведенным формулам значение угла сравнивается с заданными величинами запуска и остановки. Программа обеспечивает запуск сканирования...
-
Расчет затрат, связанных с организацией рабочих мест для исполнителей проекта, проводится на основе требований СНИПа (санитарные нормы и правила) и...
-
Приложение, которое необходимо разработать, должно производить геометрическую реконструкцию сцены и вычисление цвета вершин модели. Для геометрической...
-
Программу обработки данных можно запускать как до, так и после включения устройства сопряжения. Перед первым использованием, а также после изменения...
-
Работа программы представлена на рисунке 2.3 Рис. 2.3 Кодирование и тестирование программы Программа кодировалась на языке Си++, используя библотеку Qt5x...
-
Для вычисления цвета могут быть использованы различные подходы. Вычисление цвета может проводиться одновременно с геометрической реконструкцией,...
-
Выбор программ и алгоритмы реализации базы данных - База данных "Кинотеатр"
Microsoft Office Access - мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows....
-
Описание алгоритмов Рассмотрим один из основных алгоритмов, задействованных в программе, - алгоритм передвижения мяча. Блок-схема алгоритма изображена на...
-
Постановление Правительства Российской Федерации №1119 "Об утверждении требований к защите персональных данных при их обработке в информационных системах...
-
Компонент TPanel является несущей конструкцией для размещения на ней других элементов управления, являясь в этом случае родителем для размещенных на ней...
-
Федеральный Закон РФ № 149-ФЗ "Об информации, информационных технологиях и о защите информации", принятый Государственной Думой 8 июля 2006 года и...
-
Введение В настоящем дипломном проекте исследуются вопросы, связанные с генерацией искусственных биометрических образов. Рассматриваются различные...
-
Для иллюстрации последовательности проводимых работ приведем диаграмму Гантта данного проекта, на которой по оси Х изображены календарные дни от начала...
-
СХЕМА АЛГОРИТМА РАБОТЫ ПРОГРАММЫ, ЗАКЛЮЧЕНИЕ - Основы программирования в операционной системе Unix
Блок-схема главной функции программы (main) изображена на рисунке 4. Рисунок 4 - блок-схема main. cpp Блок-схема модуля (Math. cpp) изображена на рисунке...
-
Теоретические аспекты поставленной задачи В этой части проекта будут объяснены этапы применения МКЭ для плоской фермы. В первой главе было рассмотрено...
-
Постановка задачи на разработку программного обеспечения Для того чтобы предлагаемая схема была интегрирована в САПР, который не имеет функции интеграции...
-
Обоснование выбора средств разработки проекта Для реализации корпоративной информационной системы "Бюджетное планирование и отчетность" в исследуемой...
-
Общее описание программного обеспечения, реализующего разработанный алгоритм Основной идеей дипломного проекта, является реализация алгоритма...
-
Реализация, Composer - Программа расчета агрегатов по накапливающимся данным для построения отчетов
Для эффективного тестирования и демонстрации библиотеки было решено разработать PHP-приложение, состоящее из: 1. Менеджера зависимостей composer; 2....
-
Работа алгоритма LBFS начинается с заданной вершины графа, которая в общем случае выбирается случайно. Получаемый порядок вершин также может быть основан...
-
Предлагаемая библиотека хранит все данные в отдельных таблицах, таким образом он не обязан использовать ту же СУБД, что и основное приложение. В качестве...
-
Технические требования Техническое задание данной работы требует разработать программу для визуального редактирования HTML-кода. Программа должна быть...
-
Adobe Dreamweaver Adobe Dreamweaver - это HTML-редактор от компании Adobe, который на сегодняшний день очень известный. Первая его версия была выпущена в...
-
Физическая модель базы данных определяет способ размещения данных в среде хранения и способ доступа к этим данным, которые поддерживаются на физическом...
Геометрические алгоритмы - Разработка программы для реализации редактора временных графов синхронизации