Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

2.1.1215 Part 4 Section 4.6.79, tav (Time Animate Value)

a. The standard states that the fmla attribute of the tav element specifies the formula to be used during animation.

The fmla attribute allows for the specification of a formula to be used for describing a complex motion for an animated object. The formula manipulates the motion of the object by modifying a property of the object over a specified period of time. Each formula has zero or more inputs specified by the ($) symbol, zero or more variables specified by the (#) symbol pre-pended to the variable name and a target variable which is specified by the previously specified attrName element. The formula may contain one or more of any of the constants, operators or functions in the following lists. In addition to this, the formula may also contain floating point numbers and parentheses.

Mathematical operations have the following order of precedence, listed from lowest to highest. Operators listed on the same line have equal precedence.

“+”, “-“

“*”, “/”, “%”

“^”

Unary minus, Unary plus (for example -2, meaning 3*-2 is the same as 3*(-2))

Variables, Constants (including numbers) and Functions (as listed previously)

Language Description:

Alpha = 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' ;

Digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' ;

Char = '.' | '_' | Alpha | Digit ;

number = Digit , { Digit } ;

exponent = ( 'e' | 'E' ) , [ '-' ] , number ;

value = number , [ '.' number ] , [ exponent ] ;

variable = '$' | attribute ;

attribute = '#' , attrName ;

attrName = Alpha , { Char } ;

constant = value | 'pi' | 'e' ;

ident = 'abs' | 'acos' | 'asin' | 'atan' | 'ceil' | 'cos' | 'cosh' | 'deg' | 'exp' | 'floor' | 'ln' | 'max' | 'min' | 'rad' | 'rand' | 'sin' | 'sinh' | 'sqrt' | 'tan' | 'tanh' ;

function = ident , '(' , formula [ ',' , formula ] , ')' ;

formula = term , { ( '+' | '-' ) , term } ;

term = power , { ( '*' | '/' | '%' ) , power } ;

power = unary , { '^' , unary} ;

unary = [ '+' | '-' ] , factor ;

factor = variable | constant | function | parens ;

parens = '(' , formula , ')' ;

Any additional characters in the formula string that are not contained within the set described shall be considered invalid.

Variables:

The symbol ‘$’ represents the formula input that is the progress of the current behavior.

The allowed attribute names are:

ppt_x, ppt_y, ppt_w, ppt_h, ppt_r, r, ScaleX, ScaleY, stype.rotation, style.opacity, style.visibility, style.fontSize, style.fontWeight, style.fontStyle, style.fontFamily, style.textEffectEmboss, style.textShadow, style.textTransform, style.textDecorationUnderline, style.textEffectOutline, style.textDecorationLineThrough, style.sRotation, imageData.cropTop, imageData.cropBottom, imageData.cropLeft, imageData.cropRight, imageData.gain, imageData.blackleve, imageData.gamma, imageData.grayscale, fill.on, fill.type, fill.opacity, fill.method, fill.opacity2, fill.angle, fill.focus, fill.focusposition.x, fill.focusposition.y, fill.focussize.x, fill.focussize.y, stroke.on, stroke.weight, stroke.opacity, stroke.linestyle, stroke.dashstyle, stroke.filltype, stroke.imagesize.x, stroke.imagesize.y, stroke.startArrow, stroke.endArrow, stroke.startArrowWidth, stroke.startArrowLength, stroke.endArrowWidth, stroke.endArrowLength, shadow.on, shadow.type, shadow.opacity, shadow.offset.x, shadow.offset.y, shadow.offset2.x, shadow.offset2.y, shadow.origin.x, shadow.origin.y, shadow.matrix.xtox, shadow.matrix.ytox, shadow.matrix.xtox, shadow.matrix.ytoy, shadow.matrix.perspectiveX, shadow.matrix.perspectiveY, skew.on, skew.offset.x, skew.offset.y, skew.origin.x, skew.origin.y, skew.matrix.xtox, skew.matrix.ytox, skew.matrix.xtox, skew.matrix.ytoy, skew.matrix.perspectiveX, skew.matrix.perspectiveY, extrusion.on, extrusion.type, extrusion.render, extrusion.viewpointorigin.x, extrusion.viewpointorigin.y, extrusion.viewpoint.x, extrusion.viewpoint.y, extrusion.viewpoint.z, extrusion.plane, extrusion.skewangle, extrusion.skewamt, extrusion.backdepth, extrusion.foredepth, extrusion.orientation.x, extrusion.orientation.y, extrusion.orientation.z, extrusion.orientationangle, extrusion.rotationangle.x, extrusion.rotationangle.y, extrusion.lockrotationcenter, extrusion.autorotationcenter, extrusion.rotationcenter.x, extrusion.rotationcenter.y, extrusion.rotationcenter.z, extrusion.colormode.

Constants:

Name

Description

pi

Mathematical constant pi

e

Mathematical constant e

Operators:

Name

Description

Usage

+

Addition

“x+y”, adds x to the value y

-

Subtraction

“x-y”, subtracts y from the value x

*

Multiplication

“x*y”, multiplies x by the value y

/

Division

“x/y”, divides x by the value y

%

Modulus

“x%y”, the remainder of x/y

^

Power

“x^y”, x raised to the power y

Functions:

Name

Description

Usage

abs

Absolute value

“abs(x)”, absolute value of x

acos

Arc Cosine

“acos(x)”, arc cosine of the value x

asin

Arc Sine

“asin(x)”, arc sine of the value x

atan

Arc Tangent

“atan(x)”, arc tangent of the value x

ceil

Ceil value

“ceil(x)”, value of x rounded up

cos

Cosine

“cos(x)”, cosine of the value of x

cosh

Hyperbolic Cosine

“cosh(x)", hyperbolic cosine of the value x

deg

Radiant to Degree convert

“deg(x)”, the degree value of radiant value x

exp

Exponent

“exp(x)”, value of constant e raised to the power of x

floor

Floor value

“floor(x)”, value of x rounded down

ln

Natural logarithm

“ln(x)”, natural logarithm of x

max

Maximum of two values

“max(x,y)”, returns x if (x > y) or returns y if (y > x)

min

Minimum of two values

“min(x,y)", returns x if (x < y) or returns y if (y < x)

rad

Degree to Radiant convert

“rad(x)”, the radiant value of degree value x

rand

Random value

“rand(x)”, returns a random floating point value between 0 and x

sin

Sine

“sin(x)”, sine of the value x

sinh

Hyperbolic Sine

"sinh(x)”, hyperbolic sine of the value x

sqrt

Square root

“sqrt(x)”, square root of the value x

tan

Tangent

“tan(x)”, tangent of the value x

tanh

Hyperbolic Tangent

“tanh(x)", hyperbolic tangent of the value x

[Example: Consider the following animation path:

<p:animcalcmode="lin" valueType="num">
  <p:cBhvr>
    <p:cTn id="9" dur="664" tmFilter="0.0,0.0; 0.25,0.07;         0.50,0.2; 0.75,0.467; 1.0,1.0">
      <p:stCondLst>
        <p:cond delay="0"/>
      </p:stCondLst>
    </p:cTn>
    <p:tgtEl>
      <p:spTgtspid="4"/>
    </p:tgtEl>
    <p:attrNameLst>
      <p:attrName>ppt_y</p:attrName>
    </p:attrNameLst>
  </p:cBhvr>
  <p:tavLst>
    <p:tav tm=”0” fmla=”#ppt_y-sin(pi*$)/3">
      <p:val>
        <p:fltValval="0.5"/>
      </p:val>
    </p:tav>
    <p:tav tm="100000">
      <p:val>
        <p:fltValval="1"/>
      </p:val>
    </p:tav>
  </p:tavLst>
</p:anim>

The preceding animation example modifies the ppt_y variable of the object by subtracting sin(pi*$)/3 from the non-animated value of ppt_y. The start value will be 0.5 and the end value will be 1 specified in each of the val elements. The total time for this animation is specified within the dur attribute and the filtered time graph is specified by the tmFilter attribute. The end result is that the object moves from a point above its non-animated position back to its non-animated position. With the specification of the tmFilter it will have a modified time graph such that it will also appear to accelerate as it reaches its final position.

[Note: For this example, the non-animated value of ppt_y will be the value of this variable if the object were to be statically rendered on the slide without animation properties. end note]

end example]

This note applies to the following products: 2007, 2007 SP1, 2007 SP2.

b. The standard states that the tm attribute is optional.

PowerPoint requires the tm attribute.

This note applies to the following products: 2007, 2007 SP1.

Show:
© 2015 Microsoft