VisibleBeforeBegin, VisibleAfterEnd

Объект, видимый прежде или после его времени анимации, запускается?

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Сводные данные значения

VisibleAfterEnd, VisibleBeforeBeginНаследованныйFALSE, или TRUE

Описание

VisibleBeforeBegin, VisibleAfterEnd определите видимость объекта перед начинанием и после конца его собственного отрезка времени анимации, соответственно.

Анимации заданы объект объектом. Каждый анимированный объект анимирован для определенного отрезка времени, заданного TimeBegin и TimeEnd установка действительного запуска и время окончания в секундах.

Общий оперативный промежуток анимированного графика является физическим реальным временем, данным минимумом TimeBegin значения всех анимированных объектов в графике к максимуму TimeEnd значения всех анимированных объектов.

Таким образом отрезок времени анимированного графика может быть больше, чем отрезки времени анимаций отдельных объектов.

С VisibleBeforeBegin = TRUE, объект отображается как статический объект, когда анимация целого графика запускается. Его состояние correponds к запуску его собственной анимации. Это начинает изменяться, когда время начала его собственной анимации, установленной TimeBegin достигнут.

С VisibleBeforeBegin = FALSE, объект невидим, когда анимация целого графика запускается. Это становится видимым, когда время начала его собственной анимации достигнуто.

С VisibleAfterEnd = TRUE, объект остается видимым в конечном состоянии его анимации после конца его собственного отрезка времени анимации, установленного TimeEnd.

С VisibleAfterEnd = FALSE, объект становится невидимым в конце своей собственной анимации.

VisibleBeforeBegin, VisibleAfterEnd полезно только в графиках, состоящих из нескольких анимированных объектов с различными отрезками времени их анимаций.

Также считайте атрибуты VisibleAfter, VisibleBefore, и VisibleFromTo анимировать видимость объектов.

Примеры

Пример 1

За первые 5 секунд следующей анимации синусоидальная функция чертит себя. Впоследствии, точка блуждает вдоль графика:

f := plot::Function2d(sin(x), x = -PI..a, a = -PI..PI, 
                      TimeRange = 0..5):
p := plot::Point2d(a, sin(a), PointSize = 5*unit::mm, 
                   a = -PI..PI, TimeRange = 5..10):
plot(f, p)

Точка отображается в течение первых 5 секунд также, потому что она использовала настройку по умолчанию VisibleBeforeBegin = TRUE. С VisibleBeforeBegin = FALSE, точка невидима в начале анимации. Появляется после 5 секунд, когда его собственная анимация начинается:

p::VisibleBeforeBegin := FALSE:
plot(f, p)

delete p, f:

Пример 2

plot::Polar объект в следующей анимации только отображается в ее TimeRange от 3-го до 7-й секунды:

Speaker := 
     plot::Polygon2d([[0.5, -1], [0.5, 1], [0, 0.3], 
                     [-0.5, 0.3], [-0.5, -0.3], [0, -0.3], 
                     [0.5, -1]], Color = RGB::Black, Filled):
Point := plot::Point2d([2, a], a = -2.5..2.5, 
                       PointSize = 3*unit::mm):
plot(plot::Polar([1 + 0.1*(2 + sin(20*a))*cos(20*phi), phi],
                 phi = -1..1, a = 0..3, TimeRange = 3..7,
                 VisibleBeforeBegin = FALSE,
                 VisibleAfterEnd = FALSE),
     Speaker, Point, Axes = None)

Предыдущая команда эквивалентна:

plot(plot::Polar([1 + 0.1*(2 + sin(20*a))*cos(20*phi), phi],
                 phi = -1..1, a = 0..3, VisibleFromTo = 3..7),
     Speaker, Point, Axes = None)

delete Speaker, Point:

Пример 3

circle падает вокруг в 3D. После 3 секунд растущая сфера становится видимой. С 5-й секунды до конца анимации сфера остается видимой с постоянным радиусом 5, в то время как круг перемещается далее:

plot(plot::Circle3d(4, [sin(a), cos(a), a], 
                    [sin(a), cos(a), a], a = 0..10, 
                    Frames = 100, TimeRange = 0..10,
                    Filled = TRUE, FillColor = RGB::Blue),
     plot::Sphere(a, [0, 0, 0], Color=RGB::Red,
                  a = 3..5, TimeRange = 3 .. 5, Frames = 20,
                  VisibleBeforeBegin = FALSE)):