Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 3
1

Создание октодерева

20.04.2015, 11:17. Показов 1665. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создание октантного дерева. Диалоговое окно должно обеспечивать ввод уровня разбиения и возможность выбора многоугольника, для которого будет строиться октантное дерево. Октантное дерево – это структура данных, которая представляет собой плоское тело в виде рекурсивного подразделения двухмерного пространства на прямоугольные блоки (в нашей задаче квадраты).

Процедура построения октантного дерева. Сначала создаётся квадрат, в который многоугольник помещается целиком. Для этого находится максимальные и минимальные координаты по Х и по Y. Далее находится сторона квадрата и его центр. Этот квадрат называется корневым октантом. Затем корневой октант делится на 4 октанта, после чего анализируется их положение по отношению к многоугольнику. Если октант находится полностью внутри многоугольника, он считается «чёрным»; если снаружи – «белым». Если же октант частично лежит внутри многоугольника, а частично – снаружи, то он считается «серым» и делится на четыре октанта меньшего размера. Чёрные и белые октанты дальше не делятся. Процедура продолжается до тех пор, пока не будет достигнут заданный уровень разбиения. «Цвет» определяется следующим образом: проверяется, пересекаются ли стороны октанта со сторонами многоугольника (с помощью функции AutoLisp inters). Если стороны октанта пересекаются со сторонами многоугольника, то октант считается «серым». Иначе октант лежит внутри либо снаружи многоугольника. Чтобы определить его «цвет» подсчитывается количество пересечений отрезка лежащего между центром октанта и одной из вершин корневого октанта со сторонами многоугольника. Если количество пересечений чётное или ноль, то квадрат лежит снаружи многоугольника и считается «белым». Иначе если количество пересечений нечётное, то он лежит внутри многоугольника и считается «чёрным». На чертеже рисуются только октанты внутри треугольника
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2015, 11:17
Ответы с готовыми решениями:

Создать базу данных с(Создание функции БД, Создание процедуры БД, Создание тригера БД)
В задание для курсовой работы по БД входят вот такие пункты: 1.2 Создание функции БД. 1.3...

Хочу освоить и применить на практике создание локальной сети, создание домена
Доброго времени суток. Господа, на днях начал осваиваю win server 2003. Хочу освоить и применить...

Создание БД учет заявок на доступ к информационным ресурсам: создание отчетов
Доброго времени суток. Это всего вторая моя попытка что-то наваять в MS Access, сильно не...

Создание локальной БД. Создание класса для работы с БД. Ошибка подключения к БД
Доброго времени суток! Нужно создать БД и создать класс для работы с ним - методы: добавление,...

9
Заблокирован
20.04.2015, 19:28 2
Цитата Сообщение от Natasha96 Посмотреть сообщение
Создание октантного дерева. Диалоговое окно должно обеспечивать ввод уровня разбиения и возможность выбора многоугольника, для которого будет строиться октантное дерево. Октантное дерево – это структура данных, которая представляет собой плоское тело в виде рекурсивного подразделения двухмерного пространства на прямоугольные блоки (в нашей задаче квадраты).
Процедура построения октантного дерева. Сначала создаётся квадрат, в который многоугольник помещается целиком. Для этого находится максимальные и минимальные координаты по Х и по Y. Далее находится сторона квадрата и его центр. Этот квадрат называется корневым октантом. Затем корневой октант делится на 4 октанта, после чего анализируется их положение по отношению к многоугольнику. Если октант находится полностью внутри многоугольника, он считается «чёрным»; если снаружи – «белым». Если же октант частично лежит внутри многоугольника, а частично – снаружи, то он считается «серым» и делится на четыре октанта меньшего размера. Чёрные и белые октанты дальше не делятся. Процедура продолжается до тех пор, пока не будет достигнут заданный уровень разбиения. «Цвет» определяется следующим образом: проверяется, пересекаются ли стороны октанта со сторонами многоугольника (с помощью функции AutoLisp inters). Если стороны октанта пересекаются со сторонами многоугольника, то октант считается «серым». Иначе октант лежит внутри либо снаружи многоугольника. Чтобы определить его «цвет» подсчитывается количество пересечений отрезка лежащего между центром октанта и одной из вершин корневого октанта со сторонами многоугольника. Если количество пересечений чётное или ноль, то квадрат лежит снаружи многоугольника и считается «белым». Иначе если количество пересечений нечётное, то он лежит внутри многоугольника и считается «чёрным». На чертеже рисуются только октанты внутри треугольника
Хоть бы картинку приложили или файлик с объяснениями
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,639
Записей в блоге: 13
20.04.2015, 20:00 3
Да, неплохо было бы нарисовать набросок.
0
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 3
21.04.2015, 12:53  [ТС] 4
Создание октодерева

вот, нашла
0
621 / 941 / 150
Регистрация: 10.08.2015
Сообщений: 5,017
29.05.2016, 19:50 5
Ни у кого не появилось никаких мыслей по этому поводу?
0
0 / 0 / 0
Регистрация: 11.04.2019
Сообщений: 5
11.04.2019, 20:23 6
vlisp, как решили задачу,выложите плс

Добавлено через 1 минуту
как решили задачу,выложите плс
0
621 / 941 / 150
Регистрация: 10.08.2015
Сообщений: 5,017
11.04.2019, 23:22 7
Цитата Сообщение от serejaautolisp Посмотреть сообщение
как решили задачу,выложите плс
нет
0
0 / 0 / 0
Регистрация: 11.04.2019
Сообщений: 5
15.04.2019, 21:34 8
vlisp, дедлайн сдачи горит,почему нет?)

Добавлено через 3 часа 25 минут
vlisp, за много лет решения так и нет)
0
621 / 941 / 150
Регистрация: 10.08.2015
Сообщений: 5,017
16.04.2019, 06:52 9
Цитата Сообщение от serejaautolisp Посмотреть сообщение
дедлайн сдачи горит,почему нет?)
у меня ничего не горит =)
Цитата Сообщение от serejaautolisp Посмотреть сообщение
за много лет решения так и нет)
решение как раз есть и за него даже уплочено ты хочешь на халяву.
Но дело даже не в меркантильности. Это же глупо "сдвавать" тот же код что и кто-то до тебя. Скорей всего препод тебя завалит
0
0 / 0 / 0
Регистрация: 11.04.2019
Сообщений: 5
16.04.2019, 08:55 10
vlisp, ясно,все равно спасибо
0
16.04.2019, 08:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2019, 08:55
Помогаю со студенческими работами здесь

Создание кода из строк или создание произвольного количества объектов
Привет сообществу. Возник такой вопрос: Мне в мидлете необходимо создать некоторое количество...

Создание формулы и последующее заполнение таблицы, избежание повторов информации, создание интерфейса
Не люблю просить о помощи, но, к сожалению, сроки поджимают и не позволяют подробно ознакомиться с...

Создание базы данных на лету, создание и заполнение таблиц в базе DB (Paradox? или..).
Здравствуйте Профи! --- Видел я "простенькую" (exe-шник небольшого размера, запускается сразу,...

Создание источника данных, создание серверных страниц и выбор WEB-сервера и его установка
на практике попросили сделать задание. 1)Создание источника данных 2)Создание серверных страниц...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru