Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2012, 00:07   #1
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию OpenGL построение куба

Здравствуйте. Вот тут появился такой вопрос. Везде в интернетах рассматривается построение куба по уже заранее заданным в массивах координатам. Возможно ли как-то в одном цикле, имея лишь координаты центра и размер стороны, вычислить координаты всех точек и построить по ним куб?

Вот, к примеру, как я строил квадрат при помощи цикла? У меня была функция, в которую я передавал центр фигуры, размер и количество сторон. А внутри функции, в цикле, по формуле окружности вычислялись координаты всех точек, по которым, впоследствии, фигура и строилась.

Есть ли что-то подобное, связанное с кубом?
ZotaC вне форума Ответить с цитированием
Старый 20.02.2012, 00:10   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну а в чем проблема то расчитать координаты?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.02.2012, 00:16   #3
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Не представляю себе, как это должно выглядеть. Могу рассчитать координаты для квадрата, но перевести это на куб не получается.
ZotaC вне форума Ответить с цитированием
Старый 20.02.2012, 09:42   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Я вот так вот писал.
По идее тебе нужна процедура InitCube
Код:
procedure TForm1.initcube(aorig, asize : smallint);
var i : byte;
begin
  for i := 0 to 7
    do begin
    x[i+1] := aorig + (i and 1) * asize;
    y[i+1] := aorig + (i and 2) div 2 * asize;
    z[i+1] := aorig + (i and 4) div 4 * asize;
    end;
end;
В ней довольно просто , хоть и оптимизировано. Каждую точку высчитываем как одну из матрицы
(0,0,0)
(1,1,1)
Всего 8 точек - они укладываются в 3 бита. Любая вариация из 8 даёт 3 координаты единичного куба. Итоговое значение получаем умножением на размер и суммированием с размещением.

На опенгл думаю не трудно перевести.
Вложения
Тип файла: rar Cubespinfin.rar (166.4 Кб, 31 просмотров)
phomm вне форума Ответить с цитированием
Старый 20.02.2012, 13:08   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Могу рассчитать координаты для квадрата, но перевести это на куб не получается.
ну так рассчитайте квадрат и из него поднимите куб смещением по третьей оси на длину стороны. или, если от центра куба, по половине стороны вверх и вниз.

или в сферических координатах: все вершины куба располагаются на поверхности одной сферы, с центром в центре куба. Зная две вершины, построить остальные 6 не составляет проблемы при любом положении куба в пространстве - диагонали строго перпендикулярны между собой.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Послойное построение в OpenGL skeydee Мультимедиа в Delphi 2 19.12.2011 23:25
Разная текстура для каждой грани куба OpenGL DIgorevich Мультимедиа в Delphi 4 16.12.2011 12:17
Описание куба Godsmack2007 Паскаль, Turbo Pascal, PascalABC.NET 0 16.06.2011 20:16
OpenGL. Создание куба на ScrollBox. ArtGrek Мультимедиа в Delphi 5 17.12.2010 20:57
[OpenGL, Delphi] Добавление текстур на грани куба newStudent Помощь студентам 0 03.12.2010 00:50