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

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

Введенный в R2020a