- Курс-практикум «Педагогический драйв: от выгорания к горению»
- «Формирование основ финансовой грамотности дошкольников в соответствии с ФГОС ДО»
- «Патриотическое воспитание в детском саду»
- «Федеральная образовательная программа начального общего образования»
- «Труд (технология): специфика предмета в условиях реализации ФГОС НОО»
- «ФАООП УО, ФАОП НОО и ФАОП ООО для обучающихся с ОВЗ: специфика организации образовательного процесса по ФГОС»
Свидетельство о регистрации
СМИ: ЭЛ № ФС 77-58841
от 28.07.2014
- Бесплатное свидетельство – подтверждайте авторство без лишних затрат.
- Доверие профессионалов – нас выбирают тысячи педагогов и экспертов.
- Подходит для аттестации – дополнительные баллы и документальное подтверждение вашей работы.
в СМИ
профессиональную
деятельность
3D построения в Scilab
Реферат на тему
«3D построения в Scilab»
Содержание
Введение3
Среда Scilab4
Построение трехмерных графиков в Scilab6
Функции plot3d и plot3d16
Функции plot3d2 и plot3d311
Заключение14
Список использованных источников15
Введение
В настоящее время среди бесплатных программ, позволяющих проделывать анализ различных математических моделей, наибольшими возможностями обладает программа Scilab. Бесплатность программы Scilab позволяет широко использовать ее в процессе обучения. Одним из важных этапов анализа математических моделей является построение графиков.
Кроме того, Scilab предоставляет широкие возможности по созданию и редактированию различных видов графиков и поверхностей. Несмотря на то, что система Scilab содержит достаточное количество встроенных команд, операторов и функций, отличительная ее черта – это гибкость. Пользователь может создать любую новую команду или функцию, а затем использовать ее наравне со встроенными. К тому же, система имеет достаточно мощный собственный язык программирования высокого уровня, что говорит о возможности решения новых задач.
СредаScilab
После запуска Scilab на экране появиться основное окно приложения. Окно содержит меню, панель инструментов и рабочую область. Признаком того, что система готова к выполнению команды, является наличие знака приглашения-->, после которого расположен активный (мигающий) курсор. Рабочую область со знаком приглашения обычно называют командной строкой. Ввод команд в Scilab осуществляется с клавиатуры. Нажатие клавиши Enter заставляет систему выполнить команду и вывести результат (рис. 1).
Рисунок 1 – Выполнение элементарной команды в Scilab
Понятно, что все выполняемые команды не могут одновременно находиться в поле зрения пользователя. Поэтому, просмотреть ту информацию, которая покинула видимую часть окна, можно, если воспользоваться стандартными средствами просмотра, например, полосами прокрутки или клавишами перемещения курсора Page Up, Page Down.
Клавиши «Стрелка вверх» и «Стрелка вниз» также управляют курсором, однако в Scilab они имеют другое назначение. Эти клавиши позволяют вернуть в командную строку ранее введенные команды или другую входную информацию, так как вся эта информация сохраняется в специальной области памяти. Так, если в пустой активной командной строке нажать клавишу ↑, то появится последняя вводимая команда, повторное нажатие вызовет предпоследнюю и так далее. Клавиша ↓ выводит команды в обратном порядке. Таким образом, можно сказать, что вся информация в рабочей области находится или в зоне просмотра или в зоне редактирования.
Важно знать, что в зоне просмотра нельзя ничего исправить или ввести. Единственная допустимая операция, кроме просмотра, это выделение информации с помощью мыши и копирование ее в буфер обмена, например, для дальнейшего помещения в командную строку.
Зона редактирования – это фактически командная строка. В ней действуют элементарные приемы редактирования: → перемещение курсора вправо на один символ; ← перемещение курсора влево на один символ; Home –перемещение курсора в начало строки; End – перемещение курсора в конец строки; Del – удаление символа после курсора; Backspace – удаление символа перед курсором.
Кроме того, существуют особенности ввода команд. Если команда заканчивается точкой с запятой «;» , то результат ее действия не отображается в командной строке. В противном случае, при отсутствии знака «;», результат действия команды сразу же выводится в рабочую область (рис. 2).
Рисунок 2 – Использование «;» в Scilab
Текущий документ, отражающий работу пользователя с системой Scilab, содержащий строки ввода, вывода и сообщения об ошибках, принято называть сессией. Значения всех переменных, вычисленные в течение текущей сессии, сохраняются в специально зарезервированной области памяти, называемой рабочим пространством системы. При желании определения всех переменных и функций, входящих в текущую сессию можно сохранить в виде файла, саму сессию сохранить нельзя.
Построение трехмерных графиков в Scilab
Процесс построения графика функции вида Z(x, y) можно разделить на три этапа:
1. Создание в области построения графика прямоугольной сетки. Для этого формируются прямые линии, параллельные координатным осям xi и yj.
2. Вычисление значений функции zij = f(xi, yj) во всех узлах сетки.
3. Обращение к функции построения трехмерных графиков.
Функции plot3d и plot3d1
В Scilab поверхность можно построить с помощью функций plot3d или plot3d1. Их отличие состоит в том, что plot3d строит поверхность и заливает ее одним цветом, а plot3d1 – поверхность, каждая ячейка которой имеет цвет, зависящий от значения функции в каждом соответствующем узле сетки.
Обращение к функциям следующее:
plot3d(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]),
plot3d1(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]),
здесь x – вектор-столбец значений абсцисс; y – вектор-столбец значений ординат; z – матрица значений функции;
theta, alpha – действительные числа, которые определяют в градусах сферические координаты угла зрения на график или это угол, под которым наблюдатель видит отображаемую поверхность;
leg – подписи координатных осей графика – символы, отделяемые знаком @. Например, ’X@Y@Z’.
flag – массив, состоящий из трех целочисленных параметров: [mode,type,box].
Здесь mode – устанавливает цвет поверхности. По умолчанию равен 2- цвет заливки синий, прямоугольная сетка выводится.
Значение | Описание |
>0 | поверхность имеет цвет «mode», выводится прямоугольная сетка |
0 | выводится прямоугольная сетка, заливка отсутствует (белый цвет) |
<0 | поверхность имеет цвет «mode», отсутствует прямоугольная сетка |
type – позволяет управлять масштабом графика, по умолчанию имеет значение 2;
Значение | Описание |
0 | применяется способ масштабирования, как у ранее созданного графика |
1 | границы графика указываются вручную с помощью параметра ebox |
2 | границы графика определяют исходные данные |
box – определяет наличие рамки вокруг отображаемого графика. По умолчанию равен 4.
Значение | Описание |
0 и 1 | Нет рамки |
2 | только оси, находящиеся за поверхностью |
3 | выводится рамка и подписи осей |
4 | выводится рамка, оси и их подписи |
ebox – определяет границы области, в которую будет выводиться поверхность, как вектор [xmin, xmax, ymin, ymax, zmin, zmax].
Этот параметр может использоваться только при значении параметра type=1. keyn=valuen – последовательность значений свойств графика key1=value1, key2=value2, ..., keyn=valuen, таких как толщина линии, ее цвет, цвет заливки фона графического окна, наличие маркера и др. (как для двумерного). Таким образом, функции plot3d (plot3d1) в качестве параметров необходимо передать прямоугольную сетку и матрицу значений в узлах сетки.
Задача 1. Построить график функции Z = t^2 · tan(t).
Создадим массив значений аргумента t. Вычислим значения функции и запишем их в массив Z. Обратите внимание, что при обращении к функции plot3d в качестве параметров X и Y, задающих прямоугольную сетку, дважды указан параметр t, поскольку обе функции – зависят от одной переменной – t.
Листинг программы. Построение графика функции Z = t^2 · tan(t) с помощью функции plot3d.
t=[0:0.3:2*%pi]';
z=t^2*tan(t');
plot3d(t,t,z)
Усложним задачу. Построим поверхность, уравнение которой задается двумя независимыми переменными.
Задача 2. Построить график функции Z = 5y2 – x2.
Length – определяет количество элементов массива X(Y).
Листинг программы. Форматирование матрицы значений функции Z = 5y2 − x2 командой length и построение ее графика с помощью функции plot3d1.
x=[-2:0.1:2];
y=[-3:0.1:3];
for i=1:length(x)
for j=1:length(y)
z(i,j)=5*y(j)^2-x(i)^2;
end
end
plot3d1(x,y,z,-125,51);
colorbar(-2,2)
Как видно из примера, использование лишь функции plot3d1 для графического изображения показателей, зависящих от двух независимых переменных, достаточно сложно.
ВScilab существует несколько команд, призванных облегчить процедуру создания прямоугольной сетки – это genfac3d и eval3dp.
Простейшей из них по синтаксису является функция
genfac3d: [xx,yy,zz]=genfac3d(x,y,z)
Здесьxx,yy,zz – результирующая матрица размером (4,n − 1 × m − 1), где xx(:,i),yy(:,i) и zz(:,i) – координаты каждой из ячеек прямоугольной сетки;
x – вектор x-координат размера m;
y – вектор y-координат размера n;
z – матрица размера (m,n) значений функции Z(xi,yj).
Недостатком команды genfac3d является то, что она все-таки не упрощает работу с функцией plot3d, если поверхность задается функцией от двух переменных.
В таком случае необходимо использовать команду eval3dp:
[Xf,Yf,Zf]=eval3dp(fun,p1,p2)
Xf,Yf,Zf – результирующая матрица размером (4,n−1×m−1), где xx(:,i),yy(:,i) и zz(:,i) – координаты каждой из ячеек прямоугольной сетки; fun – функция, определенная пользователем, которая задает трехмерный график; p1 – вектор размера m;p2 – вектор размера n.
Задача 3. Построить график, заданный следующими уравнениями:
x = p1 · sin(p1) · cos(p2),
y = p1 · cos(p1) · cos(p2),
z = p1 · sin(p2).
Определим массивы значений параметров p1 и p2. Далее создадим функцию scp, которая задает график.
Функции в Scilab создаются при помощи команды deff:
deff([s1,s2,...]=newfunction(e1,e2,...)’
гдеs1,s2,... – список выходных параметров, т.е. переменных, которым будет присвоен конечный результат вычислений;
newfunction – имя создаваемой функции, оно будет использоваться для ее вызова;
e1,e2,... – входные параметры.
Листинг программы. Создание прямоугольной сетки графика командой eval3dp и построение ее графика с помощью функцииplot3d
p1=linspace(0,2*%pi,10);
p2=linspace(0,2*%pi,10);
deff("[x,y,z]=scp(p1,p2)",["x=p1.*sin(p1).*cos(p2)";..
"y=p1.*cos(p1).*cos(p2)";..
"z=p1.*sin(p2)"])
[Xf,Yf,Zf]=eval3dp(scp,p1,p2);
plot3d(Xf,Yf,Zf);
colorbar(-2,2)
Теперь сформируем прямоугольную сеть при помощи команды eval3dp и построим график, обратившись к функцииplot3d.
Для формирования прямоугольной сетки используется функция meshgrid. Обращение к ней имеет вид:
[X, Y [Z]] = meshgrid(x, y [z])
здесь (x, y [z]) – массивы 2 (3) исходных параметров X, Y (Z), указываемые через запятую;
[X, Y [Z]] - матрицы в случае 2 и массивы в случае 3 входных величин.
После формирования сетки вывести в нее график можно с помощью функции surf либо mesh. Так же, как и в случае с функциями plot3d и plot3d1, surf строит поверхность, заливая каждую ячейку цветом, который зависит от конкретного значения функции в узле сетки, а mesh заливает ее одним цветом.
Таким образом, mesh является полным аналогом функции surf со значением параметров Сolor mode=индекс белого цвета в текущей палитре цветов и Сolor flag=0.
Обращение к функциям имеет вид: surf([X,Y],Z,[color,keyn=valuen]) mesh([X,Y],Z,[color,]) здесь X,Y – массивы, задающие прямоугольную сетку; Z – матрица значений функции;
color – матрица действительных чисел, устанавливающих цвет для каждого узла сети;
keyn=valuen – последовательность значений свойств графика key1=value1, key2=value2, ..., keyn=valuen, определяющих его внешний вид.
Функции plot3d2 и plot3d3
Функции plot3d2 и plot3d3 являются аналогами функции plot3d, поэтому имеют такой же синтаксис:
plot3d2(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]),
plot3d3(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen])
Эти функции предназначены для построения поверхности, которая задается набором граней. Т. е. если функция plot3d по входным данным сможет построить лишь отдельно стоящие друг от друга плоские грани, то plot3d2 (plot3d3) проинтерпретирует взаимное расположение этих граней в виде цельного геометрического тела.
Отличие функций plot3d2 и plot3d3 сходно с различием действия функций plot3d и plot3d1, а также surf и mesh. Plot3d2 строит поверхность, при этом выводит сетку и заливает все ячейки одним из цветов, по умолчанию – синим. Plot3d также выводит сетку, однако оставляет все ячейки без заливки (т. е. белыми).
Задача 4. Построить сферу при помощи функции plot3d2.
При построении графиков поверхностей, заданных параметрически – x(u, v), y(u, v) и z(u, v) – необходимо сформировать матрицы X, Y и Z одинакового размера. Для этого массивы u и v должны иметь одинаковый размер.
После этого следует выделить два основных вида представления x, y и z в случае параметрического задания поверхностей:
1. Если x, y и z можно представить в виде f(u) · g(v), то соответствующие им матрицы X, Y и Z следует формировать в виде матричного умножения f(u) на g(v).
2. Если x, y и z можно представит в виде f(u) или g(v), то в этом случае матрицы X, Y и Z следует записывать в виде f(u) · ones(size(v)) или g(v) · ones(size(u)) соответственно.
Здесь linspace – функция, возвращающая массив с линейным приращением значений в заданном диапазоне.
Например, u=linspace(-%pi/2,%pi/2,40) значит, что параметр u линейно изменяется в диапазоне [−2π; 2π]. Число 40 устанавливает, что массив должен содержать ровно 40 значений, по умолчанию их 100.
Листинг программы. Построение сферы с помощью функции plot3d2
u = linspace(-%pi/2,%pi/2,40);
v = linspace(0,2*%pi,20);
X = cos(u) '*cos(v);
Y = cos(u) '*sin(v);
Z = sin(u) '*ones(v);
plot3d2(X,Y,Z);
e=gce();
e.color_mode=3;
Задача 5. Нарисовать 3D гистограмму c помощью команды hist3d.
Листингпрограммы.
hist3d(10*rand(10,10))
e=gce();
e.color_mode=7;
Заключение
Scilab – один из самых интересных свободных математических программ.
Данный пакет хорошо подходит для математических вычислений. По своим возможностям пакет Scilab сопоставим с известным математическим пакетом Mathcad, а по своему интерфейсу похож на пакет MATLAB. Однако при этом пакет Scilab – свободно распространяемая программа, а значит бесплатная для конечного пользователя. Он очень удобен и легко доступен для всех пользователей.
Список использованных источников
1.Акчурин, Э. А. Программирование в системе Scilab [Электронный ресурс]. – Режим доступа : http://www.twirpx.com/file/901949.
2.Алексеев, Е. Р. Scilab: Решение инженерных и математических задач / Е. Р. Алексеев, Е. А. Чеснокова, Е. А. Рудченко [Электронный ресурс]. – Режим доступа :http://docplayer.ru/25879659-Scilab-reshenie-inzhenernyh-i-matematicheskih-zadach-e-r-alekseev-o-v-chesnokova-e-a-rudchenko.html.
3.Алексеев, Е. Р., Чеснокова, О.В. Scilab теория и практика. – Донецк. – 2007. – 159с.
4. Бакусов, Л. М. Решение задач оптимизации средствами Scilab и Excel / Л. М. Бакусов, О. В. Кондратьева. – Уфа, 2011. – 33 с.
5. Тропин, И. С. Численные и технические расчеты в среде Scilab / И. С. Тропин, О. И. Михайлов, А. В. Михайлов. Учебное пособие. – Москва: 2008. – 65 с.
Адрес публикации: https://www.prodlenka.org/metodicheskie-razrabotki/296398-3d-postroenija-v-scilab
БЕСПЛАТНО!
Для скачивания материалов с сайта необходимо авторизоваться на сайте (войти под своим логином и паролем)
Если Вы не регистрировались ранее, Вы можете зарегистрироваться.
После авторизации/регистрации на сайте Вы сможете скачивать необходимый в работе материал.
- «Умственная отсталость и задержка психического развития (ЗПР)»
- «Особенности разработки и реализации основных программ профессионального обучения»
- «Организация воспитательно-образовательного процесса в дошкольном учреждении в условиях реализации ФГОС»
- «Социально-коммуникативное развитие детей дошкольного возраста в условиях реализации ФГОС ДО»
- «Особенности деятельности музыкального руководителя ДОУ в условиях реализации ФГОС ДО»
- «Особенности организации социально-педагогической деятельности в образовательном учреждении»
- Теория и методика обучения и воспитания
- Основы дефектологии. Содержание и методы работы с обучающимися с ОВЗ
- Профессиональная деятельность методиста дошкольной образовательной организации
- Педагогика и методика преподавания физики и астрономии
- Теория и методика преподавания истории в общеобразовательной организации
- Теория и методика преподавания физики и астрономии в образовательной организации

Чтобы оставлять комментарии, вам необходимо авторизоваться на сайте. Если у вас еще нет учетной записи на нашем сайте, предлагаем зарегистрироваться. Это займет не более 5 минут.