2. Maths Pythagoras Theorem
Most people who have done maths in high school, would have heard of Pythagoras theorem.
This is used to work out the unknown side of a triangle, if you know the other 2 sides.
Here you can see the sides, A, B and C.
Now Pythagoras theorem states that A^2 + B^2 = C^2
So if you know any two sides, you add them in, rearrange the formula if needed, and then you can solve for the unkown sides.
So how would you use this in a game? What about collision detection? Using this you can find quite easily in a 2 dimensional plane when 2 points will meet.
They will meet when A^2 + B^2 = 0
Quite simple really, you take the position of A and B on the X axis and do the equation, then if it comes up with an answer of 0, you then take the position of A and B on the Y axis, then if that also comes to 0, they must be colliding.
So to put that in other words, we are finding the distance If the distance is nothing, then they are located in the same position.
Not sure if that is right, sounds right from my position, although it is 1:18 am.
If you have any questions, please email me at swiftless@gmail.com
Hi Flekken,
That is exactly true, A^2 + B^2 will only equal 0 if A and B is 0.
While the formula you have given is the true formula for working out the distance between two points, look at what it is actually doing. I will look at 2D space:
Now if we have a collision when the result is 0, if we apply some basic maths to the distance formula, we can remove the sqrt:
0 = sqrt((x2-x1)^2 + (y2-y1)^2)
0^2 = sqrt((x2 β x1)^2 + (y2 β y1)^2)^2
0 = (x2 β x1)^2 + (y2 β y1)^2
And now look at what x2-x1 and y2-y1 do. They give us the length of the line segments A and B.
Therefore:
x2 β x1 = A and y2 β y1 = B
And then:
0 = (A)^2 + (B)^2
0 = A^2 + B^2
Therefore we have a collision. Both this shorthand version and the full version of the distance formula are the same thing.
Hope this helps clarify
Swiftless
I donβt understand how can you use this for calculating distance. The only time A^2 + B^2 would be 0 is when A and B is 0. The proper formula for calculating distance between 2 point is:
sqrt( (x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2 )
What if A = 1 and B = i ???
Hey Dan,
Then I would have to ask why are you using imaginary numbers as lengths?
Cheers,
Swiftless