Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 семестр ИКТ / лаба №8

.docx
Скачиваний:
0
Добавлен:
21.02.2024
Размер:
2.13 Mб
Скачать

Отчет по лабораторной работе №8

Упражнение 8.1.

С помощью функции rotate изобразить на одном графике прямую и ее образы после поворотов относительно начала координат на углы 450 и –900 с шагом 50.

t=-1:.1:1;

hold on,grid on,axis equal

h=plot(t, 2*t);

for i=1:1:45

h=plot(t, 2*t);

rotate(h,[0 0 1],i),pause(.1)

M(i)=getframe;

end

movie(M,2,60)

t=-1:.1:1;

hold on,grid on,axis equal

h=plot(t, 2*t);

for i=1:1:90

h=plot(t, 2*t);

rotate(h,[0 0 -1],i),pause(.1)

M(i)=getframe;

end

movie(M,2,60)

Упражнение 8.2.

Построить эллипсоид вращением эллипса вокруг оси Ох. Напишите уравнение данной поверхности.

grid on, hold on, axis equal,view(15,51)

t=-pi:.01*pi:pi;

h=[3*cos(t);2*sin(t)];

L=plot(h(1,:),h(2,:),'Linewidth',2);

xlabel('x'),ylabel('y'),zlabel('z')

for i=1:6:360

L=plot(h(1,:),h(2,:),'r');

rotate(L,[1 0 0],i),pause(0.05)

end

title(‘x^2/9+y^2/4+z^2/4=1’)

Упражнение 8.3.

Построить гиперболический параболоид. Изобразить его сечение плоскостью x = Const. Параметры задайте самостоятельно.

a=3;b=4;

[X,Y]=meshgrid(-a:0.1:a,-b:0.1:b);

Z=(X.^2/a^2-Y.^2/b^2);

mesh(X,Y,Z);

xlabel('x'), ylabel('y'),zlabel('z')

hold on

[X,Y]=meshgrid(0,-b:0.1:b);

Z=(-Y.^2/b^2);

plot3(X,Y,Z,'black')

xlabel('x'),ylabel('y'),zlabel('z')

title('x^2/9-y^2/16-z=0')

Упражнение 8.4.

Постройте сферу, используя ее параметрическое уравнение:

R=4;

u=(-pi/2:0.01*pi:pi/2)';

phi=0:pi/100:2*pi;

X=R*cos(u)*cos(phi);

Y=R*cos(u)*sin(phi);

Z=R*sin(u)*ones(size(phi));

mesh(X,Y,Z);

axis equal;

xlabel('x');ylabel('y');zlabel('z')

Упражнение 8.5.

Используя встроенные функции, постройте следующие поверхности с произвольными параметрами (радиус, высота, полуоси, количество граней):

  1. Сферу; 2. Эллипсоид; 3. Цилиндр; 4. Конус; 5. Пирамиду.

>> [X,Y,Z]=sphere(20)

>> surf(X,Y,Z)

[x,y,z]=ellipsoid(0,0,0,3,4,5,20)

surf(x,y,z)

xlabel('x'),ylabel('y'),zlabel('z')

>> [x,y,z]=cylinder([3 3],20);

>> surf(x,y,z)

>> xlabel('x'),ylabel('y'),zlabel('z')

>> hold on

>> [x,y,z]=cylinder([0 4],200);

>> surf(x,y,z)

>> xlabel('x'),ylabel('y'),zlabel('z')

>> surf(-x,-y,-z)

>> [x,y,z]=cylinder([0,3],4);

>> surf(x,y,z)

>> hold on

>> surf(-x,-y,-z)

Упражнение 8.6.

Изобразить 1) параболический цилиндр и 2) двуполостный гиперболоид. Параметры фигур и размер области отображения выберите самостоятельно.

[X,Y,Z] = meshgrid(-1:0.05:1,-1:0.05:1,-1:0.05:1);

a=8;b=9;

V = X.^2/a^2 - Y.*2;

p=patch(isosurface(X,Y,Z,V,1));

set(p,'FaceColor','red','EdgeColor','none');

view(3);

grid on

camlight

xlabel('x'),ylabel('y'),zlabel('z')

[X,Y,Z] = meshgrid(-1:0.05:1,-1:0.05:1,-1:0.05:1);

a=8;b=9;c=4;

V = X.^2/a^2 + Y.^2/b^2 - Z.^2/c^2+1;

p=patch(isosurface(X,Y,Z,V,1));

set(p,'FaceColor','red','EdgeColor','none');

view(3);

grid on

camlight

Соседние файлы в папке 1 семестр ИКТ