Bullseye Calculator
-
Vandal, you do what makes you happy(that’s what BMS is about), but I can see where DeeJay and others are coming from, too. When I started working with bullseye I wanted something I could learn to do" instinctively". I wanted to learn to visualize it. I found an old broken compass that had a degrees bezel on it, and taped it to the edge of my monitor. Then, I basically did DeeJays’ methodology. At first I kind of drove myself nuts trying for hyper accuracy, but then realized I didn’t need to be hyperaccurate. The funny thing is,after awhile I was able to visualize it, and the compass has been retired.
I think of it this way:I basically want 2 things from a bull call, in the A/A situation. I want to know if a bandit is in my general area. If so, and I want to engage it, then the second thing I need to know is where do I point my nose to put my radar cursors on it.
This visualization approach also gives me an enjoyable bit of immersion in the A/G situation. Say I’m at 180 for 10, heading 000,Weaseling . I see a SAM site at my 4 o’clock, looks like about 10 miles away. I can call to my wingman “attacking SAM, bull 165 for 15”. I bet I’ll at least be “close enough for virtual government work”.
However, that’s not what you asked for :). So, I dug this up in my notes. I never really worked with it, myself, but hope it helps…http://wildernessarena.com/environment/navigation/use-magnetic-compass-triangulation-to-calculate-distance-of-objectYah I agree with everything you said there and I do expect that if I keep flying in Falcon that I will get good at rough guessing the bearing and distance. Hopefully that will happen and I’ll take Dee-Jay’s advice to help me get there. Hopefully. But I still want to do what I set out to do and that’s make this calculator. Thanks for the article. I just skimmed it and I may be able to work it out from there, but I don’t think they are dealing with bearing questions there and that complicates the math a bit. I am still crossing my fingers at this point that some mathamagician will come along and make it easy for me.
-
I wrote a spreadsheet when I should have been working many years ago that would give you a random position and a random position for the contact, then plot it. The plot was on another sheet so I would visualise and see how close my visualisation was.
In terms of doing it in ones head…there is a reason the pilot selection examine has so much mental maths!
Heh heh, yeah I think you get where I am coming from. Half the value in doing something like this is just to be tinkering.
-
These sites are helpful.
http://www.185th.co.uk/squad_info/training/basic_n&b_bullseye.htm
And also trainer: http://www.185th.co.uk/squad_info/training/BullseyeTraining.zip
Thanks, -
I’m game, I’ll tinker too. The problem is determining the interior angle between you, Bulls, and boggie. Sketch these out to help… Ex1: boggie is north of you… you are 140 for 120 miles and boggie is 40 for 60 miles. The interior angle is 100°. Find distance between you and boggie… law of cosines, d=SQRT (40^2+60^2-24060cos100°)=143 miles…find angle between bulls, you and boggie…law of sines…A=arcsin (60sin100°\60)=24°…now you need to find the azimuth to turn to intercept… your back azimuth to Bulls is 140+180=320°…add 24° from previous calc…=344°… so boggie is 344 for 143 miles from you… fun ugh?? Ex2: you are 90 for 60 miles, boggie is 200 for 40 miles… interior angle is 110°…Find distance d=(60^2+40^2-26040cos110°)=82.7 miles…angle between bulls, you and boggie… A=arcsin (40sin110°\87.2)=27°…back azimuth 90+180=270°… subtract 27° from previous calc…=243°… so boggie is 243 for 83 miles from you…
Sketch some more out and you will see the problem with creating a progy is having it determine the interior angle to begin with and reckoning your back azimuth to yield your intercept course…
I’m going to have a go with Dee-Jay`s example and work with that… I’ll still move the Bulls so I generally work in the 0-180 half of the bulls… good luck,Quasi
-
I’m game, I’ll tinker too… Sketch some more out and you will see the problem with creating a progy is having it determine the interior angle to begin with and reckoning your back azimuth to yield your intercept course… I’m going to have a go with Dee-Jay`s example and work with that… I’ll still move the Bulls so I generally work in the 0-180 half of the bulls… good luck, Quasi
Thanks Quasi I know what I’ll be tinkering with tomorrow now. Thanks a million!
-
Sketch some more out and you will see the problem with creating a progy is having it determine the interior angle to begin with and reckoning your back azimuth to yield your intercept course…
I think I have this solved programmatically speaking. Albeit unelegant I think it will do:
We are trying to solve range and bearing to a bogey from our current position based on a bullseye call and our bullseye position as indicated on our HUD and FCR. The problem is we have to do our calculations from an acute angle.
Let’s set up some variables for this:
ap will be the bullseye point
bp will be the bogey point
cp will be the chump’s position (that’s us)aa will be the angle at the bullseye point (calculate)
al will be the length of the line opposite of aa (the distance between bp (bogey) and cp (us) for which we are trying to solve)ba will be the angle at the bogey’s point (calculate)
bl will be the length of the line opposite of ba (the distance between ap (bullseye) and cp (us) which we are given)ca will be the angle at our position (calculate)
cl will be the length of the line opposite of ca (the distance between ap (bullseye) and bp (bogey) which we are given)But because we must do the math on an acute angle we must determine if aa is an acute angle. If it is not an acute angle, we know that ba will be an acute angle so we can run our calculations from there. We have two more pieces of given information that answers this question for us.
bb will be the bearing from bullseye to b (the bogey) (which is given)
cb will be the bearing from bullseye to c (us) (which is given)THUS
aa = the absolute value of bb (the bullseye bearing to bogey) less cb (the bulleseye bearing on our hud)
[shorthand aa = ABS(bb-bc)]
IF aa is less than or equal to 90 THEN aa is an acute angle ELSE aa is not an acute angle.
[shorthand IF aa <= 90 THEN aaAcute = True ELSE aaAcute = False]
Even though we have variables above for some angles and lengths, we can’t really plug those in directly to a formula because if aa is not acute then it will blow up our math. So we have to abstract out to the acute angle and we can do this by assigning the previous angles (aa, ba, ca) and lengths (al, bl, cl) to variables which we can reliably use in trig functions.
So IF aaAcute THEN
xa = aa (where xa is the acute angle)
xl = al (where xl is the length opposite of xa)
ya = ba
yl = bl
za = ca
zl = cl
ELSE (we have to set this up where ba will the acute angle from which we do our trig)
xa = ba
xl = bl
ya = ca
yl = cl
za = aa
zl = al
ENDIFSo now we set up our trig to solve for xa, xl, ya, yl, za, and zl. We do not have to worry about where the acute angle is WE NOW KNOW xa is an acute angle.
DO TRIG FUNCTIONS TO SOLVE FOR BOTH xl AND zl
Once trig answers all angles and lengths we simply pass back the one length we are actually interested in.
To do this we simply go back to the same logical question we have already answered, was aa an acute angle? If so, then the length of the line between bogey and us (designated above as “al”) is xl (as was substituted above), otherwise the length we are looking for zl (again as was substituted in above).
[shorthand IF aaAcute THEN al = xl ELSE al = zl]
Now display “al” as our range to the bogey.
Now, I think there is a more elegant way to do this but this logic should work for range. As for our bearing to the bogey, we haven’t tackled that at all.
-
No need for bullseye position variables.
In Excel formulas :
If I’m at bullseye AAA°, BB NM, bandit is at bullseye CCC°, DD NM, and we want bearing EEE° and distance FF NM from us to the bandit :
X1 = COS(- AAA x PI()/180) x BB
Y1 = SIN(- AAA x PI()/180) x BBX2 = COS(- CCC x PI()/180) x DD
Y2 = SIN(- CCC x PI()/180) x DDEEE = ATAN2((X2 - X1), - (Y2 - Y1)) x 180/PI()
FF = SQRT( (X2 - X1)² + (Y2 - Y1)² )But I agree with DJ, better to practice with the HSI and refine with FCR/HSD cursors. Will be much faster in-flight.
-
Removed my post until I can clarify the equations so as to not confuse anyone.
-
jeepers creepers there are some clever people on this forum … For the avoidance of doubt I’m not one of them
-
Shouldn’t your X and Y coords be (90-AAA/CCC) to account for the offset in 0 for the circle? I didn’t do all 3 steps in your math to see if the answer comes out the same (Which as I type this I’m doing some quick math in my head and think it will), but using (90-AAA/CCC) will give a true plot in the [[-1,1],[-1,1]] space adjusted for 0 being North instead of East. The math would be the same either way, but it might help people visualize if they’re creating spreadsheets that also display the X,Y coords.
In my quick math, X is along the North south axis, + being towards North.
Y is along the East/West axis, + being towards WestThe minus sign for AAA & CCC in the cos & sin and in the second argument of ATAN comes from the fact that bearing turns clockwise, ie, a negative trigonometric rotation.
-
In my quick math, X is along the North south axis, + being towards North.
Y is along the East/West axis, + being towards WestThe minus sign for AAA & CCC in the cos & sin and in the second argument of ATAN comes from the fact that bearing turns clockwise, ie, a negative trigonometric rotation.
That works too.
-
In Excel formulas…
So for Excel your setup would be as follows…
Gentlemen thank you so much for the help. I tried both your solutions and maybe I am getting something wrong but they don’t seem to be working using DJs original example. See results here:
l3crusader’s
MorteSil’s
It’s possible that I screwed up your instructions (especially l3crusader’s because I had to replace variables with cell positions in the spreadsheet). If someone can try to verify my results and-or correct the problem and post the spreadsheet that would be much appreciated. Thanks again everyone.
-
This is not an Excel equation. I am not good at Excel.
I used gnuplot.
First, I defined some functions, related to vector calculation, inner/cross product, vector addition, magnitude etc.d2r(a)=a*pi/180. r2d(a)=a*180./pi vector(crs)=(mag=sqrt(cos(d2r(crs))*cos(d2r(crs))+sin(d2r(crs))*sin(d2r(crs)))/1.,sprintf("%.10f %.10f 0.0",cos(d2r(crs))/mag,sin(d2r(crs))/mag)) vecadd(a,b)=(sprintf("%.10f %.10f %.10f",word(a,1)+word(b,1),word(a,2)+word(b,2),word(a,3)+word(b,3))) multvec(multa,a)=(sprintf("%.10f %.10f %.10f",multa*word(a,1),multa*word(a,2),multa*word(a,3))) mag(a)=(sprintf("%.10f",sqrt(word(a,1)*word(a,1)+word(a,2)*word(a,2)+word(a,3)*word(a,3)))) symbolz(a)=(word(a,3)+0<0?"+":"-") cross(a,b)=(sprintf("%.10f %.10f %.10f",word(a,2)*word(b,3)-word(a,3)*word(b,2),word(a,3)*word(b,1)-word(a,1)*word(b,3),word(a,1)*word(b,2)-word(a,2)*word(b,1))) inner(a,b)=(sprintf("%.10f",word(a,1)*word(b,1)+word(a,2)*word(b,2)+word(a,3)*word(b,3))) bullseye(mbearing,mdis,ebearing,edis)=(az=vector(0),bz=vecadd(multvec(edis,vector(ebearing)),multvec(-mdis,vector(mbearing))),symz=symbolz(cross(az,bz)),magz=r2d(acos(inner(az,bz)/mag(az)/mag(bz))),sprintf("heading: %3d dist: %3d",(symz eq "+"?360-magz:magz),mag(bz)+0))
so many functions were defined. You knows well gnuplot and just put them into it.
And type bullseye(160,20,220,30)
The result is heading: 260 dist: 26Thanks,
-
Gentlemen thank you so much for the help. I tried both your solutions and maybe I am getting something wrong but they don’t seem to be working using DJs original example. See results here:
l3crusader’s
.
Yes it works (I think) -135 is the relative bearing.
360+40-135=265
Edit: for info, in the example I gave, I have missplaced the green dot (150 instead of 160) but as you see, not big deal, graphical bull gives a good idea of the heading to take.
Advantage of the graphic bulls, is that you have the 2D situation awareness. What you excel do not gives you, is the SA. It hust gives you an heading. But you are still without any SA about your position nor the target’s position relative to enemy or friendly SAMs , or relative to friendly assets … etc …
-
Yes it works (I think) -135 is the relative bearing.
360+40-135=265
Edit: for info, in the example I gave, I have missplaced the green dot (150 instead of 160) but as you see, not big deal, graphical bull gives a good idea of the heading to take.
Advantage of the graphic bulls, is that you have the 2D situation awareness. What you excel do not gives you, is the SA. It hust gives you an heading. But you are still without any SA about your position nor the target’s position relative to enemy or friendly SAMs , or relative to friendly assets … etc …
Hmmm… I don’t think either spread should be returning a relative bearing but true N-S bearing because I didn’t enter in the ownship’s course and neither l3crusader nor MorteSil baked your example into their solutions as I recall. So if I didn’t put your course in and they didn’t put your course in there…
Also, I was wondering about this earlier and forgot to ask you – why would you want a bearing relative to the nose of your bird over a true bearing? To me knowing the heading I need to turn to engage is more useful and direct information than how many degrees I need to turn when you are talking at BVR engagements. Just curious.
-
You messed up the formulas, here is what I got :
The minus sign for the bearing comes from the fact that ATAN2 gives back a value between -PI & PI, so end result is between -180 and 180. If you want a bearing between 0 and 360, add 360 to the value given if it is negative.
-
Also, I was wondering about this earlier and forgot to ask you – why would you want a bearing relative to the nose of your bird over a true bearing?
No reasons to have a relative bearing. Heading if fine. But again, it doesn’t provide you any situation awareness, just an heading to face the target. And in many cases you shouldn’t face it.
-
No reasons to have a relative bearing. Heading if fine. But again, it doesn’t provide you any situation awareness, just an heading to face the target. And in many cases you shouldn’t face it.
That makes sense to me now that you point out that one often wants to avoid the contact. Yeah, that’s 100% correct. However, I am just going to have to agree to disagree with you that knowing a range and bearing to a contact does not improve one’s SA. Perhaps my gift is that I can easily picture that if I am heading 130 and I know the bandit is bearing 306, I know without thinking about it he’s behind me. A little more calculating (the same calculating that you do at the git-go 306-130) and I will know he’s directly on my six. And now I know, just like you do, what I need to do to avoid him. I just break it down a little differently to get to the same SA (I don’t lock in the o’clock position until I have determined if it is a potential threat or a target). So, for you it may not be the best SA, but for me it’s going to tell me exactly what I need to know and quickly. I am happy to admit though I would prefer a plotted diagram (like an HSD snapshot) but that actually will take me more time to setup and the bandit is going to be somewhere else by the time I get it plotted if he’s close.
-
I have a couple of plotters which do it in seconds, basically its a perspex disk with a bearing scale on the outer edge. Its mounted on another disk with a grid printed on it. The centre spot is bullseye. When I get a call, I just spin the outer disk till the bearing is at the top, bottom, left or right hand side edge, aligned with the graduations, measure up the graduations, from bullseye, the range and make a mark. All the time I occasionally mark my own position the same way. Once I have both plots on the disk, I then rotate the plots so they are aligned vertically along the grid lines and from the top, I read of the bearing to target and measure the distance between the two plots using the graduations, Only takes seconds If I have been maintaining my own position. Another thing you can do is, during your preparation is, plot targets, waypoints, sam and AA positions and route etc to see if any of the hostile calls are going to be near where you are going. One of them I bought of Ebay and one at an aero jumble sale, one of them is for calculating weapon deliveries etc and intercepts and the other is just designed for working out intercepts……and oddly enough, I cannot find them despite having them both a few weeks back. But, it should not be too hard to make such a plotter, clear perspex disk with graduations on and a circualar piece of graph paper laminated and then fastened together in the middle.
-
I’ll wager $50 that I can punch in four numbers quicker than you can accurately plot two contacts and figure the bearing. He who gives the range and bearing first by voice wins, because you are doing it in your head I’ll even handicap you range by 5 nm and bearing by 5 degrees whereas I must get within .1 nm and .1 degrees. The only thing is I need the formula first to prove that I can beat you to the solution
Interesting thread. This is NOT meant as an insult, but if you were a pilot like Dee-Jay would would recognize his initial graphic explanation as how we calculate a “point to point” on the HSI. That is a basic instrument flying task in which all instrument rated or military pilots are evaluated. It is a snap shot (ballpark) solution that you continue to refine as you approach the fix. You might not want to make an effort to practice due to the lack of precision, but it is a very BASIC skill of professionals. There are times when the magic stuff quits working, or you find yourself on battery power.
Having a range and bearing solution to some false precision is interesting as an exercise. But it’s not terribly useful in a dynamic environment against a moving target that was described with an approximate location in a Bullseye call. It’s essentially measuring with a micrometer, marking with chalk, and cutting with an ax.
Assuming you have maintained some basic degree of SA (where you are in relation to BE) when the Bullseye call is made, with practice, you should know if the contact is behind or in front of your 3/9 line and the shortest direction to turn to acquire the contact with a sensor or go for separation. It is a skill once acquired you will wonder why you’ve tried to make it so hard. FWIW as you gain experience in BMS you will even paint a mental picture of where friendlies are in relation to you and BE based upon their radio calls. I do this watching Youtube videos of BMS sorties.;)