Поворот цилиндра

Форум пользователей пакета Maple

Модератор: Admin

Abraziv
Сообщения: 12
Зарегистрирован: Вт окт 27, 2015 1:07 pm

Поворот цилиндра

Сообщение Abraziv » Вт мар 21, 2017 3:18 pm

Доброго времени суток. Имеется цилиндр описываемый образующей:

Код: Выделить всё

f := x^2+y^2-1;


Поверхность выводится с помощью:

Код: Выделить всё

plots[implicitplot3d]({f}, x = -1 .. 1, y = -1 .. 1, z = 0 .. 10);



Как можно изменить код, чтобы применить матрицу поворота для поворота цилиндра ?

Kitonum
Сообщения: 2050
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Re: Поворот цилиндра

Сообщение Kitonum » Вт мар 21, 2017 11:15 pm

Чтобы применить матрицу поворота для поворота некоторого графического объекта в R^3 используйте команду plottools:-transform как в примере:

P:=plots[implicitplot3d](x^2+y^2=1, x = -1 .. 1, y = -1 .. 1, z = 0 .. 5, style=surface, scaling=constrained, axes=normal, numpoints=10000); # Цилиндр
A:=1/3*<1,-2,-2; 2,2,-1; 2,-1,2>; # Ортогональная матрица
f:=plottools:-transform((x,y,z)->convert(A.<x,y,z>,list)): # Отображение поворота с помощью A
plots:-display(f(P), scaling=constrained, axes=normal); # Повёрнутый цилиндр

Abraziv
Сообщения: 12
Зарегистрирован: Вт окт 27, 2015 1:07 pm

Re: Поворот цилиндра

Сообщение Abraziv » Ср мар 22, 2017 2:02 am

Спасибо огромное. Вы гений!!!