UserManual:Tools:Formulas: Difference between revisions

no edit summary
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 12:
Below you'll find some examples and tips how you can use the formulas to create your pattern
 
[[File:Advice.svg|left|frameless|50x50px]]Important Note:
=== List of buitlt-in functions ===
 
The formula editor is case sensitiv. So you need to spell the functions right. E.g. <code>'''acosd (wrong)'''</code> is not equal <code>'''acosD (right)'''</code>
 
=== Basic calculations ===
You can use <code>+</code>, <code>-</code>, <code>*</code>, <code>/</code> to build some basic calculations. Pay attention to the dot before dash rules in math. Use brackets to influence the calculation logic.
 
* E.g.: 2 + 2 = 4
* E.g.: 2 - 1 = 1
* E.g.: 3 * 2 = 6
* E.g.: 3 / 2 = 1.5
* E.g.: (2 + 2) * 2 = 8
* E.g.: 2 + 2 * 2 = 6
 
=== List of buitltbuilt-in functions ===
 
* '''_pi''' '''⇒''' Constant value of oi, Usage: <code>'''_pi'''</code>
** E.g.: _pi = 3.14159
 
* '''abs''' '''⇒''' Absolute value, Usage: <code>'''abs(x)'''</code>
Line 37 ⟶ 54:
** E.g.: asinh(90) = 5.19299
* '''atan''' '''⇒''' Inverse tangent function working with radians, Usage: '''<code>atan(x)</code>'''
** The arctangent is the angle whose tangent is the number. The output is an angle in radians in the range -pi/2 to pi/2
** E.g.: atan(1) = 0.78538
* '''atanD''' '''⇒''' Inverse tangent function working with degrees, Usage: '''<code>atanD(x)</code>'''
** The arctangent is the angle whose tangent is the number. The output is an angle in degrees in the interval [-90, 90]
** E.g.: atanD(1) = 45
* '''atanh''' '''⇒''' Inverse Hyperbolic tangent function, Usage: <code>'''atanh(x)'''</code>
** Returns the inverse hyperbolic tangent of the elements of <code>X</code>. All angles are in radians.
** E.g.: atanh(0,99) = 2.64665
* '''avg''' '''⇒''' Mean value of all arguments, Usage: '''<code>avg(arg 1; arg 2; ... arg n)</code>'''
** Computes the average for all values
** E.g.: avg(2;3;4) = 3
* '''cos''' '''⇒''' Cosine function working with radians, Usage: '''<code>cos(angle 0 in radians)</code>'''
** Function The cosine of an angle, α, defined with reference to a right triangle is cos (α) = adjacent side hypotenuse = b h.
** E.g.: cos(1) = 0.540302
* '''cosD''' '''⇒''' Cosine function working with degrees, Usage: '''<code>cosD(angle 0 in degrees)</code>'''
** Returns the icosine of the elements of <code>X</code>. All angles are in degrees.
** E.g.: cosD(180) = -1
* '''cosh''' '''⇒''' Hyperbolic cosine function, Usage: '''<code>cosh(angle 0 in radians)</code>'''
** Returns the hyperbolic cosine of the elements of <code>X</code>. All angles are in radians.
** E.g.: cosh(0) = 1
* '''degTorad''' '''⇒''' Converts degrees to radians, Usage: '''<code>degTorad(angle 0 in degrees)</code>'''
** degTorad converts it's argument deg (an angle in degrees) to radians. (pi radians is 180 degrees)
** E.g.: degTorad(180) = 3.14159
* '''exp''' '''⇒''' E raised to the power of x, Usage: '''<code>exp(x) where e = 2.718</code>'''
** The exponential function is a mathematical function denoted by f(x)<math>f(x) = exp(x)</math> or <math>f(x) = e^x</math>
** E.g.: exp(0) = 1
** E.g.: exp(2) = 7.38906
* '''fmod''' '''⇒''' Returns the floating-point remainder of x/y (rounded towards zero), Usage: '''<code>fmod(x; y)</code>'''
** Returns the remainder of x divided by y.
** E.g.: fmod(3.3;2) = 1.3
* '''ln''' '''⇒''' Logarithm to base e (2.71828...), Usage: '''<code>ln(x)</code>'''
** The '''natural logarithm''' is a logarithm in which the base is the mathematical constant, e. It is written as <code>'''ln(x)'''</code>
** E.g.: ln(10) = 2.30259
* '''log''' '''⇒''' Logarithm to base 10, Usage: '''<code>log(x)</code>'''
** The logarithm is a logarithm in which the base is 10. It is written as <code>'''log(x)'''</code>
** E.g.: log(10) = 1
* '''log10''' '''⇒''' Logarithm to base 10, Usage: <code>'''log10(x)'''</code>
** The logarithm is a logarithm in which the base is 10. It is written as <code>'''log10(x)'''</code>
** E.g.: log10(10) = 1
* '''log2''' '''⇒''' Logarithm to base 2, Usage: '''<code>log2(x)</code>'''
** The logarithm is a logarithm in which the base is 2. It is written as <code>'''log2(x)'''</code>
** E.g.: log2(10) = 3.32193
* '''max''' '''⇒''' Max of all arguments, Usage: '''<code>max(arg 1; arg 2; ... arg n)</code>'''
** Returns the max value for all values
** E.g.: max(2;3;4) = 4
* '''min''' '''⇒''' Min of all arguments, Usage: '''<code>min(arg 1; arg 2; ... arg n)</code>'''
** Returns the min value for all values
** E.g.: min(2;3;4) = 2
* '''radTodeg''' '''⇒''' Converts radians to degrees, Usage: '''<code>radTodeg(angle 0 in radians)</code>'''
** radTodeg converts it's argument rad (an angle in radians) to degrees. (pi radians is 180 degrees)
** E.g.: radTodeg(3.14159) = 180
* '''rint''' '''⇒''' Round to nearest integer, Usage: '''<code>rint(float x)</code>'''
** The '''<code>rint()</code>''' function rounds the argument to an integral value using the current rounding direction.
** E.g.: rint(2.3) = 2
** If you want to round to one digit multiply the value first by 10 and divide the result by 10 again: rint(2.356*10)/10 = 2.4
* '''sign''' '''⇒''' Sign function -1 if x<0; 1 if x>0, Usage: '''<code>sign(x)</code>'''
** The sign function is a mathematical function that extracts the sign of a number. The sign function assigns a value of +1 to positive numbers, -1 to negative numbers, and 0 to zero.
** E.g.: sign(5) = 1
** E.g.: sign(-3) = -1
* '''sin''' '''⇒''' Sine function working with radians, Usage: '''<code>sin(angle 0 in radians)</code>'''
** The sine function  is one of the basic functions encountered in trigonometry. Let be an angle measured counterclockwise from the ''x''-axis along an arc of the unit circle.
** E.g.: sin(90) = 0.893997
* '''sinD''' '''⇒''' Sine function working with degrees, Usage: '''<code>sinD(angle 0 in degrees)</code>'''
** The sine function  is one of the basic functions encountered in trigonometry. Let be an angle measured counterclockwise from the ''x''-axis along an arc of the unit circle.
** E.g.: sinD(90) = 1
* '''sinh''' '''⇒''' Hyperbolic sine function, Usage: <code>'''sinh(angle 0 in radians)'''</code>
** Returns the hyperbolic sine of the elements of <code>X</code>. All angles are in radians.
** E.g.: sinh(1) = 1.1752
* '''sqrt''' '''⇒''' Square root of a value, Usage: '''<code>sqrt(x)</code>'''
** The <code>'''sqrt(x)'''</code> function takes a single argument and returns its square root.
** E.g.: sqrt(4) = 2
* '''sum''' '''⇒''' Sum of all arguments, Usage: '''<code>sum(arg 1; arg 2; ... arg n)</code>'''
** Computes the sum for all values
** E.g.: sum(2;3;4) = 9
* '''tan''' '''⇒''' Tangent function working with radians, Usage: '''<code>tan(angle 0 in radians)</code>'''
** The '''tangent function''' is one of the basic trigonometric functions and is quite a commonly used function in trigonometry. The tangent function can be expressed as the ratio of the sine function and cosine function. In a right-angled triangle, the formula for the tangent function is expressed as the ratio of the perpendicular and base of the triangle. It can also be expressed as the reciprocal of the cotangent function.
** E.g.: tan(1) = 1.55741
* '''tanD''' '''⇒''' Tangent function working with degrees, Usage: '''<code>tanD(angle 0 in degrees)</code>'''
** E.g.: tanD(45) = 1
* '''tanh''' '''⇒''' Hyperbolic tangent function, Usage: '''<code>tanh(angle 0 in radians)</code>'''</div>
** Tanh is a '''hyperbolic function'''. It is the ratio of sinh and cosh.
** E.g.: tanh(45) = 1
 
=== Conditional statements ===
Conditional statements are useful in a multisize pattern. Depending on the measurements you can work with different values.
 
There is an ‘if then else’ construct. Is expressed by: ( a > b ? y : z) <code>'''(condition ? true_value : false_value)'''</code>
 
* E.g.: (1 > 2 ? 0.5 : 3.5) = 3.5 '''⇒''' if 1 greater than 2 then 0.5 else 3.5
 
* E.g.: (1 == 1 ? 0.5 : 3.5) = 0.5 '''⇒''' if 1 equal to 1 then 0.5 else 3.5
* E.g.: (1 <= 2 ? 0.5 : 3.5) = 0.5 '''⇒''' if 1 less than or equal to 2 then 0.5 else 3.5
 
Nested query:
 
* E.g.: (1 >= 2 ? 0.5 : (3 > 5 ? 2 : 3)) = 2 '''⇒''' if 1 greater than or equal to 2 then 0.5 else if 3 greater than 5 then 2 else 3
 
=== Working with measurments and variables ===
A main feature of Seamly2D is that you can use measurements and variables in your formulas.
 
* E.g.: across_chest_f/2 '''⇒''' measurement <code>across_chest_f</code> divided by 2
* E.g.: #variable/2 '''⇒''' custom variable <code>#variable</code> divided by 2
* E.g.: Line_A1_A2 + Line_A3_A4 '''⇒''' add line <code>Line_A1_A2</code> to line <code>Line_A3_A4</code></div>
</translate>
332

edits