Помощь > Как нарисовать геометрическую фигуру или график
График — набор команд, которые рисуют различные объекты. Формат команды обычно такой:
command[#id][.class1[.class2[...]]] [arg1:v1 [arg2:v2[...]]] [u1 [u2]]
Символы внутри квадратных скобок [] являются опциональными.
command
— тип создаваемого объекта.id
— уникальный (в рамках графика) идентификатор. Может быть пустымclass1
— класс. Объектам можно добавлять различные классы, чтобы менять их внешний вид. Может быть пустымarg1:v1
— пара "ключ-значение" задает определенный атрибут объекта. Например, координату —x:0
. Пары "ключ-значение" разделяются пробелами. Если значение — это текст, то его нужно писать в кавычках.name:"Вася"
u1
— простые аргументы для некоторых команд, разделенные пробелами. Например, если нужно указать координаты и текст, достаточно написатьtext 1 3 "ABC"
.
Как создать график
Для создания графика нужно перейти на новый параграф, кликнуть на значок , а в открывшемся меню выбрать кнопку "График или геометрическая фигура"
. В результате в тексте документа появится стандартная заготовка графика. Чтобы изменить вид графика, нажмите на зеленую кнопку "Редактировать". Код графика откроется во всплывающем окне.
Каждая строчка в коде графика соответсвует одной команде. Для перехода на новую строчку надо одновременно нажать на клавиши Shift и Enter.
Для того чтобы применить сделанные вами изменения в коде графика, нажмите на кнопку "Обновить".
Сетка
Теперь мы можем создать координатную сетку командой grid
.
У всех графиков стандартный размер px px. Изменить его нельзя.
Каждая точка на графике задается координатами по горизонтальной и вертикальной оси. По умолчанию график создается с координатами от (-2;-2) до (14;14).
Класс light-grid
сделал сетку светло-серой.
Координатную плоскость при желании можно изменить. Делается это с помощью команды chart
. Например, строка кода графика
chart minx:-2 maxx:5 miny:-4 maxy:7
сдвинет начало координат и сделает "ячейки" сетки прямоугольными (например, miny:-4
следует читать так: минимальная координата по вертикальной оси равна ).
Точки
На графиках можно создавать отдельные точки, а затем использовать их как вершины для многоугольников и путей.
Определение точки начинается с решетки, за которой могут следовать классы, разделенные точками. Затем следуют координаты точки через пробел.
Например, #A.c1.c2 3.3 5
создает точку с названием A
, классами c1
и c2
и координатами (3,3;5). Десятичные дроби в координатах разделяются точкой.
По умолчанию название точки скрыто. Чтобы отобразить его, нужно добавить один из классов, которые определяют положение текста относительно точки. Классы: n, e, w, s, ne, nw, se, sw
. Как нетрудно заметить, классы соответствуют сторонам света.
Нарисовать маркеры точек можно двумя способами:
- при создании точки поставить перед решеткой букву p (от английского point), например
p#A 3.3 5;
- создать точку, а затем в новой строке использовать команду
dots
. Например,dots A B
проставляет маркеры точек и .
Полный код этого графика выглядит так:
Вариант 1
chart minx:-1 miny:-1 maxx:8 maxy:8 p#A.nw 1 1 p#B.se 3 3 p#C.n 5 5
Вариант 2
chart minx:-1 miny:-1 maxx:8 maxy:8 #A.nw 1 1 #B.se 3 3 #C.n 5 5 dots A B C
Где можно использовать точки?
На данный момент точки можно использовать только в многоугольниках (команда poly
), путях path
, маркерах точек dots
и как центр окружности или эллипса.
Многоугольники и ломаные
Команда poly
создает произвольный многоугольник. Аргументами команды должны быть id ранее созданных точек.
Код графика
chart minx:0 miny:-4 maxx:14 maxy:10 p#A.s 1 1 p#B.n 9 7 p#C.s 13 1 poly A B C
Команда path
создает ломаную. Аргументами команды также должны быть id ранее созданных точек.
Код графика
chart minx:-2 miny:-2 maxx:14 maxy:14 p#A.s 1 1 p#B.n 9 7 p#C.n 2 12 path A B C
Пример параллелограмма
Код графика
chart minx:0 miny:-1 maxx:6 maxy:5 #A.sw 1 1 #B.n 2 3 #D.se 4 1 #C.n 5 3 poly A B C D path A C
Дужки и штрихи
Для обозначения равных отрезков нужно использовать path
, у которого указан один из следующих классов: .stroke
, .stroke2
, .stroke3
.
Пример
chart minx:0 miny:-4 maxy:12 maxx:16 #A 5 4 #B 11 4 #C 8 9.2 #D 8 -3 path.stroke2 A B C A path.stroke1 A D B
Для создания дужек есть классы .arcs
, .arcs2
, .arcs3
и .arcs90
. При создании дужек иногда удобно скрывать основные линии пути. Для этого служит класс .hidden
.
Код графика
chart minx:0 maxx:8 miny:0 maxy:8 #A 1 1 #B 7 1 #C 7 6 poly A B C path.hidden.arcs90 A B C path.hidden.arcs2 B A C path.hidden.arcs1 A C B
Стрелки
На концах пути можно нарисовать стрелки, например для обозначения векторов. Для этого служат классы .arrow
, .larrow
, .rarrow
.
Кроме того, можно воспользоваться командой arrow
.
Код графика
chart minx:0 miny:0 maxx:9 maxy:9 #A1 1 8 #A2 1 6 #A3 1 4 #B1 7 8 #B2 7 6 #B3 7 4 #A4 1 1 #B4 7 2 path.arrow A1 B1 path.larrow A2 B2 path.rarrow A3 B3 arrow A4 B4
Стили линий и цвета
Можно нарисовать пунктирную линию, добавив к команде path
класс .dashed
.
Код графика
chart minx:-2 maxx:14 miny:-2 maxy:14 #A.sw 0 0 #B.n 12 12 path.dashed A B
Можно изменить цвет линии и цвет заливки геометрической фигуры. Для этого существуют следующие классы:
Цвет линии | Цвет заливки |
.red — красный | .redfill — прозрачный красный |
.green — зеленый | .greenfill — прозрачный зеленый |
.white — белый | .whitefill — прозрачный белый |
.noborder — невидимая линия (для границ многоугольников) | .crystal — прозрачный серый |
.bluefill — прозрачный синий |
Окружность и эллипс
Окружность или эллипс можно изобразить с помощью команды ellipse
Она принимает в качестве аргументов имя центральной точки и два числа: радиус по и радиус по . Если радиус по не указан, он считается равным радиусу по .
Код графика
chart minx:-1 miny:-1 maxx:7 maxy:7 #O 3 3 ellipse.crystal O 3 ellipse.white.greenfill O 2 2.7
Дуги эллипсов
Можно нарисовать дугу окружности или, в общем случае, эллипса с помощью команды arc
.
Есть две её формы:
1. Задать две точки — концы дуги, а также два радиуса эллипса, дугу которого мы рисуем.
Код графика
chart minx:1 miny:-1 maxx:13 maxy:11 #p_1.s 5 1 #p_2.n 5 9 dots p_1 p_2 arc p_1 p_2 rx:4 ry:4 #p_3.s 8 1 #p_4.n 8 9 arc p_4 p_3 rx:5 ry:5
2. Задать центр, радиусы и максимальный и минимальный угол.
Код графика
chart minx:0 maxx:15 maxy:12 miny:-3 p#O.s 8 4 arc O rx:5 ry:5 min:0 max:1 arc.sector O rx:5 ry:5 min:-3.14 max:-2
Добавив класс .sector
, можно нарисовать линии до центра эллипса.
Текст
Команда text x y "bla bla"
выводит заданный текст в точке с координатами , .
Альтернативный способ вывести текст — создать именованную точку #P x y "bla bla"
.
Если вы хотите записать математическую формулу, текст в кавычках должен быть записан на языке LaTex.
Код графика
chart minx:0 miny:0 maxx:8 maxy:8 grid text 5 5 "\sin x" #P 4 6 "\cos x"
Кривые, в том числе графики гладких функций
Кривая создается с помощью команды spline
. Эта команда проводит гладкую линию между точками, которые задаются в явном виде. У команды spline
следующие аргументы:
- пары "ключ-значение"
min:x1
иmax:x2
, где и — минимальное и максимальное значения (по оси ) области определения графика; - пара "ключ-значение"
step:s
, где — шаг между точками, которые вы задаете в явном виде; чем меньше , тем больше точек надо задать, но тем точнее будет график; - пара "ключ-значение"
points:p1,p2,p3,...,pn
. Количество точек , которые надо задать, определяется по формуле (то есть вам надо задать значения функции на концах отрезка и во всех промежуточных точках). , , и т.д. — значение функции по оси в каждой из этих точек.
Код графика
chart minx:-8 maxx:8 miny:-2 maxy:14 p#O 0 0 #X_1 -7 0 #X_2 7 0 arrow X_1 X_2 #Y_1 0 -1.5 #Y_2 0 13 arrow Y_1 Y_2 spline.green min:-3 max:3 step:1 points:9,4,1,0,1,4,9 spline min:-0.5 max:4 step:0.5 points:2.54,3,2.54,1.58,1.01,1.34,2.28,2.96,2.75,1.85
Поверхность, или штриховка (используется в физике)
Для того чтобы нарисовать линию со штрихами, которая обозначает неподвижную поверхность (землю, стену) в физике, следует сначала использовать команду path
, а затем (с новой строчки) — команду earth
. Аргументами обеих команд должны быть id ранее созданных точек.
Классы .up
(вверх), .down
(вниз), .left
(влево), .right
(вправо) определяют направление штриховки.
Код графика
chart minx:-2 maxx:14 miny:-2 maxy:14 #A.n 0 12 #B.n 5 12 path A B earth A B #C.s 5 9.1 #D.s 10 9.1 path C D earth.up D C #E.e 1 1 #F.e 1 8 path E F earth.left E F #H.sw 4.9 6.9 #I.s 10 3 path I H earth.right I H