exponenta event banner

сменить друг друга

Повернуть геометрию

Описание

пример

rotate(g,theta) поворачивает геометрию g вокруг оси Z на угол theta, в градусах. Поворот следует правилу правой руки: положительный угол theta поворачивается против часовой стрелки, при этом визирование вдоль оси Z в направлении начала координат.

rotate(g,theta,refpoint) использует ось вращения, заданную опорной точкой refpoint. Ось вращения - это линия в направлении Z, проходящая через опорную точку.

пример

rotate(g,theta,refpoint1,refpoint2) использует ось вращения, заданную двумя опорными точками. Этот синтаксис допустим только для 3-D геометрии.

h = rotate(g,___) возвращает дескриптор h в результирующий геометрический объект g. Используйте этот синтаксис с любыми входными аргументами из предыдущих синтаксисов.

Если исходной геометрией является DiscreteGeometry объект, затем функция изменяет исходную геометрию и возвращает маркер перемещения h в измененный DiscreteGeometry геометрический объект. Если исходной геометрией является AnalyticGeometry объект, затем h является дескриптором для нового DiscreteGeometry геометрический объект. В этом случае исходная геометрия остается неизменной.

Примеры

свернуть все

Поворот геометрии с заданием и без указания опорной точки для оси вращения.

Создание модели.

model = createpde;

Импорт и печать геометрии.

g = importGeometry(model,'PlateHolePlanar.stl');
pdegplot(g)

Figure contains an axes. The axes contains an object of type line.

Выполните сетку геометрии и постройте график сетки.

generateMesh(model);

figure
pdemesh(model)

Figure contains an axes. The axes contains 2 objects of type line.

Поверните геометрию вокруг оси Z по умолчанию на 45 градусов. Постройте график результата.

rotate(g,45);

figure
pdegplot(g)

Figure contains an axes. The axes contains an object of type line.

Постройте график геометрии и сетки. rotate функция изменяет геометрию, но не изменяет сетку.

figure
pdegplot(g)
hold on
pdemesh(model)

Figure contains an axes. The axes contains 3 objects of type line.

После изменения геометрии всегда регенерируйте сеть.

generateMesh(model);

figure
pdegplot(g)
hold on
pdemesh(model)

Figure contains an axes. The axes contains 3 objects of type line.

Восстановите исходное положение геометрии.

rotate(g,-45);

Поверните геометрию на тот же угол, но на этот раз используйте центр геометрии в качестве опорной точки. Ось вращения - это линия в направлении Z, проходящая через опорную точку.

rotate(g,45,[5 10]);

Выполните регенерацию сетки.

generateMesh(model);

Постройте график результирующей геометрии и сетки.

figure
subplot(1,2,1)
pdegplot(model)
axis([-6 16 -1 21])
subplot(1,2,2)
pdemesh(model)
axis([-6 16 -1 21])

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains 2 objects of type line.

Поворот геометрии с заданием опорных точек для оси вращения и без него.

Создание и печать геометрии.

g = multicuboid(1,5,1);
pdegplot(g)

Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

Поверните 3-D геометрию вокруг оси Z по умолчанию на 45 градусов. Постройте график результата.

rotate(g,45);
pdegplot(g)

Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

Восстановите исходное положение геометрии.

rotate(g,-45);
pdegplot(g)

Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

Поверните геометрию на тот же угол, но на этот раз вокруг оси Y.

rotate(g,45,[0 0 0],[0 1 0]);
pdegplot(g)

Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

Входные аргументы

свернуть все

Геометрия, заданная как DiscreteGeometry или AnalyticGeometry объект.

Пример: g = model.Geometry

Угол поворота в градусах, заданный как вещественное число.

Пример: rotate(g,90)

Опорная точка для оси вращения, заданная как вектор из двух или трех вещественных чисел. Ось вращения - это линия в направлении Z, проходящая через опорную точку.

Пример: rotate(g,45,[1 1.5])

Опорные точки, определяющие ось вращения для 3-D геометрии, заданной как вектор из трех вещественных чисел.

Пример: rotate(g,45,[0 0 0],[1 1 1])

Выходные аргументы

свернуть все

Результирующая геометрия, возвращенная как маркер перемещения. Если исходная геометрия g является DiscreteGeometry объект, затем h является дескриптором измененного DiscreteGeometry геометрический объект g. Если g является AnalyticGeometry объект, затем h является дескриптором для нового DiscreteGeometry геометрический объект. В этом случае исходная геометрия g остается неизменным.

Совет

  • rotate изменяет геометрию, но не изменяет сетку. После изменения геометрии выполните регенерацию сетки, чтобы обеспечить правильную связь сетки с новой геометрией.

  • Если g является AnalyticGeometry и вы хотите заменить его результирующей дискретной геометрией, назначьте вывод исходной геометрии, например, g = rotate(g,90).

Представлен в R2020a