10-Apr-20
Trigonometry is math, so many people find it scary
It’s usually taught in a one-semester high-school course
However, 95% of all the “trig” you’ll ever need to know can be covered in 15 minutes
And that’s what we’re going to do now
The angles of a triangle always add up to 180°
20°
44°
68°
44°
68°
+ 68°
180°
68°
120°
20°
30°
+ 130°
180°
30°
We only care about right triangles
A right triangle is one in which one of the angles is 90°
Here’s a right triangle:
Here’s the angle we are looking at
Here’s the right angle adjacent
We call the longest side the hypotenuse
We pick one of the other angles-not the right angle
We name the other two sides relative to that angle
If you square the length of the two shorter sides and add them, you get the square of the length of the hypotenuse
adj 2 + opp 2 = hyp 2
3 2 + 4 2 = 5 2 , or 9 + 16 = 25
hyp = sqrt(adj 2 + opp 2 )
5 = sqrt(9 + 16)
There are few triangles with integer sides that satisfy the
Pythagorean formula
3-4-5 and its multiples (6-8-10, etc.) are the best known
5-12-13 and its multiples form another set
25 + 144 = 169 opp adj
Since a triangle has three sides, there are six ways to divide the lengths of the sides
Each of these six ratios has a name (and an abbreviation)
Three ratios are most used:
sine = sin = opp / hyp cosine = cos = adj / hyp tangent = tan = opp / adj
The other three ratios are redundant with these and can be ignored adjacent
The ratios depend on the shape of the triangle (the angles) but not on the size adjacent
With these functions, if you know an angle (in addition to the right angle) and the length of a side, you can compute all other angles and lengths of sides adjacent
If you know the angle marked in red (call it
A
) and you know the length of the adjacent side, then
tan A = opp / adj
, so length of opposite side is given by opp = adj * tan A cos A = adj / hyp
, so length of hypotenuse is given by hyp = adj / cos A
public static double sin(double a)
If a is zero, the result is zero public static double cos(double a) public static double sin(double a)
If a is zero, the result is zero
However: The angle a must be measured in radians
Fortunately, Java has these additional methods: public static double toRadians(double degrees) public static double toDegrees(double radians)
If you understood this lecture, you’re in great shape for doing all kinds of things with basic graphics
Here’s the part I’ve always found the hardest:
Memorizing the names of the ratios
sin = opp / hyp cos = adj / hyp tan = opp / adj adjacent
The formulas for right-triangle trigonometric functions are:
S ine = O pposite / H ypotenuse
C osine = A djacent / H ypotenuse
T angent = O pposite / A djacent
Mnemonics for those formulas are:
S ome O ld H orse C aught A nother H orse T aking O ats A way
S aints O n H igh C an A lways H ave T ea O r A lcohol
You are at: (x, y)
You want to move h units in the angle
direction, to (x
1
, y
1
): hyp opp adj
So you make a right triangle...
And you label it...
And you compute: x1 = x + adj = x + hyp * (adj/hyp) = x + hyp * cos
y1 = y - opp = y - hyp * (opp/hyp) = y - hyp * sin
This is the first point in your “Turtle” triangle
Find the other points similarly...