график::

Направленный удаленный свет (“солнечный свет”)

Блокноты 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положения камер, световых сигналов и текстовых объектов 
PositionXx-положения камер, световых сигналов и текстовых объектов 
PositionYy-положения камер, световых сигналов и текстовых объектов 
PositionZz-положения камер, световых сигналов и текстовых объектов 
Targetцелевая точка света 
TargetXцелевая точка света, x компонент 
TargetYцелевая точка света, y компонент 
TargetZцелевая точка света, z компонент 
TimeEndвремя окончания анимации10.0
TimeBeginвремя начала анимации0.0
TimeRangeоперативный промежуток анимации0.0 .. 10.0
VisibleвидимостьTRUE

Примеры

Пример 1

Мы создаем белую сферу и используем один направленный белый свет, чтобы осветить его:

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:

Параметры

px, py, pz

Координаты “положения” солнца: численные значения или арифметические выражения параметра анимации a.

px, py, pz эквивалентен атрибутам PositionX, PositionY, PositionZ.

tx, ty, tz

Координаты точки свет сияют к: численные значения или арифметические выражения параметра анимации a.

tx, ty, tz эквивалентен атрибутам TargetX, TargetY, TargetZ.

intensity

Интенсивность света: численное значение между 0 и 1 или арифметическое выражение параметра анимации a.

intensity эквивалентен атрибуту LightIntensity.

a

Параметр анимации, заданный как a = amin..amax, где amin является начальным значением параметров и amax, является итоговым значением параметров.

Смотрите также

Функции MuPAD

MuPAD графические примитивы