Eqn Attribute | Internet Development Index |
Defines the equation used by a formula. Read/write String.
Applies To
Tag Syntax
<v: element eqn="expression">
Script Syntax
element.eqn="expression"
expression=element.eqn
Remarks
Equations are defined by the evaluation of a text expression that has the general form of an operation followed by up to three arguments. Each argument may be of the following types:
- adjustment (for example, #2)
- another formula (for example, @2)
- fixed numbers (for example, 2)
- predefined values
The table below defines the formulas that can be used with the optional arguments given the names v , p1, and p2. The formula pattern is:
<f eqn="operation [v] [p1] [p2]"/>
Operation |
Params |
Exact | Result | Description |
val | 1 | yes | v | Defines a guide value from some other value. |
sum | 3 | yes | v + p1 - p2 | Used for addition and subtraction. |
product | 3 | rounds | v * p1 / p2 | Used for multiplication and division. |
mid | 2 | (c) | (v + p1) / 2 | Average. |
abs | 1 | yes | abs(v) | Absolute value. |
min | 2 | yes | min(v,p1) | The lesser value of v and p1. |
max | 2 | yes | max(v,p1) | The greater value of v and p1. |
if | 3 | yes | v > 0 ? p1 : p2 | Conditional testing. |
mod | 3 | no | sqrt(v^2 + p1^2 + p2^2) | Modulus value. |
atan2 | 2 | no | atan2(p1,v) | Polar value in degrees * 2^16 (fd units). |
sin | 2 | no | v * sin(p1) | Sin, argument in degrees * 2^16 (fd units). |
cos | 2 | no | v * cos(p1) | Cos, argument in degrees * 2^16 (fd units). |
cosatan2 | 3 | no | v * cos(atan2(p2,p1)) | Preserves full accuracy in intermediate calculation. |
sinatan2 | 3 | no | v * sin(atan2(p2,p1)) | Preserves full accuracy in intermediate calculation. |
sqrt | 1 | no | sqrt(v) | Result is positive and rounds down. |
sumangle | 3 | yes | v + p1 * 2^16 + p2*2^16 | v scaled by 2^16; p1 and p2 are degrees. |
ellipse | 3 | no | p2 * sqrt(1-(v/p1)^2) | Ellipse. |
tan | 2 | no | v * tan(p1) | Tangent, argument in degrees * 2^16 (fd units). |
Note that the equation only consists of operations and numbers; mathematical symbols are omitted. For example, the equation
eqn="sum 5 9 3"
would yield the equivalent of
5 + 9 - 3
for the returned value of 11. If operands are missing, the value is not used. For example,
eqn="sum 5 9"
would yield the equivalent of
5 + 9
and would ignore the missing operand.
VML Standard Attribute
Example
The following formula would yield a result of 6 (the sum of both numbers divided by 2), which, if this were the first formula, could be retrieved by the symbol @0.
<v:f eqn="mid 5 7"/>