There are two systems for expressing orientation on a map. One is a bearing, given in degrees clockwise of North. The other is to use 'points of the compass', such as Norh-Northeast (which equates to a bearing of 022.5).
Unfortunately, not all orientations can be expressed as a point of the compass of finite length. Your challenge is to come up with a system of turning any bearing into a sequence of points of the compass, whose bearings tend to the bearing you're trying to reach.
For starters, try to get a sequence tending to 030.
Are you looking for sequence of, what you call, points of the compass that converge to a particular bearing? I will assume so.
- Start at north (0 degress).
- Go 90/2 (45) degrees towards east.
- Go 90/4 (22.5) degrees back towards north.
- Go 90/8 (11.25) degrees back towards east.
- etc.
This generates the following sequence:
S = 90/2 - 90/4 + 90/8 - 90/16 + 90/32 - 90/64 + ...
S = 90*(1/2 - 1/4 + 1/8 - 1/16 + 1/32 - 1/64 + ...)
S = 90*[(1/2 + 1/8 + 1/32 + ...) - (1/4 + 1/16 + 1/64)]
S = 90*[2/3 - 1/3]
S = 90*[1/3]
S = 30
Is this what you were looking for?
-Ray.
OK, I hope I can make this clear. Here goes:
Start with four lines (a simple compass) in the orientations 0, 90, 180, 270, equivalent with N, E, S, W.
Now take your orientation, and check between which lines it lies. Our example, 30 is between 0 and 90. Check on which side of the middle the given orentation is. 30 is closer to 0 than to 90, so the sequence starts with N.
(Note, that should the given lie exactly on this or a following division, add NE and the sequence is finite).
Then, draw a line through the middle of the lines inbetween our given orientation lies. Our example: 45. Now we check whether the given lies closer to 0 or to 45, which is of course 45. Now we write not NE behind our sequence, but E, because the given tends more to E than to N: NE
Now, half the arc in which the given lies, and we get 22.5 - 45. 30 lies closer to 22.5 than 45: NEN
Half again: 22.5 - 33.75: NENE
Half again: 28.125 - 33.75: NENEN
Continue this contruction and you have your sequence. For 30 degrees it will be NENENENENENENE....
EDIT: I think rgoudie and I have the same answer, but mine is more constructive and less math.
Originally posted by AcolyteHow about this?
There are two systems for expressing orientation on a map. One is a bearing, given in degrees clockwise of North. The other is to use 'points of the compass', such as Norh-Northeast (which equates to a bearing of 022.5).
Unfortunately, not all orientations can be expressed as a point of the compass of finite length. Your challenge is to come up with ...[text shortened]... d to the bearing you're trying to reach.
For starters, try to get a sequence tending to 030.
Rather than using the N, E, W, and S to express the "inbetweenness" use them to express a ratio.
So 045 is halfway between North and East so it would be NE as is usual or it could be EN
030 is 1/3 of the way between North and East so it would be NNE - this is different than the current system where NNE is 022.5
As a further example 040 is 4/9 of the way round from North to East so it would be NNNNNEEEE. (5 Ns 4 Es)
This would allow finite length strings for any rational angle (in degrees)
Originally posted by pidermanThat's right, only I think you're writing your sequence the wrong way round. NEN isn't allowed as a point of the compass; it's written NNE.
OK, I hope I can make this clear. Here goes:
Start with four lines (a simple compass) in the orientations 0, 90, 180, 270, equivalent with N, E, S, W.
Now take your orientation, and check between which lines it lies. Our example, 30 is between 0 and 90. Check on which side of the middle the given orentation is. 30 is closer to 0 than to 90, so the seque ...[text shortened]...
EDIT: I think rgoudie and I have the same answer, but mine is more constructive and less math.
Is there a way of expressing bearings in binary which produces the desired sequence?
> Unfortunately, not all orientations can be expressed as a point of
> the compass of finite length.
Angles and length are two separate dimensions to be measured, each compass point has a corresponding heading (or bearing), be it True, Magnetic or Relative, so I am missing your correlation bewteen 'finite length' and 'point of the compass'.
> Your challenge is to come up with a system of turning any bearing
> into a sequence of points of the compass, whose bearings tend to
> the bearing you're trying to reach
Are you getting at creating named points to a greater resolution (i.e. something between N and NNE? If so, wouldn't that simply be NNNE? (an equivalent heading of 11.25 deg) Or is that violating your reference to 'finite length'?
Your challenge is a little ambiguous. It sounds like challenging someone to devise a way to describe a number greater than 9, but using only one digit...the answer to that is of course, the Hexadecminal system. In which case anyone could devise an arbitrary way of expressing any point on the compass. Like dividing a circle into 26 equal divisions and labeling them after the alphabet.
I imagie me getting radar vectors tomorrow when I go flying, "Bloodhound 340, you're cleared on the J radial to San Nicholas Island!"....okay bad flying humor...
Originally posted by IBNFE2By length I mean the length of the string of letters. It is true that all points of the compass can be expressed as a terminating decimal in bearing terms, but the converse is false, as in the example given above: 030 is equivalent to ...NENENENNE, which is not a 'point of the compass' as I have defined them, but can be seen as a sequence of them.
> Unfortunately, not all orientations can be expressed as a point of
> the compass of finite length.
Angles and length are two separate dimensions to be measured, each compass point has a corresponding heading (or bearing), be it True, Magnetic or Relative, so I am missing your correlation bewteen 'finite length' and 'point of the compass'.
> Your ...[text shortened]... und 340, you're cleared on the J radial to San Nicholas Island!"....okay bad flying humor...
You can increase the resolution by throwing in more primary axes, but you're never going to cover the whole circle with conventional points. So I'm trying to get a system of expressing all these other points, analogous to way sequences of rationals are used to express real numbers.