Reference
This info is generated from the function reference inside Mad Tea Lab
Helper:
- out(c, […]) – text output
- dirt(x) – Low amp. Noise
- marker(x,a)
- F(text) – Create Function
- sample(function,range)
- aToF(array [,filter,begin,end])
- aToFn(array [,filter])
Periodic:
Graphics:
- point(x,y,z,size)
- rect(x,y,width,height)
- ellipse(x,y,width,height)
- circle(x,y,radius)
- line( coords * 2 )
- triangle( coords * 3 )
- quad( coords * 4 )
- beginShape([primitive])
- vertex( coord )
- endShape([CLOSE])
- screenSpace()
- plotSpace()
- scale(x [,y,z])
- translate(x,y [,z])
- rotate(a)
- rotateX(a)
- rotateY(a)
- fill(color [,alpha])
- stroke(color [,alpha])
- noFill()
- noStroke()
- loadImage(name)
- imageMode(mode)
- image(x,y,w,h)
Color Processing:
- toHSV(rgb)
- fromHSV(hsv)
- toHSL(rgb)
- fromHSL(hsl)
- toYUV(rgb [,Kr,Kb,Sr,Sb])
- fromYUV(yuv [,Kr,Kb,Sr,Sb])
- gradient(color,brightness)
- forEachChannel(…)
- forEachChannelXY(…)
- forEachChannelA(…)
- forEachPixel(…)
- forEachPixelXY(…)
- forEachPixelA(…)
Generators:
- gensin(x)
- gencos(x)
- gentri(x[,n]) – n for bandlim.
- gensaw(x[,n]) – n for bandlim.
- gensqr(x[,n]) – n for bandlim.
- genpul(x,d[,n]) – n for bandlim.
- genrnd(x)
- genrndl(x) – linear interp.
- genrndq(x) – quadratic interp.
- genrndc(x) – cubic interp.
- gen(x [,which, n]) – all-in-one
- genn(x [,which, n]) – 0 to 1
Restrict:
- min(a,b […])
- max(a,b […])
- clamp(x [,min=0,max=1])
- clampg(x [,min=0,max=1])
- clampw(x [,min=0,max=1])
- clampm(x [,min=0,max=1])
- clip(x [,min=-1,max=1])
- clipg(x [,min=-1,max=1])
- clipw(x [,min=-1,max=1])
- clipm(x [,min=-1,max=1])
Decimate:
- round(x [,decimals] )
- floor(x) – Floor function
- ceil(x) – Ceiling function
- int(x) – Integer function
- sgn(x) – Sign
- H(x) – Heaviside step
Number Generation:
- rnd0() – Range -1 <1
- rnd() – Range 0 <1
- rndi(c) – Integer, 0
- rand() – Integer, 0 <232
- randn() – Normal dist.
- intHash(x) – Integer Hash
- hash(x) – 0 – <1
- hash0(x) – -1 – <1
Basic Math:
- sqr(x) – x2 (Square)
- cube(x) – x3 (Cube)
- sqrFlip(x) – 1-(1-x)2
- cubeFlip(x) – 1-(1-x)3
- sqrt(x) – Square Root
- pow(b,x) – bx
- exp(x) – ex
- exp2(x) – 2x
- log(x) – Logarithm (e)
- log10(x) – Logarithm (10)
- log2(x) – Logarithm (2)
- logx(b,x) – Logarithm (b)
Math:
- isPrime(a)
- primes(n)
- factor(n) – Prime factorization
- gcd(u,v) – Greatest com. div
- lcm(u,v) – Least com. mul
- fact(n) – Factorial
- fibo(n) – Fibonacci nr
- erf(x) – Error function
- erfi(x) – Inverse Error f.
- pascalTriangle(rowCount)
- ruler(x,m) – (Integers)
- gamma(x)
Trigonometry:
- sin(x) – Sine
- cos(x) – Cosine
- tan(x) – Tangent
- abs(x) – Absolute value
- acos(x) – Inverse cosine
- asin(x) – Inverse sine
- atan(x) – Inverse tangent
- atan2(y,x) – Inverse tangent
- sinh(x) – Sine Hyperholic
- cosh(x) – Cosine Hyperholic
Complex Math:
- cadd(a,b) – a + b
- cmul(a,b) – a * b
- csub(a,b) – a – b
- cdiv(a,b) – a / b
- cpow(a,b) – ab
- cneg(z) – -z
- cinv(z) – 1 / z
- csqr(z) – z2
- cexp(z) – ez
- clog(z) – log(z)
- cabs(z) – |z|
- csin(z) – sin
- ccos(z) – cos
- cconj(z) – Conjugate
Time:
Helper:
out
out(c, […]) text output
Write text to the output box
Mad Tea Lab Example
dirt
dirt(x) Low amp. Noise
A hash-based, uniformly distributed noise, with a scaling of 1/32
Mad Tea Lab Example
marker
marker(x,a)
GUI helper, just a function that is very steep at (a)
Mad Tea Lab Example
F
F(text) Create Function
Creates a function from string, arguments are assumed to be (x,y,z)
Mad Tea Lab Example
sample
sample(function,range)
Samples a function N times and returns an array with the sampled data, range is specified as an array [begin_value, end_value, N]
Mad Tea Lab Example
aToF
aToF(array [,filter,begin,end])
Array-To-Function, filter can be nearest, linear (default), hermite, quadratic or cubic. Default value of begin is 0. Default value of end is array.length-1
Mad Tea Lab Example
aToFn
aToFn(array [,filter])
Array-To-Function, same as aToF but with hardwired begin=0 and end=1
Mad Tea Lab Example
Periodic:
saw
saw(x [,n=1]) 0 to 1
Period n, out values 0 to 1
Mad Tea Lab Example
saw0
saw0(x, [,n=1]) -1 to 1
Period n, out values -1 to 1
Mad Tea Lab Example
tri
tri(x, [,n=1]) 0 to 1
Period n*2, out values 0 to 1
Mad Tea Lab Example
tri0
tri0(x, [,n=1]) -1 to 1
Period n*2, out values -1 to 1
Mad Tea Lab Example
Graphics:
point
point(x,y,z,size)
Draw a Point
Mad Tea Lab Example
rect
rect(x,y,width,height)
Draw a 2D rectangle
Mad Tea Lab Example
Wikipedia on Rectangle
ellipse
ellipse(x,y,width,height)
Draw an ellipse
Mad Tea Lab Example
Wikipedia on Ellipse
circle
circle(x,y,radius)
Draw a circle
Mad Tea Lab Example
Wikipedia on Circle
line
line( coords * 2 )
Draw a line segment, both 2D and 3D coordinates are accepted
Mad Tea Lab Example
Wikipedia on Line segment
triangle
triangle( coords * 3 )
Draw a triangle, both 2D and 3D coordinates are accepted
Mad Tea Lab Example
Wikipedia on Triangle
quad
quad( coords * 4 )
Draw a quadrilateral, both 2D and 3D coordinates are accepted
Mad Tea Lab Example
Wikipedia on Quadrilateral
beginShape
beginShape([primitive])
Begin shape drawing, primitives are LINE_STRIP (default), LINES, TRIANGLES and QUADS
Mad Tea Lab Example
vertex
vertex( coord )
Must be called within calls to beginShape/endShape
Mad Tea Lab Example
endShape
endShape([CLOSE])
End (and draw) a shape, for the LINE_STRIP primitive, passing CLOSE to the function will close the shape
Mad Tea Lab Example
screenSpace
screenSpace()
Set drawing coordinates to be related to canvas pixels
Mad Tea Lab Example
plotSpace
plotSpace()
Set drawing coordinates to be related to the current view of the graph
Mad Tea Lab Example
scale
scale(x [,y,z])
Scale the drawing space for future drawing, scale(2) will scale x,y,z by 2 (uniformly)
Mad Tea Lab Example
translate
translate(x,y [,z])
Offset the drawing space for future rendering
Mad Tea Lab Example
rotate
rotate(a)
Rotates the drawing space (x,y) for future rendering
Mad Tea Lab Example
rotateX
rotateX(a)
Rotates the drawing space (y,z) for future rendering
Mad Tea Lab Example
rotateY
rotateY(a)
Rotates the drawing space (x,z) for future rendering
Mad Tea Lab Example
fill
fill(color [,alpha])
Color can be supplied as r,g,b (range 0 to 255), gray (0 to 255), [r,b,g] (range 0 to 1) or hex. Alpha is in range 0 to 255.
Mad Tea Lab Example
stroke
stroke(color [,alpha])
Color can be supplied as r,g,b (range 0 to 255), gray (0 to 255), [r,b,g] (range 0 to 1) or hex. Alpha is in range 0 to 255.
Mad Tea Lab Example
noFill
noFill()
Disable Fill
Mad Tea Lab Example
noStroke
noStroke()
Disable Stroke
Mad Tea Lab Example
loadImage
loadImage(name)
Load image to browser cache and display thumbnail
Mad Tea Lab Example
imageMode
imageMode(mode)
Sets mode for function image(), valid modes are CORNER (default), CORNERS and CENTER
Mad Tea Lab Example
image
image(x,y,w,h)
Draws an image
Mad Tea Lab Example
Color Processing:
toHSV
toHSV(rgb)
Input is [R,G,B] each in range 0 to 1, output is [H,S,V] each in range 0 to 1
Mad Tea Lab Example
Wikipedia on HSL and HSV
fromHSV
fromHSV(hsv)
Input is [H,S,V] each in range 0 to 1, output is [R,G,B] each in range 0 to 1
Mad Tea Lab Example
Wikipedia on HSL and HSV
toHSL
toHSL(rgb)
Input is [R,G,B] each in range 0 to 1, output is [H,S,L] each in range 0 to 1
Mad Tea Lab Example
Wikipedia on HSL and HSV
fromHSL
fromHSL(hsl)
Input is [H,S,L] each in range 0 to 1, output is [R,G,B] each in range 0 to 1
Mad Tea Lab Example
Wikipedia on HSL and HSV
toYUV
toYUV(rgb [,Kr,Kb,Sr,Sb])
Input is [R,G,B] each in range 0 to 1, output is [Y,U,V] each in range 0 to 1
Mad Tea Lab Example
Wikipedia on YUV
fromYUV
fromYUV(yuv [,Kr,Kb,Sr,Sb])
Input is [Y,U,V] each in range 0 to 1, output is [R,G,B] each in range 0 to 1
Mad Tea Lab Example
Wikipedia on YUV
gradient
gradient(color,brightness)
Generates [R,G,B] the gradient gray-red-yellow-green-cyan-blue-purple-gray between color 0 and 1 (it is periodic, so any value can be supplied), brigthness is in range 0 (black) to 1 (white)
Mad Tea Lab Example
forEachChannel
forEachChannel(…)
Iterates each color-channel, c is the color value (range 0 to 255)
Mad Tea Lab Example
forEachChannelXY
forEachChannelXY(…)
Iterates each color-channel, c is the color value (range 0 to 255)
Mad Tea Lab Example
forEachChannelA
forEachChannelA(…)
Iterates each color-channel and gives access to nearby pixels, parameters for func are (destinationArray,sourceArray,index,strideY,strideX)
Mad Tea Lab Example
forEachPixel
forEachPixel(…)
Iterates each pixel, r,g,b,a is the color component values (range 0 to 255)
Mad Tea Lab Example
forEachPixelXY
forEachPixelXY(…)
Iterates each pixel, c is the color value (range 0 to 255)
Mad Tea Lab Example
forEachPixelA
forEachPixelA(…)
Iterates each pixel and gives access to nearby pixels, parameters for callback are (destinationArray,sourceArray,index,strideY,strideX), color order is always RGBA
Mad Tea Lab Example
Generators:
gensin
gensin(x)
Sine wave generator, Period 1, out values -1 to 1
Mad Tea Lab Example
Wikipedia on Sine wave
gencos
gencos(x)
Cosine wave generator, Period 1, out values -1 to 1
Mad Tea Lab Example
Wikipedia on Sine wave
gentri
gentri(x[,n]) n for bandlim.
Triangle wave generator, Period 1, out values -1 to 1
Mad Tea Lab Example
Wikipedia on Triangle wave
gensaw
gensaw(x[,n]) n for bandlim.
Sawtooth wave generator, Period 1, out values -1 to 1
Mad Tea Lab Example
Wikipedia on Sawtooth wave
gensqr
gensqr(x[,n]) n for bandlim.
Square wave generator, Period 1, out values -1 to 1
Mad Tea Lab Example
Wikipedia on Square wave
genpul
genpul(x,d[,n]) n for bandlim.
Pulse wave generator, Period 1, d is the duty cycle, out values -1 to 1
Mad Tea Lab Example
Wikipedia on Pulse wave
genrnd
genrnd(x)
Random generator, period 1, out values -1 to 1
Mad Tea Lab Example
genrndl
genrndl(x) linear interp.
Random generator, linear interpolation, period 1, out values -1 to 1
Mad Tea Lab Example
genrndq
genrndq(x) quadratic interp.
Random generator, quadratic interpolation, Period 1, out values -1 to 1
Mad Tea Lab Example
genrndc
genrndc(x) cubic interp.
Random generator, cubic interpolation, Period 1, out values -1 to 1
Mad Tea Lab Example
gen
gen(x [,which, n]) all-in-one
Interpolated sequence of generators, Period 1, out values -1 to 1
Mad Tea Lab Example
genn
genn(x [,which, n]) 0 to 1
Interpolated sequence of generators, Period 1, out values 0 to 1
Mad Tea Lab Example
Restrict:
min
min(a,b […])
Returns the input that has the lowest value
Mad Tea Lab Example
max
max(a,b […])
Returns the input that has the highest value
Mad Tea Lab Example
clamp
clamp(x [,min=0,max=1])
Restrict values within an interval (default interval 0 to 1)
Mad Tea Lab Example
clampg
clampg(x [,min=0,max=1])
Restrict values within an interval using gaussian distribution
Mad Tea Lab Example
clampw
clampw(x [,min=0,max=1])
Restrict values within an interval, wrap if outside
Mad Tea Lab Example
clampm
clampm(x [,min=0,max=1])
Restrict values within an interval, mirror if outside
Mad Tea Lab Example
clip
clip(x [,min=-1,max=1])
Restrict values within an interval (default interval -1 to 1)
Mad Tea Lab Example
clipg
clipg(x [,min=-1,max=1])
Restrict values within an interval using gaussian distribution
Mad Tea Lab Example
clipw
clipw(x [,min=-1,max=1])
Restrict values within an interval, wrap if outside
Mad Tea Lab Example
clipm
clipm(x [,min=-1,max=1])
Restrict values within an interval, mirror if outside
Mad Tea Lab Example
Decimate:
round
round(x [,decimals] )
Rounding function, rounds to nearest integer (or decimal if defined)
Mad Tea Lab Example
Wikipedia on Rounding
floor
floor(x) Floor function
Floor function, rounds down to the integer below
Mad Tea Lab Example
Wikipedia on Floor function
ceil
ceil(x) Ceiling function
Ceiling function, rounds up to the integer above
Mad Tea Lab Example
Wikipedia on Ceiling function
int
int(x) Integer function
Integer function, just discards decimals
Mad Tea Lab Example
sgn
sgn(x) Sign
Sign function,
returns the sign of the value
sgn(x) = -1 if x<0
sgn(x) = 0 if x=0
sgn(x) = 1 if x>0
Mad Tea Lab Example
Wikipedia on Sign Function
H
H(x) Heaviside step
Heaviside step function
H(x) = 0 if x<0
H(x) = 1/2 if x=0
H(x) = 1 if x>0
Mad Tea Lab Example
Wikipedia on Heaviside step function
Number Generation:
rnd0
rnd0() Range -1 <1
Random values, [Uniform distribution], interval -1 to <1
Mad Tea Lab Example
Wikipedia on Random number generation
rnd
(Alias: random() )
rnd() Range 0 <1
Random values, [Uniform distribution], interval 0 to <1
Mad Tea Lab Example
Wikipedia on Random number generation
rndi
rndi(c) Integer, 0 Random integer values, [Uniform distribution], interval 0 to Mad Tea Lab Example
Wikipedia on Random number generation
rand
rand() Integer, 0 <232
Random integer values, [Uniform distribution], interval 0 to <2^32 (32 bits)
Mad Tea Lab Example
Wikipedia on Random number generation
randn
randn() Normal dist.
Normally distributed random values, Gaussian noise
Mad Tea Lab Example
Wikipedia on Gaussian noise
intHash
intHash(x) Integer Hash
Hash function, Integer input, out values 0 to <2^31, based on Bob Jenkins 32 bit hash
Mad Tea Lab Example
Wikipedia on Hash function
hash
hash(x) 0 – <1
The intHash() function scaled to the range 0 to <1
Mad Tea Lab Example
hash0
hash0(x) -1 – <1
The intHash() function scaled to the range -1 to <1
Mad Tea Lab Example
Basic Math:
sqr
sqr(x) x2 (Square)
Square x
Mad Tea Lab Example
Wikipedia on Square (algebra)
cube
cube(x) x3 (Cube)
Cube x
Mad Tea Lab Example
Wikipedia on Cube (algebra)
sqrFlip
sqrFlip(x) 1-(1-x)2
Square x Flipped
Mad Tea Lab Example
cubeFlip
cubeFlip(x) 1-(1-x)3
Cube x Flipped
Mad Tea Lab Example
sqrt
sqrt(x) Square Root
Square Root
Mad Tea Lab Example
Wikipedia on Square Root
pow
pow(b,x) bx
Power of, raise b to the power of x
Mad Tea Lab Example
Wikipedia on Exponentiation
exp
exp(x) ex
Exponentiation, raise e to the power x
Mad Tea Lab Example
Wikipedia on Exponentiation
exp2
exp2(x) 2x
Powers of two, raise 2 to the power of x
Mad Tea Lab Example
Wikipedia on Exponentiation
log
(Alias: ln(x) )
log(x) Logarithm (e)
Natural Logarithm, base e logarithm
Mad Tea Lab Example
Wikipedia on Logarithm
log10
(Alias: lg(x) )
log10(x) Logarithm (10)
Common Logarithm, base 10 logarithm
Mad Tea Lab Example
Wikipedia on Logarithm
log2
(Alias: lb(x) )
log2(x) Logarithm (2)
Binary Logarithm, base 2 logarithm
Mad Tea Lab Example
Wikipedia on Logarithm
logx
logx(b,x) Logarithm (b)
The inverse of the pow function (using the same base), calculated log(x)/log(b)
Mad Tea Lab Example
Wikipedia on Logarithm
Math:
isPrime
isPrime(a)
Checks if a number is a prime
Mad Tea Lab Example
Wikipedia on Prime number
primes
primes(n)
Returns an array with all the primes in the range 0 to n
Mad Tea Lab Example
Wikipedia on Prime number
factor
factor(n) Prime factorization
Returns an array with the integer prime factors of n
Mad Tea Lab Example
Wikipedia on Prime factorization
gcd
gcd(u,v) Greatest com. div
The Greatest common divisor of two non-zero integers, is the largest positive integer that divides both numbers without remainder.
Mad Tea Lab Example
Wikipedia on Greatest common divisor
lcm
lcm(u,v) Least com. mul
The Least common multiple of two integers a and b is the smallest positive integer that is a multiple both of a and of b.
Mad Tea Lab Example
Wikipedia on Least common multiple
fact
fact(n) Factorial
Factorials n>22 are not correct due to precision
Mad Tea Lab Example
Wikipedia on Factorial
fibo
fibo(n) Fibonacci nr
Fibonacci numbers, n>70 are not correct due to precision
Mad Tea Lab Example
Wikipedia on Fibonacci number
erf
erf(x) Error function
aka Gauss Error function
Mad Tea Lab Example
Wikipedia on Error function
erfi
erfi(x) Inverse Error f.
The Inverse of the Gauss Error function
Mad Tea Lab Example
Wikipedia on Error function
pascalTriangle
pascalTriangle(rowCount)
Generates a number of rows of Pascals Triangle
Mad Tea Lab Example
Wikipedia on Pascals Triangle
ruler
ruler(x,m) (Integers)
The Ruler function, aka Thomaes function, popcorn function, raindrop function, Riemann function
Mad Tea Lab Example
Wikipedia on Ruler function
gamma
gamma(x)
The Gamma function (Real values)
Mad Tea Lab Example
Wikipedia on Gamma function
Trigonometry:
sin
sin(x) Sine
Sine
Mad Tea Lab Example
Wikipedia on Sine
cos
cos(x) Cosine
Cosine
Mad Tea Lab Example
Wikipedia on Cosine
tan
tan(x) Tangent
Tangent
Mad Tea Lab Example
Wikipedia on Trigonometric functions#Tangent
abs
abs(x) Absolute value
Absolute Value
|x| = abs(x)
Mad Tea Lab Example
Wikipedia on Absolute value
acos
acos(x) Inverse cosine
Inverse Cosine, or Arc Cosine
Mad Tea Lab Example
Wikipedia on Inverse cosine
asin
asin(x) Inverse sine
Inverse Sine, or Arc Sine
Mad Tea Lab Example
Wikipedia on Inverse sine
atan
atan(x) Inverse tangent
Inverse Tangent, or Arc Tangent
Mad Tea Lab Example
Wikipedia on Inverse tangent
atan2
atan2(y,x) Inverse tangent
Inverse Tangent, 2 arguments
Mad Tea Lab Example
Wikipedia on Inverse tangent
sinh
sinh(x) Sine Hyperholic
Hyperholic Sine
Mad Tea Lab Example
Wikipedia on Hyperbolic function
cosh
cosh(x) Cosine Hyperholic
Hyperholic Cosine
Mad Tea Lab Example
Wikipedia on Hyperbolic function
Complex Math:
cadd
cadd(a,b) a + b
Complex Addition
Mad Tea Lab Example
Wikipedia on Complex number
cmul
cmul(a,b) a * b
Complex Multiplication
Mad Tea Lab Example
Wikipedia on Complex number
csub
csub(a,b) a – b
Complex Subtraction
Mad Tea Lab Example
Wikipedia on Complex number
cdiv
cdiv(a,b) a / b
Complex Division
Mad Tea Lab Example
Wikipedia on Complex number
cpow
cpow(a,b) ab
Complex Power of
Mad Tea Lab Example
cneg
cneg(z) -z
Complex Negation
Mad Tea Lab Example
cinv
cinv(z) 1 / z
Complex Inverse
Mad Tea Lab Example
csqr
csqr(z) z2
Complex Square
Mad Tea Lab Example
cexp
cexp(z) ez
Complex Exponentiation
Mad Tea Lab Example
Wikipedia on Exponential function#On the complex plane
clog
clog(z) log(z)
Complex Natural Logarothm
Mad Tea Lab Example
Wikipedia on Complex logarithm
cabs
cabs(z) |z|
Complex Absolute value, Magnitude
Mad Tea Lab Example
Wikipedia on Absolute value#Complex numbers
csin
csin(z) sin
Complex Sine
Mad Tea Lab Example
ccos
ccos(z) cos
Complex Cosine
Mad Tea Lab Example
cconj
cconj(z) Conjugate
Complex Conjugate
Mad Tea Lab Example
Wikipedia on Complex conjugate
Time:
year
year()
Get Current Year
Mad Tea Lab Example
month
month()
Get Current Month
Mad Tea Lab Example
day
day()
Get Current Day
Mad Tea Lab Example
hour
hour()
Get Current Hour
Mad Tea Lab Example
minute
minute()
Get Current Minute
Mad Tea Lab Example
second
second()
Get Current Second
Mad Tea Lab Example