Compass Navigation (Possible Spoilers)

A place to talk to other users about the mod.
Post Reply
NotEvenOdd
Posts: 33
Joined: Fri Nov 30, 2012 1:38 pm

Compass Navigation (Possible Spoilers)

Post by NotEvenOdd »

*After lurking for quite some time I thought I'd share something meaningful. I apologise if this has been posted in the wrong sub-forum*

As I'm sure you're all aware, the use of the F3 screen was removed in version 4.20 of Better than Wolves preventing the player from accessing the silly GPS co-ordinates. I realised very recently though that it would be possible to navigate anywhere using only the compass and a calculator. The method is fairly complicated and requires a good knowledge of trigonometry to understand, but I will try my best to explain:

The compass needle points at a fixed spot which I will define as the 'origin', (0, 0). I will also define two axes, 'y' and 'x' that increment in the directions 'north' and 'east' respectively. This system allows for any direction of 'north'. I find where the sun sets the most memorable since then both the sun and the moon are constantly travelling in a northerly direction.

I will now be able to walk anywhere in the world and find my position relative to the origin using this method:

The compass has twenty-five 'notches' which I assume to be 14.4 degrees (2pi/25 radians) each increment. You are going to find three variables in order to calculate your position. These variables I have named 'alpha', 'beta' and 'd' and are illustrated in the graph in the link below:

Open me!

[----360 / 0-----]
[------------------]
[-270--------90--] (Imagine this is your standard Minecraft compass)
[------------------]
[-------180------]

On the compass, take clockwise movement as positive where 0 / 360 degrees is at the top.
The angles on the graph are measured in an anti-clockwise fashion.

  • Stand at a point 'A' facing 'north'. Line the compass up with the needle facing the top. Now turn around until you're facing north in the most direct way (clockwise or anti-clockwise), counting each notch along the way. Multiplying the number of notches counted by 14 will give you a the bearing of the origin from your current position.
  • Work out which 'quadrant' of the graph you are in, that is whether you are NE, SE, SW or NW.. If you are in the first (upper-right) quadrant, the needle will be at 180-270 degrees when facing north. The second, (upper-left) 90-180. The third, (lower-left) 0-90. The fourth (lower-right) 270-360.
  • Now find the angle 'alpha' (in degrees). This is straight-forward for the first quadrant, but for the others you will need to find the angle that meets the x axis and the line OA - this angle should be acute and positive. This may be a bit tricky first time.
  • Decide which direction you are going to walk in order to take your next bearing. If you are in quadrants 1 or 2, you should walk directly north, otherwise you should walk directly south.
  • Walk in the correct direction, compass in hand, counting each block as you move. Stop when the compass needle increments, this is the point 'B'. 'd' is the number of blocks you have travelled for the compass needle to move.
  • Since the compass has moved by one notch, the angle beta should therefore be 14.4 degrees. For larger increments of 'n' notches: beta = 14.4n degrees
  • Using the values of 'alpha', 'beta' and 'd', find your approximate position using the formulae:

    x = [d.cos(alpha).cos{alpha + beta}] / sin(beta)

    y = [d.cos(alpha).sin{alpha + beta}] / sin(beta)

The quadrant you are in determines whether x and y are positive or negative.

First quadrant: (+ve, +ve)
Second quadrant: (-ve, +ve)
Third quadrant: (-ve, -ve)
Fourth quadrant: (+ve, -ve)

Note that this is an approximation to the point B, not A. There are many sources of error in the calculation, largely due to the rounding of the vanilla compass. The amount of time it takes to reach an estimate will depend heavily on how far away you are from the origin, your patience and how close you are to the line x=0.

I am working on methods for calculating similar results when moving towards the origin and in the east-west direction.

Please feel free to ask any questions or criticise my experimentation (constructively!). I may do a tutorial as I can imagine this must be difficult to grasp with text alone.

Have fun exploring.

Derivation

Further Navigation:
Spoiler
Show
You can find an the angle between two points A (a, b) and B (c, d) using the formula: theta = arctan{(d - b) / (c - a)} (where arctan(x) is the inverse tangent function). Using north as your 0 / 360 degree mark, you can then approximate which direction to walk in. Finding the distance between A and B will also give you an idea how far you will have to walk for.

A more exact method requires finding the ratio (c - a) : (d - b). Just repeat to yourself: "for every (c - a) blocks east / west, move (d - b) blocks north / south" until you reach your destination (or go insane).
Finding distances:
Spoiler
Show
Between a point 'B' and the origin: dist. = [d.cos(alpha)] / sin(beta)

Between two points 'A' (a, b) and 'B' (c, d): dist. = [ (d-b)^2 + (c-a)^2 ]^(0.5) - using Pythagoras' theorem
User avatar
mikeyagoto
Posts: 29
Joined: Tue Aug 28, 2012 11:20 pm

Re: Compass Navigation (Possible Spoilers)

Post by mikeyagoto »

This is really cool, I think it would be useful when used in conjuction with my favorite orienteering trick. Once you take your bearing and find the angle (I prefer that method over the exact one) find a landmark in that direction, that way you take a safer/more hunger efficent route without loseing your way. Then when you reach your landmark rinse and repeat till you find where you are going!

And we thought geometry would never be good for anything!
User avatar
Gilberreke
Posts: 4486
Joined: Thu Jul 14, 2011 3:12 pm
Location: Belgium

Re: Compass Navigation (Possible Spoilers)

Post by Gilberreke »

I posted a similar thread not too long ago:
viewtopic.php?f=3&t=7676

Glad to see I'm not the only one to use the compass that way :)
Come join us at Vioki's Discord! discord.gg/fhMK5kx
User avatar
jorgebonafe
Posts: 2714
Joined: Mon Sep 19, 2011 3:22 am
Location: Brasil

Re: Compass Navigation (Possible Spoilers)

Post by jorgebonafe »

:'(
Better Than Wolves was borne of anal sex. True Story.
User avatar
Gilberreke
Posts: 4486
Joined: Thu Jul 14, 2011 3:12 pm
Location: Belgium

Re: Compass Navigation (Possible Spoilers)

Post by Gilberreke »

jorgebonafe wrote::'(
You can also use the super excellent Astrolabe plugin :)

viewtopic.php?f=12&t=7897
Come join us at Vioki's Discord! discord.gg/fhMK5kx
User avatar
jorgebonafe
Posts: 2714
Joined: Mon Sep 19, 2011 3:22 am
Location: Brasil

Re: Compass Navigation (Possible Spoilers)

Post by jorgebonafe »

Bwahaha... My mind control attempt was successful...

Image
Better Than Wolves was borne of anal sex. True Story.
EtherealWrath
Posts: 298
Joined: Sun Dec 23, 2012 1:37 pm

Re: Compass Navigation (Possible Spoilers)

Post by EtherealWrath »

Take this one step further; once you have a rough coordinate you can plot it on graph paper and slowly construct an actual map of the world.
Phantom screams echo through the ruined facility
A horrible silence builds an eerie tranquility
The souls of many innocent fill the air
The hope they all died with scattered down there
Post Reply