Возможна ли разработка приложения на Octave с GUI? |
Построение графиков
4.3 Анимация
При изучении движения точки на плоскости Octave позволит построить график движения и проследить за движением. Построить анимационный ролик можно с помощью функции , которая позволит увидеть движение точки вдоль кривой
на плоскости.
Для движения точки на плоскости вдоль синусоиды достаточно ввести команды:
x=0: pi/30:6*pi; y=sin(x); comet(x, y);
Процесс движения точки вдоль синусоиды представлен на рис. 4.32, окончательный вид траектории движения точки вдоль синусоиды показан на рис. 4.33.
4.4 Графические объекты
Встроенный язык Octave — объектно-ориентированный язык программирования. Все объекты находятся в определённой иерархии по отношению друг к другу. Рассмотрим основные графические объекты для работы с графикой и общие принципы работы с объектами на примере построения графика функции на интервале
. Построим график функции
:
t=-3*pi:pi/100:3*pi; x=sin(t); plot(t, x);
Окно с графиком синуса на интервале представлено на рис. 4.34. В результате работы функции
были созданы три графических объекта:
- графическое окно Figure 1;
- линия графика
;
- оси.
При работе с переменными, в которых хранятся объекты, пользователь оперирует ими как обычными переменными. Однако реально это указатели — адреса в памяти, в которых хранятся объекты; в Octave в качестве указателя используется номер объекта.
Для получения указателей на объекты в языке Octave есть три функции:
-
возвращает указатель на текущее графическое окно3Синтаксис Octave допускает обращение и без скобок (gcf — верно);
-
возвращает указатель на текущие оси;
-
возвращает указатель на текущий графический объект.
4.4.1 Свойства графических объектов
Для установки свойств объектов служит функция set
Здесь — указатель на объект, свойства которого будут устанавливаться (изменяться);
— имена свойств, которые будут изменяться;
— новые значения свойств.
В простейшем виде функция имеет вид:
Для получения свойства объекта служит функция
; Функция возвращает значения
объекта с указателем
. Если к функции
обратиться с одним параметром
, то функция вернёт значения всех свойств объекта в виде
.
4.4.2 Работа с графическим окном
Как уже рассматривалось ранее, для создания графического окна служит функция , которая создаёт пустое графическое окно (см. рис. 4.35) и возвращает указатель на него.
Например:
>>> g=figure() g = 12
Если есть несколько окон, то окно с указателем выдвигается на передний план и становится текущим.
Как при создании графиков с определёнными свойствами с помощью функции , при создании графических окон, осей и других объектов можно сразу определять некоторые свойства создаваемых объектов. Обращение к функции создания окна с определёнными свойствами имеет вид
; Для удаления (закрытия) окна с указателем
служит функция
. Доступ к имени окна осуществляется с помощью свойства
, хранящее строку, которая будет дописана к имени окна после стандартного имени окна Figure 1, Figure 2, ...; Например,
h=figure(); set(h,’name’,’New Window’)
В результате появится окно, представленное на рис. 4.36. Если свойству присвоить значение
, то это позволит отказаться от текущей нумерации окон Figure 1, Figure 2, ... (см. листинг ниже и рис. 4.37).
h=figure( ); set(h, ’numbertitle’, ’off’) set(h, ’name’, ’New Window’)Листинг .
Как и у многих рассматриваемых графических объектов, у окна есть свойство , определяющее расположение объекта.
— массив из четырёх элементов
определяют координаты левого нижнего угла экрана, относительно левого нижнего угла монитора;
— ширина;
— высота графического окна в пикселях.
Создадим окно с именем шириной и высотой 400 пикселей, с левым нижним углом с координатами (75, 90):
h=figure(’position’, [75 90 400 400]) set(h, ’numbertitle’, ’off’) set(h, ’name’, ’New Window’)
Для создания осей в текущем окне служит функция , которая возвращает указатель на созданные оси.