Тема: The Maze
Показать сообщение отдельно
Старый 22.11.2008, 21:59   #27
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: The Maze

Romanzes - основа 3D - это 3-x-трехугольная грань, потому что проще расчитывается, все изображения строятся на ее основе.

Быстрее чем getRGB и drawRGB врятли получиться. Integer - родной тип java-машины, с другими даже меньшими типами она дольше работает. Тип byte служит только для того чтоб занимать в памяти меньше места. Поэтому прийдется пожертвовать объемом памяти в пользу производительности.
___
plot - это обертка, писал для наглядности, а вообще оптимальнее писать так: fillRect(x,y,1,1); немножко оптимизировть это сократить кол-во циклов, поэтому можно напрямую выводить на экран, а не во временный массив
___
об оптимизации функцию sin, лучше переписать так:
function sin(angle:integer):integer;
begin
sin:=0;
angle:=angle mod 360;
if (angle<0) then angle:=360+angle;
if (angle<=90) then sin:=sintab[angle]
else if (angle<=180) then sin:=sintab[180-angle]
else if (angle<=270) then sin:=-sintab[angle-180]
else sin:=-sintab[360-angle];
end;
___
и еще везде где возможно расчитывайте заранее все выражения, которые не изменяются в цикле, а еще старайтесь чтобы смещение в массивах было инкрементным, а не с помощью вычислений..
___
p.s. Выкладываю свою версию проволочного 3D-куба.
Вложения
Тип файла: zip cube3d.zip (9.2 Кб, 782 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Romanzes (23.11.2008)