Position
, PositionX
, PositionY
, PositionZ
Положения камер, световых сигналов и текстовых объектов
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Объекты | Значения по умолчанию |
---|---|
plot::Camera , plot::DistantLight , plot::PointLight , plot::SpotLight , plot::Text2d , plot::Text3d | |
plot::Point2d |
|
plot::Plane , plot::Point3d , plot::Reflect3d |
|
Position
определяет положения камер, световых сигналов и текстовых объектов.
PositionX
и т.д. относится к одному координатным значениям положения.
Атрибут Position
относится к местоположению камеры, снимающей 3D сцены. Это - значение, список или вектор координат.
Также положение источников света, освещающих 3D сцену, установлено Position
.
Далее, Position
определяет координаты, куда текстовые объекты должны быть помещены.
Эти атрибуты могут быть анимированы. При анимации положения камеры можно понять рейс через 3D сцену.
По умолчанию положение световых сигналов дано в образцовых координатах, которые не имеют никакого отношения к камере, которая используется, чтобы просмотреть сцену.
Атрибут CameraCoordinates
также позволяет располагать свет относительно камеры. В частности, свет перемещается автоматически, когда камера перемещена.
Мы задаем 3D сцену, состоящую из функции, удаленного света и камеры. Свет сияет от направления камеры:
f := plot::Function3d(sin(x^2 - y^2), x = -2..2, y = -2..2, Color = RGB::White): light := plot::DistantLight([3, 4, 5], [0, 0, 0], 0.75, Color = RGB::Yellow): camera := plot::Camera([3, 4, 5], [0, 0, 0], 0.25*PI): plot(f, light, camera)
Мы анимируем положение камеры, но сохраняем легкое положение зафиксированным:
camera::Position := [3*sqrt(2)*cos(a + PI/4), 4*sqrt(2)*sin(a + PI/4), 5*(0.7 + 0.3*cos(2*a))]: camera::ParameterName := a: camera::ParameterRange := 0..2*PI: plot(f, light, camera)
Используя те же объекты, мы фиксируем камеру и анимируем легкое положение:
camera::Position := [3, 4, 5]: camera::Frames := 1: light::Position := [3*sqrt(2)*cos(a + PI/4), 4*sqrt(2)*sin(a + PI/4), 5]: light::ParameterName := a: light::ParameterRange := 0..2*PI: plot(f, light, camera)
delete f, light, camera: