Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.0.0 - Русский


Графические объекты

описание структур данных графических объектов

Описание

В Scilab'е графическое окно и рисование его содержимого представлены иерархическими объектами. Верхний уровень иерархии - это Figure ("Окно"). Каждое окно Figure определяет по меньшей мере одного потомка типа Axes ("оси"). Каждый объект осей Axes содержит набор листовых объектов, которые являются основными графическими объектами такими, как Polylines ("ломанные линии"), Rectangles ("прямоугольники"), Arcs ("дуги"), Segs ("сегменты"),... Он может также содержать составной тип Compound, который является рекурсивным набором объектов. Главный интерес графического режима заключается в том, чтобы сделать обмен свойствами проще. Этот графический режим обеспечивает набор графических функций высокого уровня (см. set, get), используемых для управления свойствами объектов, такими, как данные, координаты и масштабирование, цвет и вид без необходимости повторять команды инициализации графики.

Графические объекты связаны с переменными Scilab'а типа handle ("дескриптор"). Дескриптор - это уникальный идентификатор, который связан с каждым образцом созданного графического объекта. Используя этот дескриптор, можно добраться до свойств объекта через функции set и get. Дескрипторы также используются для манипулирования графическими объектами, чтобы двигать, копировать или удалять их.

Командное окно, кореневой объект, мышь:

По своим меню командное окно может рассматриваться как специальное графическое окно. К своим меню и некоторым графическим метанастройкам можно обращаться через их указатели, которые возращаются c=get(0). См. подробности в Свойства командного окна.

Корневой объект является виртуальным графическим объектом, используемым для получения свойств экрана компьютера. Его указатель тот же, что у командного окна: r=get(0), но к свойствам экрана можно обращаться только в режиме чтения. См. подробности в Свойства корневого объекта.

В Windows, можно получить некоторые дополнительные параметры экрана, окна и мыши через функцию getsystemmetrics.

Figure:

Объект графического окна Figure - это верхний уровень иерархии графических объектов. Этот объект определяет параметры собственно графического окна, а также значения по умолчанию параметров при создании потомков. Потомки графического окна являются объектами осей Axes.

Дескриптор текущего графического окна (графического окна, используемого для построения графиков) может быть получен с помощью get("current_figure") и он может быть установлен с помощью set("current_figure",h), где h - это или дескриптор графического окна, или figure_id. В последнем случае, если графическое окно ещё не существует, то оно будет создано.

См. подробности в свойствах графического окна.

Axes:

Объект осей The Axes - это второй уровень иерархии графических объектов. Этот объект определяет параметры для изменения координат и рисования осей, а также значений по умолчанию параметров для создания его потомков. См. подробности в свойствах осей. Дескриптор текущих осей Axes может быть получен с помощью get("current_axes").

Compound:

Составной объект Compound - это просто вектор потомков и с единственным свойством (свойство видимости). Он используется для склеивания набора объектов вместе.

См. функции glue, unglue и свойства составного объекта Compound .

Axis:

Объект оси Axis - это лист иерархии графических объектов. Этот объект определяет параметры для масштабирования и вида осей.

См. подробности в свойствах оси.

Polyline:

Объект ломаной линии Polyline - это лист иерархии графических объектов. Он определяет двумерные и трёхмерные ломаные линии и свойства рисования продолжения ломаных линий.

См. подробности в свойствах ломаных линий.

Arc:

Объект дуги Arc - это лист иерархии графических объектов. Этот объект определяет параметры эллипсов и части эллипсов.

См. подробности в свойствах дуги.

Rectangle:

Объект прямоугольника Rectangle - это лист иерархии графических объектов. Этот объект определяет параметры прямоугольников и залитых прямоугольников.

См. подробности в свойствах прямоугольника.

Surface:

Объект поверхности Surface - это лист иерархии графических объектов. У него есть подтипы Fac3d или Plot3d. Этот объект определяет параметры для графиков трёхмерной поверхности.

См. подробности в свойствах поверхности.

Fec:

Объект Fec - это лист иерархии графических объектов. Он представляет двумерные графики конечных элементов.

См. подробности в свойствах fec.

Grayplot:

Объект палитры серого Grayplot - это лист иерархии графических объектов. Он представляет двумерные графики поверхности с помощью цветов и изображений.

См. подробности в палитре серого.

Matplot:

Объект Matplot - это лист иерархии графических объектов. Он представляет двумерные графики с помощью матриц с целочисленными элементами.

См. подробности в свойствах Matplot'а.

Segs:

Объект сегментов Segs - это лист иерархии графических объектов. Этот объект определяет параметры для набора раскрашенных сегментов или раскрашенных стрелок.

См. подробности в свойствах сегментов.

Champ:

Объект фона Champ - это лист иерархии графических объектов. Этот объект определяет параметры двумерного векторного поля.

См. подробности в свойствах фона.

Text:

Объект текста Text - это лист иерархии графических объектов. Этот объект определяет параметры для рисования строк.

См. подробности в свойствах текста.

Label:

Объект подписи Label - это потомок графического объекта осей Axes. Этот объект определяет параметры подписей к осям x, y и z, а также названия, нарисованного в графическом окне.

См. подробности в свойствах объекта подписи Label.

Legend:

Объект легенды Legend - это лист иерархии графических объектов. Этот объект определяет параметры легенды, рисуемой ниже графиков plot2dx. Этот объект требует дальнейшей разработки.

См. подробности в свойствах объекта легенды Legend.

Другие объекты
Интерактивные компоненты (uicontrol)

Scilab позволяет создавать графические интерактивные компоененты такие как ползунки, числовые поля, изменяемые кнопкой мыши, редактируемые таблицы, редактируемые текстовые поля в графических элементах, флажки, группы кнопок, выпадающие списки, выпадающие меню кнопки и др. Эти объекты являются прямыми потомками фигуры, в которой они определены. Их свойства могут быть установлены и настроены через их указатели как и для других графических объектов. Пожалуйста, см. подробности в uicontrol properties.

Меню пользовательского интерфейса

uimenu() позволяет добавлять и управлять некоторыми меню на панели меню любого графического окна. uimenu() возвращает указатель через который можно обращаться к содержимому и свойствам созданного меню. Пожалуйста, см. подробности в uimenus properties.

Примеры

// Проиграйте этот пример строчку за строчкой
// создать графическое окно в объектном режиме
// получить дескриптор объекта Figure и распечатать его свойства
f = scf()
a = f.children // дескриптор потомка - осей Axes
x = (1:10)';  plot2d(x,[x.^2 x.^1.5])
e = a.children //Составной объект Compound двух ломаных линий

p1 = e.children(1) // свойства последней нарисованной ломаной линии
p1.foreground = 5; // изменение цвета ломаной линии
e.children.thickness = 5; // изменение толщины двух ломаных линий

delete(e.children(2))

move(e.children,[0,30]) //перевод ломаной линии

a.axes_bounds=[0 0 0.5 0.5];

subplot(222) //создать новый объект осей Axes
plot(1:10);
a1 = f.children(1);  // получить его дескриптор
copy(e.children,a1); // скопировать объект ломаной линии первого графика в новый объект осей Axes
a1.data_bounds = [1 0;10 100]; //изменить пределы осей Axes

scf(10); //создать новое графическое окно с figure_id=10
plot3d() // график посылается в графическое окно 10
scf(f);  // создать предыдущее графическое окно текущим
plot2d(x,x^3)  // график посылается в первоначальное графическое окно

Смотрите также

  • set — set properties of some graphic objects or uimenus or uicontrol interactive components
  • get — Gets the handle of a graphical or User Interface object, or the property's value of objects.
  • move — move, translate, a graphic entity and its children.
  • delete — delete a graphic entity and its children.
  • ged — Scilab Graphic Editor
  • редактор объектов — Interactive edition of hierarchical properties of graphic objects
  • plot — 2D plot
  • surf — 3D surface plot
  • getsystemmetrics — Retrieves the specified system metric or system configuration setting (Windows only)
  • setlookandfeel — sets the current default look and feel.
Report an issue
<< Графики: введение Графики graphical editor >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Mar 07 09:28:50 CET 2023