Кривая
является фигурой свободной формы, которая рисуется так же, как и ломаная
- путем рисования набора вершин, которые последовательно
соединяются в порядке их добавления на диаграмму. Разница заключается в
том, что вершины кривой соединяются не отрезками прямых линий, а
кривыми сегментами, которые образуют периодический сплайн. На
расположенном ниже рисунке показаны ломаная и кривая, образованные
одним и тем же набором вершин:
Имя – Имя фигуры. Имя используется для идентификации и обращения к фигуре из кода.
Исключить – Если опция выбрана, то фигура будет исключена из модели.
Отображается на верхнем агенте – Если опция выбрана, то фигура будет видна на презентации типа агента, в который будет вложен данный агент.
Значок – Если опция выбрана, то фигура будет считаться частью значка типа агента.
Блокировать – Если опция выбрана, то фигура будет считаться заблокированной и не будет реагировать на щелчки мыши. Таким образом, вы не сможете выбрать заблокированную фигуру в графическом редакторе до тех пор, пока вы не снимете с нее блокировку. Обычно это требуется, когда у вас есть какой-то фоновый рисунок, используемый как подложка для анимации, и вы хотите исключить возможность случайного редактирования этого фонового рисунка при рисовании фигур поверх него.
Видимость – Если опция выбрана, то фигура будет отображаться на презентации во время выполнения модели.
Замкнутая – Если опция выбрана, то кривая будет замкнутой, то есть ее начальная и конечная точки будут соединены дополнительным отрезком.
Цвет заливки - Задает цвет заливки фигуры. Кривая закрашивается следующим образом: рисуется линия, соединяющая начальную и конечную точки кривой (если кривая уже не была сделана замкнутой), и закрашивается область внутри образовавшейся фигуры. Щелкните мышью внутри элемента управления и выберите нужный цвет из списка наиболее часто используемых цветов или же выберите любой другой цвет с помощью диалога Цвета. Если вы не хотите, чтобы фигура была закрашена, выберите Нет заливки. В противном случае вы можете указать здесь выражение, задающее цвет заливки фигуры. Оно должно возвращать экземпляр Java-класса Color. Если выражение возвращает null, заливка не производится.
Цвет линии - Задает цвет линии. Щелкните мышью внутри элемента управления и выберите нужный цвет из списка наиболее часто используемых цветов или же выберите любой другой цвет с помощью диалога Цвета. Если вы не хотите, чтобы линия была видна, выберите Нет линии. Вы можете указать здесь выражение, которое будет динамически вычисляться во время выполнения модели. Оно должно возвращать экземпляр Java-класса Color. Вы можете использовать цветовые константы Java. Если указанное вами выражение возвращает null, линия не видна.
Толщина линии - Задает толщину кривой. Выберите нужную вам толщину из выпадающего списка или же введите ее значение в пикселах в поле справа. Вы можете указать динамически вычисляющееся выражение, которое должно возвращать целочисленное значение.
Стиль линии - Задает стиль линии. Выберите из выпадающего списка, хотите ли вы, чтобы линия была сплошная, точечная или пунктирная. Если вы указываете здесь выражение, оно должно возвращать целочисленное значение, одну из трех констант:
LINE_STYLE_SOLID - сплошная линия.
LINE_STYLE_DOTTED - точечная линия.
LINE_STYLE_DASHED - пунктирная линия.
Уровень – Уровень, на котором находится этот элемент.
X – x-координата начальной точки кривой.
Y – y-координата начальной точки кривой.
Поворот, рад. – Угол поворота фигуры в плоскости XY.
Масштаб по оси X – Здесь вы можете указать выражение, возвращающее коэффициент масштабирования фигуры по оси X.*
Масштаб по оси Y – Здесь вы можете указать выражение, возвращающее коэффициент масштабирования фигуры по оси Y.*
* Указав выражения для Масштаба по оси X и Масштаба по оси Y, вы сможете определять масштаб фигуры динамически во время выполнения модели.
Количество точек – Здесь вы можете указать выражение, возвращающее количество точек кривой.
dX[indexPt] – Смещение точки кривой с номером indexPt по оси X относительно начальной точки. Номер текущей точки доступен как indexPt. Нумерация начинается с нуля.
dY[indexPt] – Смещение точки кривой с номером indexPt по оси Y относительно начальной точки. Номер текущей точки доступен как indexPt. Нумерация начинается с нуля.
Отображать в – Если выбрано В 2D и в 3D или Только в 3D, то будет создан трехмерный аналог двумерной фигуры. Тогда в режиме запуска модели двумерная фигура будет отображаться там же, где она и была нарисована в графическом редакторе, а трехмерная будет видна в специальном элементе, предназначенном для просмотра трехмерной анимации - 3D окне.
Количество – Здесь указывается, какое количество экземпляров данной фигуры будет создано (целочисленное значение). Если вы оставите это поле пустым, будет создана только одна такая фигура.
Действие по щелчку – Код, который будет выполняться при каждом щелчке пользователя мышью по фигуре во время выполнения модели. Если в точке щелчка несколько фигур наслаиваются друг на друга, действие должно быть задано для той фигуры, которая находится на самом верху.
Точки задаются – Здесь вы можете решить, как будут задаваться контрольные точки кривой – автоматически или вручную. Задание контрольных точек вручную означает включение режима "редактирование границ кривой с помощью направляющих". Это широко распространенный и удобный способ редактирования кривых, позволяющий пользователю создать кривую любой формы и сложности.
Отображать имя – Если опция выбрана, то имя фигуры будет отображаться в графическом редакторе.
Вы можете редактировать кривую путем изменения количества и местоположения ее вершин.
AnyLogic поддерживает редактирование кривых с помощью направляющих и маркеров. С помощью этих элементов вам будет проще придать кривой требуемую вами форму.
Чтобы включить режим редактирования кривой с помощью направляющих
Давайте продемонстрируем, как изменять форму кривой с помощью направляющих. Мы будем иллюстрировать результаты операций редактирования на примере следующей кривой:
Перейдите в режим редактирования кривой с помощью направляющих.
Чтобы перейти в режим редактирования кривой с помощью направляющих
С помощью маркеров вы можете изменять длину и ориентацию в пространстве направляющей линии.
Меняя расположение направляющей (то есть, поворачивая ее по кругу в ту или иную сторону), вы меняете форму участков кривой, примыкающих к соответствующей вершине.
Чтобы изменить форму прилегающего к вершине сегмента кривой
От длины направляющей линии зависит то, насколько близко будет прилегать данный сегмент кривой к направляющей, иными словами - выгнутость кривой в данной точке.
Чтобы изменить степень выгнутости кривой у вершины
Вы можете заметить, что описанные нами выше операции изменяют внешний вид обоих участков кривой, прилегающих к вершине с обоих сторон.
Если же вы хотите изменить форму только одного участка кривой, вам нужно сделать так, чтобы ваши изменения производились не симметрично сразу с двумя маркерами направляющей, а только с одним из них.
Чтобы изменить местоположение только одного маркера направляющей
Чтобы показать направляющую для вершины
Функция |
Описание |
double getX() double getY() |
Возвращает X (Y, Z) координату фигуры, а именно, начальной точки кривой. |
void setX(double x) void setY(double y) |
Возвращает
X (Y, Z) координату фигуры, а именно, начальной точки кривой. Эта
функция не только меняет координаты начальной точки кривой, но и
перемещает кривую в новое местоположение. |
void setPos(double x, double y) |
Задает новые координаты фигуры, а именно, начальной точки кривой. Z-координата остается без изменений. Эта функция не только меняет координаты начальной точки кривой, но и перемещает кривую в новое местоположение.
Параметры: |
Функция |
Описание |
int getNPoints() |
Возвращает количество точек кривой. |
void setNPoints(int n) |
Задает количество точек фигуры. Ничего не произойдет, если новое количество точек равно текущему количеству. Если же значения различаются, то в новой фигуре будут сохранены координаты максимально возможного количества точек.
Параметры: |
double getPointDx(int i) double getPointDy(int i) |
Возвращает координату X (Y) определенной точки фигуры относительно ее начальной точки.
Параметры: |
void setPoint(int i, double ptdx, double ptdy) |
Задает координаты определенной точки фигуры относительно ее начальной точки. Z-координата остается без изменений.
Параметры: |
void setPointDx(int i, double ptdx) void setPointDy(int i, double ptdy) |
Задает координату X (Y) определенной точки фигуры относительно ее начальной точки.
Параметры: |
boolean isClosed() |
Возвращает true, если кривая замкнута, иначе - false. |
void setClosed |
Задает замкнутость кривой. |
Функция |
Описание |
double getScaleX() double getScaleY() |
Возвращает масштаб фигуры по оси координат X (Y). |
void setScaleX(double sx) void setScaleY(double sy) |
Задает масштаб фигуры по оси координат X (Y). * если параметр равен 1, то фигура сохраняет изначальный размер |
void setScale(double sx, double sy) |
Устанавливает масштаб фигуры по осям координат X и Y. * если параметр равен 1, то фигура сохраняет изначальный размер |
void setScale(double s) |
Устанавливает масштаб фигуры по осям координат X и Y.
Параметр: * если параметр равен 1, то фигура сохраняет изначальный размер |
Функция |
Описание |
double getRotation() |
Возвращает угол поворота фигуры в радианах, по часовой стрелке. |
void setRotation(double r) |
Задает новый угол поворота фигуры.
Параметр: |
Функция |
Описание |
boolean isVisible() |
Проверяет видимость фигуры. Если фигура видна, то возвращает true; если нет, то false. |
void setVisible(boolean v) |
Задает видимость фигуры.
Параметр: |
Функция |
Описание |
boolean isManualControlPoints() |
Возвращает true, если контрольные точки этой кривой задаются вручную (указываются в массивах dx и dy) |
void setManualControlPoints(boolean manualControlPoints) |
Задает режим задания контрольных точек: вручную или автоматически. |
Функция |
Описание |
Color getColor() |
Возвращает цвет кривой, или null, если у кривой нет цвета, либо кривая текстурная (в таком случае используйте функцию getTexture()). |
Texture getTexture() |
Возвращает текстуру кривой, если кривая залита текстурой. |
void setColor(Color color) |
Задает цвет линии кривой.
Параметры: |
void setColor |
Задает цвет (или текстуру) кривой.
Параметры: |
double getLineWidth() |
Возвращает ширину линии кривой. |
void setLineWidth |
Задает ширину линии, 0 означает самую тонкую линию кривой. |
int getLineStyle() |
Возвращает стиль кривой, одну из трех констант:
|
void setLineStyle(int style) |
Задает стиль кривой, одну из трех констант:
Параметры: |