Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поверхности Безье (OpenGL), Закон расчета кривых )))) 
:(
    Опции темы
DragonFire
Дата 27.7.2006, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 1
Всего: 9



Вопрос вот в чем:
Есть у меня поверхность состоящая из 16 точек к примеру, как мне определить координаты точки поверхность между точками (0,0) и (0,1) скажем? 


--------------------
PM MAIL ICQ   Вверх
Alexeis
Дата 27.7.2006, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(DragonFire @  27.7.2006,  15:52 Найти цитируемый пост)
координаты точки поверхность между точками (0,0) и (0,1)

В пространстве точки задаются тремя координатами.

Можно попробовать интерполировать значения, но обычно для пространства необходимо 3 точки, а не две. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DragonFire
Дата 27.7.2006, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 1
Всего: 9



Ну это не важно, меня интересует закон, по которому OpenGL строит поверхность, не рандомом же он ее проводит от точке к точке...
Просто у меня есть карта высот - по ней строю поверхность, теперь остается узнать высоту в любом месте между точками, пусть будет такими:
(0,0,5) (0,1,6) (1,1,7) (1,0,8)
скажем в точке (0.5,0.7,???????????????) 


--------------------
PM MAIL ICQ   Вверх
Alexeis
Дата 27.7.2006, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Через любые три точки можно провести плоскоть, 
AX+BY+CZ = 1;   (1)

Имеем три точки, соответственно 3 уравнения относительно A, B, C
  _
  |AX1+BY1+CZ1 = 1
< AX2+BY2+CZ2 = 1
  |AX3+BY3+CZ3 = 1
   
Решаем у систему, находим A B и C, подставляем в уравнение №1.
Выражаем Z
Z = (1 - AX - BY) / C; (2)

Все высота любой точки  между ними легко находится подстановкой X и Y в Уравнение №2 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DragonFire
Дата 27.7.2006, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 1
Всего: 9



А вы уверены, что поверхность Безье - совокупность плоскостей, проведенных между опорными точками??? 


--------------------
PM MAIL ICQ   Вверх
Alexeis
Дата 27.7.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(DragonFire @  27.7.2006,  18:35 Найти цитируемый пост)
А вы уверены, что поверхность Безье - совокупность плоскостей, проведенных между опорными точками??? 

Конечно, нет, это простейшая интерполяция, для построения поверхности Безье надо больше точек в окрестности искомой точки. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DragonFire
Дата 27.7.2006, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 1
Всего: 9



Вот я хочу узнать, как компьютер расчитывает эту поверхность, чтобы самому можно было вычислить тоже самое... 


--------------------
PM MAIL ICQ   Вверх
Alexeis
Дата 27.7.2006, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Я нашел модуль рисующий поверхности Безье по 16 точкам
http://www.wosoft.ru/index.pl?a=g;id=1363;t=1
В архиве имеется краткое описание функций и алгоритмов. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
DragonFire
Дата 27.7.2006, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 1
Всего: 9



Конечно я ничего не понял в этих формулах, но похоже это то что надо, спс!! 


--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0746 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.