Rotating a Vector in 3D Space

If you want to rotate a vector you should construct what is known as a rotation matrix. Rotation in 2D Say you want to rotate a vector or a point by θ, then trigonometry states that the new coordinates are To demo this, let’s take the cardinal axes X and Y; when we rotate the X-axis 90° counter-clockwise, … Read more

Probability of hash collision

Let’s imagine we have a truly random hash function that hashes from strings to n-bit numbers. This means that there are 2n possible hash codes, and each string’s hash code is chosen uniformly at random from all of those possibilities. The birthday paradox specifically says that once you’ve seen roughly √(2k) items, there’s a 50% chance … Read more

How to save decimal in java

Initialize your variable with an expression that evaluates to a double rather than an int: Otherwise the expression is done using integer arithmetic (which ends up truncating the result). That truncated result then gets converted to a double.

How can I convert a number from base 8 to base 10?

To convert any base to base 10 just do the following: For every digit in the different base multiply that by the base and digit. For example: Works for any base … binary, hex, you name it just do that and it will convert to base 10.

What is the most efficient way to calculate the least common multiple of two integers?

The least common multiple (lcm) of a and b is their product divided by their greatest common divisor (gcd) ( i.e. lcm(a, b) = ab/gcd(a,b)). So, the question becomes, how to find the gcd? The Euclidean algorithm is generally how the gcd is computed. The direct implementation of the classic algorithm is efficient, but there are variations that take advantage of binary … Read more