Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Version 3 (modified by landauf, 16 years ago) (diff)

Math

TracNav(TracNav/TOC_Development)?

Math defines several useful functions for mathematical purpose. The following list gives a short overview:

  • sgn(value): Returns the sign of the given value.
    • Example: sgn(10) = 1, sgn(-3) = -1
  • min(value1, value2): Returns the smaller of two values.
    • Example: min(3, 10) = 3, min(2, -2) = -2
    • This is useful, if you don't want a value to be greater than a threshold. Use min(value, threshold).
  • max(value1, value2): Returns the greater of two values.
    • Example: max(3, 10) = 10, max(2, -2) = 2
    • This is useful, if you don't want a value to be smaller than a threshold. Use max(value, threshold).
  • clamp(value, min, max): Keeps a value between a lower and an upper limit.
    • Example: clamp(5, 0, 10) = 5, clamp(100, 0, 10) = 10, clamp(-1, 0, 10) = 0
    • This is like a combination of max and min, used for thresholds
  • square(value): Returns the square value (x2).
    • Example: square(3) = 9
  • cube(value): Returns the cube value (x3).
    • Example: cube(3) = 27
  • floor(value): Rounds the value down.
    • Example: floor(0.2) = 0, floor(0.7) = 0
  • ceil(value): Rounds the value up.
    • Example: floor(0.2) = 1, floor(0.7) = 1
  • round(value): Rounds the value.
    • Example: floor(0.2) = 0, floor(0.7) = 1
  • mod(value, max): The modulo operation, enhanced to work properly with negative values.
    • Example: mod(8, 10) = 8, mod(14, 10) = 4, mod(-8, 10) = 2, mod(-14, 10) = 6
  • interpolate(time, start, end): Interpolates between two values for a time between 0 and 1.
  • interpolateSmooth(time, start, end): Interpolates smoothly between two values for a time between 0 and 1. The function starts slowly, increases faster and stops slowly again.
  • rnd(): Returns a random number between 0 and 1.
  • rnd(max): Returns a random number between 0 and max.
  • rnd(min, max): Returns a random number between min and max.

Attachments (2)

Download all attachments as: .zip