Форум: "Игры";
Текущий архив: 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