(495)240-8280ПН-СБ с 12:00 до 20:00
We speak English

Урок 1.1. Рисуем пикселями

А теперь немного развлечемся и кое-чему обучимся. Возьмем определенную функцию, можно любую функцию типа f(x,y) или g(x,y), где x и y представляют собой отдельные пиксели на экране графического калькулятора HP Prime. И с помощью этих функций создадим узоры.

Я задам диапазон для x от 1 до 318, и диапазон для y от 1 до 218, после чего построю на экране точки с помощью функций f(x,y) и g(x,y).

Чтобы все результаты отображались на экране, я отформатирую функции следующим образом:

k = f(x,y) MOD 318
j = g(x,y) MOD 218

Нарисованы будут именно координаты пикселей (k,j).

Ниже хочу поделиться с вами результатом того, что получилось.

Вот сам код:

// Общий формат
EXPORT PIX09()
BEGIN
  LOCAL x, y, j, k, n, l, s;
  // задаем цвет фона
  RECT_P(#0h);
  // добавим счетчик, если это необходимо
  n := 0;
  // перечисляем цвета (если вы хотите, чтобы пиксели были не одного цвета – но это по желанию)
  l := {#FF0000h, #87CEEBh, #FFFF00h, #FF00h};
  // основной цикл
  FOR x FROM 1 TO 318 DO
    FOR y FROM 1 TO 218 DO
      // следующие две строки нужны, если определена l
      n := n+1;
      s := 1+n MOD 4;
      // k и j представляют функции x и y – они могут быть любыми
      // команды MOD 318 и MOD 218 нужны для того, чтобы пиксели не выходили за пределы
      k := IP((x^2*y)^3 + (x*y^2)^3) MOD 318;
      j := IP(e^(x) + e^(y)) MOD 218;
      // нарисовать пиксель
      PIXON_P(k, j, l(s));
    END;
  END;
  // это выражение просто говорит, что "программа завершена"
  TEXTOUT_P("DONE", 0, 219, 3, #FFFFFFh);
  FREEZE;
END;

Если понравился результат, можете попробовать что-нибудь другое.