Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];

Вниз

Построить сферу на OpenGl вручную. не используя glu-товской библе   Найти похожие ветки 

 
Gritzan   (2002-12-09 23:41) [0]

Народ подскажите кто знает формулу по которой можно потроить сферу
или ссылки на сайт на которой они есть подскажите?
Я пробовал по sqr(x)+sqr(y)+sqr(z)=sqr(r-радиус); он строит только одну
часть, делая одну кординату отрицательной, получается большой разрыв между двумя частями!


 
(AD)acid   (2002-12-10 06:36) [1]

При решении данного уравнения получаем
z1=sqrt(sqr(r)-sqr(x)-sqr(y)) - Верхняя часть сферы
z2=-sqrt(sqr(r)-sqr(x)-sqr(y))- Нижняя часть сферы
Поэтому ,наверно , придётся выводить по частям
я это как-то делал но не в Delphi а в Borland pascal"е
хотя это было давно и не правда


 
Ketmar   (2002-12-10 11:43) [2]

а она и выводится по частям. сначала одна полусфера, затем другая. см. исходники.

Satanas Nobiscum! 10-Dec-XXXVII A.S.


 
Alek Aaz   (2002-12-10 18:22) [3]

И все-таки. Как. Покажите на примере. Формула то работает. Но на сфере как-то нужно поставить нормали для треугольников из которых она состоит. Вообще я только теоретически понимаю как она строится а на практике не получается.


 
zavdim   (2002-12-11 07:39) [4]

У меня есть тексты - можешь поразбирать. Я их года полтора назад писал - не ахти что, но смысл уловить можно.
Там я тор строю и еще чего-то.
Если не против, то кину на мыло.


 
zavdim   (2002-12-11 07:40) [5]

Тут лучше параметрическое задание сферы использовать, а не приведенное выше.


 
Alek Aaz   (2002-12-11 10:56) [6]

2 zavdim Не понял последний пост.
Вообще-то построение сферы мне нужно по двум сообращениям.
1. Создать сферу с нормалями внутрь. Чтобы фон космоса нацепить. Можно конечно на готовую, но под рукой нет 3Д Макса.
2. Шальная идея делать планету. Рисуем шар, а при приближении, при перерисовке начинаем постепено добавлять смещение для гор по карте высот.

Для начала хотелось бы сделать задачу минимум.


 
zavdim   (2002-12-11 11:12) [7]

1.Нужен набор точек лежащих на сфере.
2. Ты берешь меняешь два угла - один от -пи/2 до пи/2. и второй от -пи до пи. Тоесть - двойной цикл.
3. Есть параметрическое представление сферы - это ведь двумерное многообразие, значит двух параметров нам хватит.
4. Формулы такие:
x:=Rx*cos(alpha2)*cos(Alpha1);
y:=Ry*sin(alpha2)*cos(Alpha1);
z:=Rz*sin(Alpha1);
Если Rx=Ry=Rz, то получим сферу иначе эллипсоид. Внешний цикл по Alpha1, внутренний по Alpha2.
Получишь точки, ну и начинаешь на их основе треугольники строить.
Какие должны образовывать треуг. и как лучше организовать - подумай, если трудно - то скажи.
А нормаль треугольника определить - можно, по тому же векторному произведению, только со знаком уж потыкаться надоть.



 
Alek Aaz   (2002-12-11 19:19) [8]

Трудно.
Говорю.
Формулы - понятно, и просто. Математика. А вот практика ...
Насколько я понимаю должно быть как минимум 3 точки. Две в "низу" и одна в "верху". Обход этих точек определяет нормаль. Сие теория. Практики нет.

P.S. Что такое регулярная сетка для создания полигональной серы и не регулярная?


 
Alek Aaz   (2002-12-11 19:24) [9]

не серы , а сферы. опечатка, сорри.


 
zavdim   (2002-12-13 06:57) [10]

ну ты для начала параллелепипед, пирамдку построй с правильно настроенными нормалями. Инфы по этому поводу - море, пошарься в инете. Во многих статьях это разжевано до зубной боли. Потом к сфере переходи. А прогу я не тебе посылал?


 
Alek Aaz   (2002-12-15 03:26) [11]

Мне. Получил. Сенькс. Жую.


 
JrKI   (2003-03-04 08:06) [12]

Ага! Без glut !
А в исходнике glut посмотри!
Только gluK из нее не сделай!



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
14-10931
Soft
2003-08-16 18:36
2003.09.04
На начальном этапе есть шанс заработать до 100% в месяц, а далее


8-10844
dronas555
2003-05-06 12:08
2003.09.04
Формат BMP


3-10560
OlkaGTS
2003-08-11 17:06
2003.09.04
Как добавить поле Internalcalc к ClientDataSet в runtime?


7-11004
Fants
2003-06-19 17:12
2003.09.04
Свое расширение файла в системе


1-10724
Bel
2003-08-20 11:52
2003.09.04
Как перетаскивать строки в ListBox е?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский