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

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

← Все примеры

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

Рисование координатной сетки с осями и подписями. Программа показывает, как с помощью циклов нарисовать много одинаковых линий и как порядок отрисовки влияет на видимость элементов.

Разбор

Вертикальные линии сетки

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

алг
нач
    цел i
    вещ x, y

    выбрать чернила(8)  | серый
    опустить перо
    нц для i от -10 до 10
        x := i
        поднять перо
        сместиться в точку(x, -10.0)
        опустить перо
        сместиться в точку(x, 10.0)
    кц

Цикл рисует 21 вертикальную линию серым цветом с шагом $1$ -- от $x = -10$ до $x = 10$. Каждая линия рисуется в три действия: перо поднимается, перемещается в нижнюю точку $(x, -10)$, опускается и проводит линию до верхней точки $(x, 10)$.

Горизонтальные линии сетки

    нц для i от -10 до 10
        y := i
        поднять перо
        сместиться в точку(-10.0, y)
        опустить перо
        сместиться в точку(10.0, y)
    кц

Аналогичный цикл рисует 21 горизонтальную линию. Вместе с вертикальными они образуют сетку $20 \times 20$ с ячейками размером $1 \times 1$.

Оси координат

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

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

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

Оси рисуются чёрным цветом поверх серой сетки. Важен порядок: сначала сетка, потом оси. Благодаря контрастному цвету оси выделяются на фоне серых линий.

Подписи осей

    поднять перо
    выбрать чернила(0)
    сместиться в точку(9.5, -0.5)
    написать(0.5, "X")

    сместиться в точку(0.5, 9.5)
    написать(0.5, "Y")
кон

Команда написать(0.5, "X") выводит букву «X» с размером шрифта $0{,}5$ рядом с правым концом оси. Аналогично подписывается ось $Y$. Перо поднято -- перемещения между надписями не оставляют следов.

Полная программа

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

алг
нач
    цел i
    вещ x, y

    | Вертикальные линии
    выбрать чернила(8)  | серый
    опустить перо
    нц для i от -10 до 10
        x := i
        поднять перо
        сместиться в точку(x, -10.0)
        опустить перо
        сместиться в точку(x, 10.0)
    кц

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

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

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

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

    | Подписи осей
    поднять перо
    выбрать чернила(0)
    сместиться в точку(9.5, -0.5)
    написать(0.5, "X")

    сместиться в точку(0.5, 9.5)
    написать(0.5, "Y")
кон

▶ Запустить пример