List of Mathematical Functions Done in Scratch

This page lists ways in which important mathematical functions and formulas can be expressed using the Scratch Operators Blocks.

Conventional Measurement Abbreviations

Abbreviation Measurement
b Length of a side of the base, plus the area of the base
h Height
r Radius. In a torus, the radius of the tube.
l Slant Height
a, b, c Side lengths of a triangle
A, B, C Angle measures of a triangle (angle A is opposite side a)
R The radius of the hole, plus the radius of the tube
m Slope of a line segment

Common Constants

Warning Note: Since pi is an irrational number, it is up to the user to decide the number of decimal places it is rounded to. 3.14, 3.142 or 3.1416 are some conventional roundings.
Constant Approximate Value
pi (π) 3.141592654
Golden Ratio (φ) 1.618033989

Area and Surface Area

Cone

(((pi) * ((r) * (r))) + ((pi) * ((r) * (l))))

Cone.gif

Cylinder

((((2) * (pi)) * ((r) * (r))) + ((2) * ((pi) * ((r) * (h)))))

Cylinder.jpeg

Ellipse

((pi) * ((a) * (b)))

Ellipse.jpeg

Circle

Also known as a degenerate ellipse, this is the area of a circle:

((pi) * ((r) * (r)))

Frustum

(((pi) * ((r of bottom circle) + (r of top circle))) * ( [sqrt v] of ((((r of bottom circle) - (r of top circle)) * ((r of bottom circle) - (r of top circle))) + ((h) * (h)))

Frustum 1.gif

Möbius Strip

(((4) * (pi)) * ((r) * (w)))

w is the distance between the edges, and r is half the distance between two points on opposite sides of the strip

This formula derives from the fact that the Möbius strip is one-sided (non-orientable).

Quadrilateral

Kite

Here, "d1" and "d2" are the lengths of the two diagonals of the kite:

(((d1) * (d2)) / (2))

Parallelogram

((base) * (height))

Trapezoid/Trapezium

Here, "a" and "b" are the two parallel sides of the trapezoid:

((((a) + (b)) * (h)) / (2))

Regular N-gon

Here, "n" is the number of sides in the polygon:

(((n) * ((side) * ((1) / ([tan v] of ((pi) / (n)))))) / (4))

Sphere

((pi) * ((4) * ((r) * (r))))

Sphere.jpeg

Sector of a Circle

This will find the answer in degrees:

(((central angle) / (360)) * ((pi) * ((r) * (r))))

Square-based Pyramid

(((2) * ((b) * (l))) + ((b) * (l)))

Torus

(((4) * ((pi) * (pi))) * ((R) * (r)))

Torus.jpeg

Note that this formula is just the product of the circumferences of two circles with radii R and r.

Triangle

There are numerous ways to calculate the area of a triangle:

The most common formula is Area = (base/2)*height (see below) where base is any side and height is the length of a line segment perpendicular to the base, ending at the vertex opposite the base. In Scratch, this translates to:

(((base) / (2)) * (height))

If two side lengths are known (a and b) and one angle (C), the following formula may be used to find the area:

(((a) * (b)) * (([sin v] of (C)) / (2)))


If one side length is known (c) and two angles (A and B), the following formula may be used to find the area:

((((c) * (c)) * (([sin v] of (A)) * ([sin v] of (B)))) / ((-2) * ([sin v] of ((A) + (B)))))

If 3 side lengths are known (a, b, c), the following formula, known as Heron's formula, may be used to find the area:

set [s v] to ((((a) + (b)) + (c)) / (2)) //s is called the semiperimeter; it is half the perimeter
set [area v] to ([sqrt v] of ((((s) * ((s) - (a))) * ((s) - (b))) * ((s) - (c))))

If the triangle's vertices have integer coordinates, it is best to use Pick's theorem or Heron's formula (above) (using the distance formula to find the lengths of the triangle's sides).

If one knows the radius of the triangle's incircle and its semiperimeter (half the perimeter), we can use this formula:

((radius) * (semiperimeter))

Volume

Cone

(((pi) * (((r) * (r)) * (h))) / (3))

Cone.gif

Cylinder

((pi) * ((r) * ((r) * (h))))

Cylinder.jpeg

Frustum

((((pi) * (h)) / (3)) * (((r of bottom circle) * (r of bottom circle)) + (((r of bottom circle) * (r of top circle)) + ((r of top circle) * (r of top circle)))))

Frustum 1.gif

Pyramid

(((b) * (h)) / (3))

Pyramid.gif

Regular Tetrahedron

Here, "b" is the length of each edge:

((([sqrt v] of (2)) / (12)) * (((b) * (b)) * (b)))

Regular Tetrahedron.jpg

Sphere

(((4) / (3)) * ((pi) * ((r) * ((r) * (r)))))

Sphere.jpeg

Torus

(((2) * ((pi) * (pi))) * ((R) * ((r) * (r))))

Torus.jpeg

Note that this formula is just the product of the area of a circle with radius r and the circumference of a circle with radius R. It is only correct when R ≥ r.

Law of Sines

Sine Rule.png

Sides

This will give an answer for side "a":

(((b) * ( [sin v] of (A))) / ( [sin v] of (B)))

Angles

This will give an answer for angle "A":

( [asin v] of (((a) * ( [sin v] of (B))) / (b)))

Law of Cosines

Cosine Rule.png

Sides

This will give an answer for side "c":

( [sqrt v] of ((((a) * (a)) + ((b) * (b))) - ((2) * ((a) * ((b) * ( [cos v] of (C)))))))

Angles

This will give an answer for angle "C":

( [acos v] of ((((a) * (a)) + (((b) * (b)) - ((c) * (c)))) / ((2) * ((a) * (b)))))

Hyperbolic Functions

There are six main hyperbolic functions:

  • sinhx (the hyperbolic sine)
  • coshx (the hyperbolic cosine)
  • tanhx (the hyperbolic tangent)
  • cothx (the hyperbolic cotangent)
  • sechx (the hyperbolic secant)
  • cschx (the hyperbolic cosecant), also, cosechx

sinh and cosh

Just as in normal trigonometry, the sinh and cosh functions are the fundamental units. They can be replicated with

((([e^ v] of (x)) / (2)) - ((1) / ((2) * ([e^ v] of ((0) - (x))))))

and

((([e^ v] of (x)) / (2)) + ((1) / ((2) * ([e^ v] of ((0) - (x))))))

respectively.

sech and csch

In normal trigonometry, the secant and cosecant are given by 1/cosx and 1/sinx, respectively. The hyperbolic secant and cosecant can be expressed in the same way: sechx = 1/coshx, or:

((2) / (([e^ v] of (x)) + ([e^ v] of ((0) - (x)))))

and cschx = 1/sinhx:

((2) / (([e^ v] of (x)) - ([e^ v] of ((0) - (x)))))

tanh and coth

The tangent function is expressed by sinx/cosx. Similarly, the hyperbolic tangent is expressed by sinhx/coshx. In Scratch, that is:

((([e^ v] of (x)) - ([e^ v] of ((0) - (x)))) / (([e^ v] of (x)) + ([e^ v] of ((0) - (x)))))

Similarly, the cotangent is 1/tanx, so the hyperbolic cotangent is:

((([e^ v] of (x)) + ([e^ v] of ((0) - (x)))) / (([e^ v] of (x)) - ([e^ v] of ((0) - (x)))))

Pythagorean Theorem

Pythagorean theorem.png

This will give the length of the hypotenuse:

( [sqrt v] of (((a) * (a)) + ((b) * (b))))

And these will give the length of sides "a" and "b" (assuming the hypotenuse is "c"):

( [sqrt v] of (((c) * (c)) + ((a) * (a))))
( [sqrt v] of (((c) * (c)) + ((b) * (b))))

Distance between two Points

The distance between two points can be calculated by using the Distance Formula which is derived from the Pythagorean Theorem, The following is a ScratchBlocks representation of the distance formula. It has been broken into three lines. The distance formula is as follows:

distance = √((x2-x1)^2 + (y2-y1)^2)
set [a v] to ( ((x2) - (x1) ) * ( (x2) - (x1) ))
set [b v] to (((y2) - (y1)) * ((y2) - (y1)))
set [distance v] to ([sqrt v] of ((a) + (b)))

The distance formula in one line is:

set [distance v] to ([sqrt v] of ((( (x2) - (x1)) * ((x2) - (x1) )) + (( (y2) - (y1)) * ((y2) - (y1) ))))

Where d = distance, x2 = larger x value, x1 = smaller x value, y2 = larger y value, y1 = smaller y value

Midpoint between two Points

The coordinate of the midpoint of a line is found using the midpoint formula, which is as follows (the equation gives a (x,y) paired coordinate):

midpointcoord = ((x2+x1/2), (y2+y1/2))
set [x v] to (((x2) + (x1)) / (2))
set [y v] to (((y2) + (y1)) / (2))

Linear Equations

A linear equation is an algebraic equation in which each term is either a constant or the product of a constant and a single variable.

Here is an example of a linear equation: 2x+4=14, for which in standard form would look like this:

((((a) * (x)) + (b)) = (c))

In scratch, we could solve for x using the following script:

(((c) - (b)) / (a))

Inputting the values of a, b and c scratch could solve the equation with ease.

Quadratic Formula

Quadratic.png

These will give the two possible values of "x":

((((b) * (-1)) + ( [sqrt v] of (((b) * (b)) - ((4) * ((a) * (c)))))) / ((2) * (a)))
((((b) * (-1)) - ( [sqrt v] of (((b) * (b)) - ((4) * ((a) * (c)))))) / ((2) * (a)))


Caution (2).png Caution: If b2-4ac is negative, you will get a script error. Here's how you can avoid the error...


In this case these will give you the two possible values of "x":


(join (((b) * (-1)) / ( (2) * (a))) (join (join [+] (([sqrt v] of ((((b) * (b)) - ((4) * ((a) * (c)))) * (-1))) / ((2) * (a)))) [i]))

(join (((b) * (-1)) / ( (2) * (a))) (join (join [-] (([sqrt v] of ((((b) * (b)) - ((4) * ((a) * (c)))) * (-1))) / ((2) * (a)))) [i]))


Warning Warning: a≠0. If you plug in a=0, you will receive an invalid solution. As a rule in math, the "a" coefficient in Quadratic equations should not have a value of 0.

Cubic Formula

Warning Note: This formula may deal with complex numbers that cannot be handled by Scratch. If it were to be worked out properly, the complex numbers would cancel out, but unfortunately here a lot of problems will be unsolvable because Scratch does not support complex roots.

This will give the answer to the equation:

Cubic function.png

The analogous formula for this is:

Cubic function 2.gif

In Scratch this translates to this (scroll the equation to see more):

((([10 ^ v] of (((1) / (3)) * ([log v] of ((((((0) - (((b) * (b)) * (b))) / ((27) * (((a) * (a)) * (a)))) + (((b) * (c)) / ((6) * ((a) * (a))))) - ((d) / ((2) * (a)))) + ([sqrt v] of (((((((0) - (((b) * (b)) * (b))) / ((27) * (((a) * (a)) * (a)))) + (((b) * (c)) / ((6) * ((a) * (a))))) - ((d) / ((2) * (a)))) * (((((0) - (((b) * (b)) * (b))) / ((27) * (((a) * (a)) * (a)))) + (((b) * (c)) / ((6) * ((a) * (a))))) - ((d) / ((2) * (a))))) + ((((c) / ((3) * (a))) - (((b) * (b)) / ((9) * ((a) * (a))))) * ((((c) / ((3) * (a))) - (((b) * (b)) / ((9) * ((a) * (a))))) * (((c) / ((3) * (a))) - (((b) * (b)) / ((9) * ((a) * (a))))))))))))) + ([10 ^ v] of (((1) / (3)) * ([log v] of ((((((0) - (((b) * (b)) * (b))) / ((27) * (((a) * (a)) * (a)))) + (((b) * (c)) / ((6) * ((a) * (a))))) - ((d) / ((2) * (a)))) - ([sqrt v] of (((((((0) - (((b) * (b)) * (b))) / ((27) * (((a) * (a)) * (a)))) + (((b) * (c)) / ((6) * ((a) * (a))))) - ((d) / ((2) * (a)))) * (((((0) - (((b) * (b)) * (b))) / ((27) * (((a) * (a)) * (a)))) + (((b) * (c)) / ((6) * ((a) * (a))))) - ((d) / ((2) * (a))))) + ((((c) / ((3) * (a))) - (((b) * (b)) / ((9) * ((a) * (a))))) * ((((c) / ((3) * (a))) - (((b) * (b)) / ((9) * ((a) * (a))))) * (((c) / ((3) * (a))) - (((b) * (b)) / ((9) * ((a) * (a)))))))))))))) - ((b) / ((3) * (a)))

There are ways to work around Scratch's incapability of calculating complex roots with the aid of the Trigonometric Form of Solutions.

Tetration

Tetration is iterated exponentiation. It is written as ba, a^^b, or a[4]b, where a is the base and b is the height. Tetration is computed by the following procedure: ba=aaa, where there are b a's So 42 is 2222, which is 65536. It can be written in Scratch as:

repeat ((b) - (1))
repeat (a)
set [a^^b v] to ((a^^b) * (a))
end
end

Here, "a^^b" is your answer. This method only works for whole heights, however, but there is no known algorithm for calculating the value for non-integral heights.

xth root

The xth root of a number n is number that must be multiplied x times to get n. For example, the cube root (3rd root) of 2 (written ∛2) is about 1.2599, because 1.2599*1.2599*1.2599≈2.

A universal formula for finding the xth root of a number can be found using logarithms. To find the x root of n, use the following formula:

([e ^ v] of (([ln v] of (n)) / (x)))

This is based on a method of using exponents and logarithms, which Scratch supports, to find powers, which Scratch does not directly support (see solving exponents using the logarithmic method).

Fourth root, Eighth root, etc.

The fourth root of a number is the number that, when squared twice, gives the original number. The fourth root of 81, for example, is 3. Therefore, it can be replicated in Scratch with this script:

([sqrt v] of ([sqrt v] of (a)))//a is the input number

Similarly, the eighth root of a number is the number, when squared three times, gives the original number. The eighth root of 256, for example, is 2. It can be replicated with this script:

([sqrt v] of ([sqrt v] of ([sqrt v] of (a))))

In general, to get the 2nth root of a number, nest n () of () blocks together, and then enter the desired value, or insert a variable.

Physics

This section is for physical constants and equations.

Important Physical Constants

Constant Symbol Approximate value
Speed of light c 299792458 (exact value)
Universal gravitational constant G 6.67*10−11
Fine-structure constant α 0.007297
Planck's constant h 6.626*10−34

Pick's Theorem

Pick's theorem says that the area of a polygon with integer coordinates can be determined by:

A=½a+b-1

In the equation, a is the number of integer coordinates on the perimeter of the shape, and b is the number of coordinates inside the figure. In Scratch this translates to:

((((a) / (2)) + (b)) - (1))
  • This page was last modified on 29 May 2017, at 17:47.