Вывод графика D2007+OpenGL
Есть массив A:boolean B:TColor размерности [0..N, 0..M, 0..K]. Надо вывести это в виде графика - куба с усеченными частями как должно выглядеть см файл tz.jpg. Массив А значение = true вершина отображается, false - скрыта. B - цвет вершины. Алгоритм построения - соединяем соседние видимые вершины. Лишние полигоны между видимыми вершинами внутри рисовать не надо. Если будет пустота внутри вырезаем ее (т.е. выводим полигоны по границе видимых вершин). Соседние видимые вершины объединять в большие полигоны т.е. например, если все значения массива A = true, то вывести только 6 граней кубика, а не миллионы мелких частей которые вместе складываются в те самые 6 граней (нужно для оптимизации т.к. N,M,K будут большие ~1000-10000).
Рисуем оси, название и подписи, как показано. Количество зарубок на каждой оси передается как переменные integer, значение нуля и максимума тоже integer (промежуточные значения получаются делением с округлением). Название каждой оси это string[5]. Цвета осей, подписей, названий можно менять. Должна быть возможность переключения места отображения осей (т.е. не всегда из точки (0,0,0) в точки (max,0,0) (0,max,0) (0,0,max), а возможно из любой вершины куба в другую вершину куба. Например: (max,0, 0) -> (max,max,0) ), какими переменными или методами делать на ваш выбор. Подписи всегда смотрят на наблюдателя.
Центр кубика всегда в нуле координат сцены. Сцену можно вращать мышкой в трех осях. Источник света всегда светит со стороны наблюдателя.
Сделать проект в D2007. Оформить как отдельный класс в отдельном модуле. Ему передадут указатель на TPanel, в него выводить сцену. Способ передачи других переменных - на ваш выбор. Ну и сделать пример со способом вызова и описанием что куда. Комментарии к исходнику писать обязательно.
Прием работы - exe файл, я смотрю как работает, тыкаюсь, проверяю функционал, говорю что не так. потом оплата. после оплаты получаю исходник.