VisibleAfter
, VisibleBefore
, VisibleFromTo
Объект, видимый во временной стоимости
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
VisibleAfter , VisibleBefore , VisibleFromTo | Обертка библиотеки для “TimeEnd , TimeBegin , VisibleAfterEnd и VisibleBeforeBegin ” | Неотрицательное вещественное число |
VisibleAfter = t0
представляет объектную невидимую операцию, пока оперативный t0
не протек в анимации. Затем объект становится видимым.
VisibleBefore = t1
представляет объект, видимый до времени t1
. Затем объект становится невидимым.
VisibleFrom = t_0 .. t_1
представляет объектную невидимую операцию до времени t0
. Затем объект становится видимым. После времени t1
это становится невидимым снова.
VisibleAfter
, VisibleBefore
, VisibleFromTo
позволяет реализовывать анимированную видимость объектов. Это также включает в противном случае статические объекты, которые становятся анимированными объектами, когда один из этих атрибутов используется.
Атрибуты VisibleBeforeBegin
и VisibleAfterEnd
управляют видимостью объектов вне области значений времени их анимации, установленной TimeBegin
и TimeEnd
. Смотрите TimeBegin
, TimeEnd
для деталей.
VisibleAfter
, VisibleBefore
, VisibleFromTo
обеспечивает короткие пути для подходящих настроек атрибутов TimeBegin
, VisibleBeforeBegin
, TimeEnd
, VisibleAfterEnd
, которые производят желаемые эффекты видимости.
VisibleAfter
= t0
является коротким путем для установки следующих значений атрибута:
TimeBegin
= t0
, VisibleBeforeBegin
= FALSE
,
TimeEnd
= t0
, VisibleAfterEnd
= TRUE
.
Получившийся эффект состоит в том, что соответствующий объект невидим в начале анимации. Это становится видимым в то время t0
, оставаясь видимым до конца анимации.
Время t0
должно быть действительным численным значением, дающим реальное время в секундах.
VisibleBefore
= t1
является коротким путем для установки следующих значений атрибута:
TimeBegin
= t1
, VisibleBeforeBegin
= TRUE
,
TimeEnd
= t1
, VisibleAfterEnd
= FALSE
.
Получившийся эффект состоит в том, что соответствующий объект видим в начале анимации. В то время t1
это становится невидимым, оставаясь невидимым до конца анимации.
Время t1
должно быть действительным численным значением, дающим реальное время в секундах.
VisibleFromTo
= t_0 .. t_1
является коротким путем для установки следующих значений атрибута:
TimeBegin
= t0
, VisibleBeforeBegin
= FALSE
,
TimeEnd
= t1
, VisibleAfterEnd
= FALSE
.
Получившийся эффект состоит в том, что соответствующий объект видим только со времени t0
до времени t1
.
Атрибуты VisibleAfter = t0
и VisibleBefore = t1
не должны быть объединены, чтобы создать видимость для области значений времени между t0
и t1
. (Конфликтные значения установлены неявно для VisibleBeforeBegin
и т.д.), Используют VisibleFromTo = t_0 .. t_1
вместо этого.
VisibleAfter
, VisibleBefore
, VisibleFromTo
не должен быть объединен ни с одним из атрибуты TimeBegin
, TimeEnd
, VisibleBeforeBegin
или VisibleAfterEnd
, поскольку неявные значения для этих атрибутов установлены.
Следующая анимация состоит из 100 частей графика функционального x sin (x). Во времена t = 0.1, 0.2 и т.д., дополнительная часть функции становится видимым до, наконец, целый график создается:
plot(plot::Function2d(x*sin(x), x = (i - 1)*PI/100 .. i*PI/100, VisibleAfter = i/10) $ i = 1..100)
Этот пример создает анимированного “сетевого паука”. Это состоит из нескольких строк, которые появляются один за другим во времена, данные VisibleAfter
, пока полная сеть не видима в конце анимации:
SpiderNet := proc(move, move1, rc, gc, bc) local r, lines, x, y, x1, y1; begin r := 1.0: lines := [FAIL $ 361]: for i from 0 to 360 do thet := float(i*PI/180); x := r * cos(move * thet); y := r * sin(move * thet); x1 := r * cos(move1 * thet); y1 := r * sin(move1 * thet); lines[i+1] := plot::Line2d([x, y] ,[x1, y1], Color = [abs(rc*sin(i*PI/360)), abs(gc*sin(i*PI/360 + PI/4)), abs(bc*sin(i*PI/360 + PI/2))], VisibleAfter = i/36 ); end_for: plot::Group2d(op(lines), Name = "SpiderNet", Axes = None, Scaling = Constrained) end_proc:
plot(SpiderNet(3, 7, 0.9, 0.1, 0.5))
delete SpiderNet:
Этот пример создает анимированного “Маурера, повысился”. Здесь запуски анимации с полным объектом. Во время анимации строки исчезают во времена, данные VisibleBefore
:
MaurerRose := proc(n, b, rc, gc, bc) local lines, i, thet, r, x, y, x1, y1; begin r := 1.0; lines := [FAIL $ 361]: b := float(b*PI/180); for i from 0 to 360 do thet := float(i*PI/180); x := r * sin(n*thet) * cos(thet); y := r * sin(n*thet) * sin(thet); x1 := r * sin(n*(thet+b))* cos(thet+b); y1 := r * sin(n*(thet+b))* sin(thet+b); lines[i+1] := plot::Line2d([x, y], [x1, y1], Color = [abs(rc*sin(i*PI/360)), abs(gc*sin(i*PI/360 + PI/4)), abs(bc*sin(i*PI/360 + PI/2))], VisibleBefore = i/36 ); end_for: plot::Group2d(op(lines), Name = "MaurerRose", Axes = None, Scaling = Constrained): end_proc:
plot(MaurerRose(4, 120, 0.1, 0.5, 0.9)):
delete MaurerRose:
Этот пример создает анимированный “сетевой Lissajous”. Это создается от строк, которые имеют продолжительность жизни только 2 секунд каждый, установленный VisibleFromTo
:
LissajousNet := proc(r, a, b, R, A, B, rc, gc, bc) local lines, i, thet; begin lines := [FAIL $ 361]: for i from 0 to 360 do thet := float(i*PI/180); x := r * cos(a*thet); y := r * sin(b*thet); x1 := R * cos(A*thet); y1 := R * sin(B*thet); lines[i+1] := plot::Line2d([x, y], [x1, y1], Color = [abs(rc*sin(i*PI/360)), abs(gc*sin(i*PI/360 + PI/4)), abs(bc*sin(i*PI/360 + PI/2))], VisibleFromTo = i/36 .. i/36 + 2 ); end_for: plot::Group2d(op(lines), Name = "LissajousNet", Axes = None, Scaling = Constrained): end_proc:
plot(LissajousNet(2, 3, 4, 1, 6, 3, 0.7, 0.1, 0.99))
delete LissajousNet:
Вот 3D пример анимации. “Паук, сетевой”, создается со строками, которые имеют продолжительность жизни 4 секунд каждый:
SpiderNet3d := proc(a, b, c, rc, gc, bc) local r, lines, i, x, x1, y, y1, thet, z1, z; begin r := 1.0: lines := [FAIL $ 361]: for i from 0 to 360 do thet := float(i*PI/180); x := r * cos(thet)*cos(thet); y := r * sin(thet)*cos(thet); z := r * sin(thet): x1 := r * cos(a*thet)*cos(a*thet); y1 := r * sin(b*thet)*cos(b*thet); z1 := r * sin(c*thet): lines[i+1] := plot::Line3d([x,y,z],[x1,y1,z1], Color = [abs(rc*sin(i*PI/360)), abs(gc*sin(i*PI/360 + PI/4)), abs(bc*sin(i*PI/360 + PI/2))], VisibleFromTo = i/36 .. i/36 + 4 ); end_for: plot::Group3d(op(lines), Name = "SpiderNet3d"): end_proc:
plot(SpiderNet3d(2, 1, 3, 0.99, 0.9, 0.1))
Последние примеры на этой странице взяты из mathPAD Онлайн-издания (http://www.mupad.com/mathpad/recreations.html
), записанный профессором Миреком Майевским. Смотрите там для получения дополнительной информации о математике позади примеров выше.