Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: генерация контурных линий  (Прочитано 8902 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Migmile
Помогающий

ru
Offline Offline

« : 20-04-2006 15:46 » 

Есть 3-х мерная поверхность, задаваемая либо функцией, либо таблицей - не важно. Надо построить контурные линии с заданным шагом.
Мне не приходит в голову никакого другого алгоритма, кроме сканирования поверхности, и определения точек границ перехода. Но это жутко неэффективно! Можно попытаться встать на линию и идти по ней мелкими шагами. Нет ли какого-нибудь стандартного алгоритма?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 21-04-2006 18:38 » 

Ну раз никто не смог найти способа. То я могу дать свои мысли насчет решения. Но практически я их не проверял. Поэтому нужно наверное будет дорабатывать.
Я предлагаю контурную линию строить по сечению. Например берем плоскость паралейную плоскости образованной осями X и Z. Шаг этой плоскости осушествлять по оси Y. Уравнение  плоскости сечения можно легко вычислить. Также легко найти все точки пересечения плоскости сечения с заданной плоскостью. Останется только перевести рисунок линии из трехмерного пространства в двухмерное.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #2 : 21-04-2006 19:43 » 

поищи книгу
Д.Роджерс "Алгоритмические основы машинной графики" , Москва, изд."Мир" , 1989 г

почему именно её - у меня она есть в бумажном варианте. Там от и до.
Записан

Migmile
Помогающий

ru
Offline Offline

« Ответ #3 : 22-04-2006 05:59 » 

Всем спасибо:)
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 22-04-2006 14:14 » 

Цитата
Также легко найти все точки пересечения плоскости сечения с заданной плоскостью.
Каким конкретно образом, если функция задана таблицей, так, чтобы было быстрее, чем сканирование таблицы?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #5 : 22-04-2006 14:59 » 

dimka, Это дело вкуса. Я бы сначало отсортировал бы таблицу. А потом уже бы работал бы с ней. Но это пока все предположения. Улыбаюсь
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 22-04-2006 15:28 » 

Я думал о несколько иной таблице - массиве (например, двумерном) значений. Улыбаюсь Но если таблица задана структурами вида X1,...,XN,F, то сортировка и работа с отсортированными значениями, наверно, будет быстрее.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #7 : 22-04-2006 15:45 » 

dimka, Это 3 мерное пространство. Значит идут 3 координаты. Например можно отсортировать по координате Y. Если Y координата совпадает, то сортировать по X ну и затем по Z.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines