- •Оглавление
- •Задание на лабораторную работу
- •Задание 1. Нахождение точек пересечения двух кривых
- •Задание 2. Нахождение точки экстремума функции
- •Задание 3. Найти координаты оснований перпендикуляров
- •Задание 4. Основание перпендикуляра, опущенного из точки на окружность
- •Задание 5. Изобразить точки, касательная которых имеет угол наклона
- •Задание 6. Написать программу, которая строит график сферы или пирамиды по выбору пользователя
- •Задание 7. Написать программу, которая строит график прозрачного куба или конуса по выбору пользователя
- •Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
- •Приложение е
- •Приложение ж
- •Приложение и
- •Приложение к
Приложение е
Листинг задания 6
functionfunc6()
s=input('Введите тип фигуры [сфера/пирамида]: ')
if strcmp(s,'сфера')
R0=input('Радиус: ')
[X,Y,Z] = sphere(30)
surf(R0*X,R0*Y,R0*Z)
axis equal
alpha 0
grid on
title('Задание 6: Графикпрозрачнойсферы')
else if strcmp(s,'пирамида')
x0=input('Высота: ')
y0=input('Длина ребра: ')
x(1)=y0/2
x(2)=-y0/2
x(3)=-y0/2
x(4)=y0/2
y(1)=y0/2
y(2)=y0/2
y(3)=-y0/2
y(4)=-y0/2
z(1:5)=0
xc=0
yc=0
zc=x0
for i=1:4
XX(i,1)=x(i)
XX(i,2)=xc
YY(i,1)=y(i)
YY(i,2)=yc
ZZ(i,1)=z(i)
ZZ(i,2)=zc
end
XX(5,1)=x(1)
XX(5,2)=xc
YY(5,1)=y(1)
YY(5,2)=yc
ZZ(5,1)=z(1)
ZZ(5,2)=zc
surf(XX,YY,ZZ)
alpha 0
gridon
title('Задание 6: График прозрачной квадратной пирамиды')
else
input ('Ошибка!')
end
end
Приложение ж
Листинг задания 7
functionfunc7()
f_type = input('Введитетипфигуры - [куб/конус]: ')
if strcmp(f_type,'куб')
r = input('Длина ребра: ')
Z = [0 0 0 0 0 rr 0 rr 0 rr 0 rr]
Y = [0 rr 0 0 0 rrrrrr 0 0 0 0]
X = [0 0 r r 0 0 0 0 0 r rrrrr 0]
plot3(X,Y,Z,'k'), grid on
alpha 0
axis equal
grid on
title('Задание 7: Графикпрозрачногокуба')
else if strcmp(f_type,'конус')
h = input('Высота: ')
r = input('Радиус: ');
[x,y,z]=cylinder([r 0],30)
surf(x,y,h*z)
alpha 0
axis equal
grid on
title('Задание 7: Графикпрозрачногоконуса')
else
input ('Ошибка!')
end
end
Приложение и
Листинг задания 8
BW = imread('bw.bmp');
color = input('Введите цвет - [красный/зеленый/синий]: ')
if strcmp(color, 'красный')
imshow(BW,[1 0 0; 1 1 1])
else
if strcmp(color,'зеленый')
imshow(BW,[0 1 0; 1 1 1])
else
if strcmp(color,'синий')
imshow(BW,[0 0 1; 1 1 1])
else
input ('ошибка')
end
end
end
Приложение к
Листинг задания 9
BW = imread('bw.bmp');
L1 = ~BW
angle = 0
color = input('Введите угол поворота - [0/90/180/270]: ')
switch color
case '90'
angle = 90
case '180'
angle = 180
case '270'
angle = 270
otherwise
angle = 0
end
L1=imrotate(L1, angle, 'bicubic');
figure,imshow(L1)
