📖 Документация Qumir

← Вернуться в Playground

Исполнитель Чертежник

Чертежник — графический исполнитель для создания рисунков с помощью прямых перемещений. Чертежник работает на координатной плоскости и может перемещаться в заданные точки или на заданные векторы.

Для использования укажите первой строкой в программе:

использовать Чертежник

Основы

Чертежник находится на координатной плоскости и имеет:

В отличие от Черепахи, Чертежник перемещается не по направлению, а прямо к указанным координатам.

Команды

Управление пером

Команда Описание
опустить перо Чертежник рисует при перемещении
поднять перо Чертежник не рисует при перемещении
выбрать чернила(цвет) Установить цвет чернил (0-15)

Перемещение

Команда Описание
сместиться в точку(x, y) Переместиться в точку с координатами (x, y)
сместиться на вектор(dx, dy) Сместиться на вектор (dx, dy) от текущей позиции

Текст

Команда Описание
написать(ширина, текст) Написать текст с заданной шириной

Палитра цветов

Номер Цвет
0 Черный
1 Синий
2 Зеленый
3 Голубой
4 Красный
5 Пурпурный
6 Желтый
7 Белый
8 Серый
9-15 Другие оттенки

Примеры

Квадрат

использовать Чертежник
алг
нач
    опустить перо
    выбрать чернила(1)  | синий
    сместиться в точку(0.0, 0.0)
    сместиться в точку(3.0, 0.0)
    сместиться в точку(3.0, 3.0)
    сместиться в точку(0.0, 3.0)
    сместиться в точку(0.0, 0.0)
кон

Треугольник

использовать Чертежник
алг
нач
    опустить перо
    выбрать чернила(4)  | красный
    сместиться в точку(0.0, 0.0)
    сместиться в точку(3.0, 0.0)
    сместиться в точку(1.5, 2.6)
    сместиться в точку(0.0, 0.0)
кон

Домик

использовать Чертежник
алг
нач
    | Основание дома
    опустить перо
    выбрать чернила(1)  | синий
    сместиться в точку(0.0, 0.0)
    сместиться в точку(4.0, 0.0)
    сместиться в точку(4.0, 3.0)
    сместиться в точку(0.0, 3.0)
    сместиться в точку(0.0, 0.0)

    | Крыша
    выбрать чернила(4)  | красный
    сместиться в точку(0.0, 3.0)
    сместиться в точку(2.0, 5.0)
    сместиться в точку(4.0, 3.0)

    | Надпись
    поднять перо
    выбрать чернила(0)  | черный
    сместиться в точку(0.5, -0.5)
    написать(3.0, "ДОМ")
кон

Использование векторов

использовать Чертежник
алг
нач
    опустить перо
    выбрать чернила(2)  | зеленый

    | Рисуем квадрат со стороной 2, используя векторы
    сместиться в точку(0.0, 0.0)
    сместиться на вектор(2.0, 0.0)
    сместиться на вектор(0.0, 2.0)
    сместиться на вектор(-2.0, 0.0)
    сместиться на вектор(0.0, -2.0)
кон

Геометрические фигуры

Правильный многоугольник

использовать Чертежник
алг
нач
    многоугольник(6, 0.0, 0.0, 2.0)  | шестиугольник
кон

| Рисует правильный n-угольник с центром в (cx, cy) и радиусом r
алг многоугольник(цел n, вещ cx, вещ cy, вещ r)
нач
    цел i
    вещ angle, x, y

    | Вычисляем первую точку
    angle := 0.0
    x := cx + r * cos(angle)
    y := cy + r * sin(angle)

    | Переходим в начальную точку
    поднять перо
    сместиться в точку(x, y)
    опустить перо

    выбрать чернила(1)

    | Рисуем стороны многоугольника
    нц для i от 1 до n
        angle := 2.0 * 3.14159 * i / n
        x := cx + r * cos(angle)
        y := cy + r * sin(angle)
        сместиться в точку(x, y)
    кц
кон

Звезда

использовать Чертежник
алг
нач
    звезда(0.0, 0.0, 3.0, 1.2, 5)
кон

| Рисует звезду с n лучами
алг звезда(вещ cx, вещ cy, вещ outerR, вещ innerR, цел n)
нач
    цел i
    вещ angle, x, y

    | Первая внешняя точка (сверху)
    angle := -3.14159 / 2.0
    x := cx + outerR * cos(angle)
    y := cy + outerR * sin(angle)

    поднять перо
    сместиться в точку(x, y)
    опустить перо

    выбрать чернила(6)  | желтый

    | Рисуем звезду
    нц для i от 0 до n - 1
        | Внутренняя точка
        angle := -3.14159 / 2.0 + (2.0 * i + 1.0) * 3.14159 / n
        x := cx + innerR * cos(angle)
        y := cy + innerR * sin(angle)
        сместиться в точку(x, y)

        | Внешняя точка
        angle := -3.14159 / 2.0 + 2.0 * (i + 1.0) * 3.14159 / n
        x := cx + outerR * cos(angle)
        y := cy + outerR * sin(angle)
        сместиться в точку(x, y)
    кц
кон

Графики функций

График синуса

использовать Чертежник
алг
нач
    цел i, n
    вещ x, y, scale

    scale := 2.0
    n := 100

    | Оси координат
    выбрать чернила(8)  | серый
    опустить перо

    | Ось X
    поднять перо
    сместиться в точку(-5.0, 0.0)
    опустить перо
    сместиться в точку(5.0, 0.0)

    | Ось Y
    поднять перо
    сместиться в точку(0.0, -3.0)
    опустить перо
    сместиться в точку(0.0, 3.0)

    | График функции
    выбрать чернила(1)  | синий

    x := -5.0
    y := sin(x) * scale
    поднять перо
    сместиться в точку(x, y)
    опустить перо

    | Рисуем график
    нц для i от 1 до n
        x := -5.0 + 10.0 * i / n
        y := sin(x) * scale
        сместиться в точку(x, y)
    кц
кон

Координатная сетка

использовать Чертежник
алг
нач
    цел i
    вещ pos

    выбрать чернила(8)  | серый
    опустить перо

    | Вертикальные линии
    нц для i от -5 до 5
        pos := i
        поднять перо
        сместиться в точку(pos, -5.0)
        опустить перо
        сместиться в точку(pos, 5.0)
    кц

    | Горизонтальные линии
    нц для i от -5 до 5
        pos := i
        поднять перо
        сместиться в точку(-5.0, pos)
        опустить перо
        сместиться в точку(5.0, pos)
    кц

    | Оси координат (ярче)
    выбрать чернила(0)  | черный

    поднять перо
    сместиться в точку(-5.0, 0.0)
    опустить перо
    сместиться в точку(5.0, 0.0)

    поднять перо
    сместиться в точку(0.0, -5.0)
    опустить перо
    сместиться в точку(0.0, 5.0)
кон

Использование в онлайн-песочнице

  1. Откройте qumir.dev
  2. Напишите программу с командами чертежника
  3. Нажмите Run
  4. Переключите вывод на Чертежник (появится автоматически)

Система координат

Отличия от Черепахи

Черепаха Чертежник
Движется по направлению Движется к координатам
Команды: вперед, назад, влево, вправо Команды: сместиться в точку, сместиться на вектор
Имеет направление (угол) Не имеет направления
поднять хвост, опустить хвост поднять перо, опустить перо

См. также