Урок 2.1. Рисование 3D куба
Совет: Экран графического калькулятора HP Prime имеет размер 318 пикселей в ширину и 240 пикселей в высоту. Если вы хотите оставить место для пользовательских меню, то размер уменьшится до 318 пикселей на 218 пикселей. Значения по оси x увеличиваются в правую сторону, но в отличие от декартовой координатной плоскости, значения по оси y возрастают в сторону нижней части, а не верхней.
Рисование 3D куба
Нарисовать 3D куб не так просто, как может показаться с первого взгляда.
EXPORT DRAW3DCUBE()
BEGIN
LOCAL t, a, b, c, d, s;
RECT();
// координаты
a := 159-50*COS(45°);
b := 109-50*SIN(45°);
c := 159+50*COS(45°) + 1;
d := 159-50*SIN(45°);
// рисование
LINE_P(a+50*COS(45°), b-SIN(45°), a, b);
LINE_P(a, b, 159, 109);
LINE_P(159, 109, c, b);
LINE_P(c, b, a+50*COS(45°), b-SIN(45°));
LINE_P(a, b, a, d);
LINE_P(a, d, 159, 159);
LINE_P(159, 159, 159, 109);
LINE_P(159, 159, c, d);
LINE_P(c, d, c, b);
// цвет для левой/правой стороны
FOR t FROM b TO d DO
LINE_P(a, t, 159, t+50*SIN(45°), #FF0000h);
LINE_P(c, t, 159, t+50*SIN(45°), #FFh);
END;
// цвет верхнего блока
FOR t FROM 1 TO 50 DO
LINE_P(a+t*COS(45°), b-t*SIN(45°),
a+t*COS(45°), b+t*SIN(45°), #FFFF00h);
END;
FOR t FROM 50 DOWNTO 1 DO
LINE_P(c-t*COS(45°), b-t*SIN(45°),
c-t*COS(45°), b+t*SIN(45°), #FFFF00h);
END;
WAIT(0); // Я предпочитаю использовать WAIT(0) для ПАУЗЫ;
END;