график::Направленный удаленный свет (“солнечный свет”)
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
plot::DistantLight([px, py, pz], [tx, ty, tz], <intensity>, <a = amin .. amax>, options)
plot::DistantLight([px, py, pz], [tx, ty, tz], intensity) создает удаленный источник света, излучающий параллельный свет, сияющий в направление [tx - px, ty - py, tz - pz]
Каждая 3D сцена освещается несколькими источниками света, которые устанавливает автоматически и не может управлять пользователь. Cf. страница справки Lighting.
Если специальные световые эффекты желаемы, пользователь может создать альтернативные источники света различных типов, такие как plot::AmbientLight, plot::DistantLight, plot::PointLight и plot::SpotLight.
Если по крайней мере один определяемый пользователем источник света вставляется в сцену (например, путем простой передачи световых объектов как входных параметров к команде plot), автоматические световые сигналы выключены, и определяемые пользователем световые сигналы используются, чтобы осветить сцену.
Векторный [px, py, pz] не представляет положение удаленного света на пробеле. Источник света бесконечно далеко.
При использовании [tx, ty, tz] = [0, 0, 0] можно думать о [px, py, pz] как о направлении, где источник света расположен.
При использовании [px, py, pz] = [0, 0, 0] можно думать о [tx, ty, tz] как о направлении, в которое сияет свет.
По умолчанию белый свет создается. Другие цвета могут быть выбраны атрибутом LightColor.
При использовании атрибута CameraCoordinates = TRUE, источник света фиксируется к камере. Это перемещается автоматически, когда камера перемещена.
Направленный свет, такой как plot::DistantLight создает эффекты затенения, которые добавляют глубину в изображение. Обычно, определенное количество неориентированного рассеянного света типа plot::AmbientLight улучшает изображение.
| Атрибут | Цель | Значение по умолчанию |
|---|---|---|
CameraCoordinates | положение источников света относительно камеры? | FALSE |
Frames | количество кадров в анимации | 50 |
LightColor | цвет света | RGB::White |
LightIntensity | интенсивность света | 1.0 |
Name | имя объекта графика (для браузера и легенды) | |
ParameterEnd | закончите значение параметра анимации | |
ParameterName | имя параметра анимации | |
ParameterBegin | начальное значение параметра анимации | |
ParameterRange | область значений параметра анимации | |
Position | положения камер, световых сигналов и текстовых объектов | |
PositionX | x-положения камер, световых сигналов и текстовых объектов | |
PositionY | y-положения камер, световых сигналов и текстовых объектов | |
PositionZ | z-положения камер, световых сигналов и текстовых объектов | |
Target | целевая точка света | |
TargetX | целевая точка света, x компонент | |
TargetY | целевая точка света, y компонент | |
TargetZ | целевая точка света, z компонент | |
TimeEnd | время окончания анимации | 10.0 |
TimeBegin | время начала анимации | 0.0 |
TimeRange | оперативный промежуток анимации | 0.0 .. 10.0 |
Visible | видимость | TRUE |
Мы создаем белую сферу и используем один направленный белый свет, чтобы осветить его:
f := plot::Surface(
[cos(u)*sin(v), sin(u)*sin(v), cos(v)],
u = 0..2*PI, v = 0..PI,
FillColorType = Flat,
FillColorFunction = RGB::White,
Scaling = Constrained):
sunlight1 := plot::DistantLight([1, -2, 3], [0, 0, 0], 1/2):
plot(f, sunlight1):
Мы создаем другой удаленный источник света, сияющий из другого направления желтого цвета и с анимированной интенсивностью:
sunlight2 := plot::DistantLight([-2, 1, 3], [0, 0, 0], a,
LightColor = RGB::Yellow,
a = 0..1):
plot(f, sunlight2)
Мы используем оба световых сигналов одновременно:
plot(f, sunlight1, sunlight2)

delete f, sunlight1, sunlight2:
|
Координаты “положения” солнца: численные значения или арифметические выражения параметра анимации
|
|
Координаты точки свет сияют к: численные значения или арифметические выражения параметра анимации
|
|
Интенсивность света: численное значение между 0 и 1 или арифметическое выражение параметра анимации
|
|
Параметр анимации, заданный как |