rotate

Вращайте геометрию

Описание

пример

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.

Создайте сетку и постройте график mesh.

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.

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

figure
pdegplot(g)
hold on
pdemesh(model)

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

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

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]);

Перегенерируйте mesh.

generateMesh(model);

Постройте график получившейся геометрии и mesh.

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 изменяет геометрию, но не изменяет mesh. После изменения геометрии перегенерируйте mesh, чтобы гарантировать соответствие сетки новой геометрии.

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

Введенный в R2020a