SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > Silent Hunter 4: Wolves of the Pacific
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 03-02-13, 05:36 PM   #31
TorpX
Silent Hunter
 
Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
Default

Quote:
Originally Posted by Dorjun Driver View Post
TorpX,
It’s not clear to me why your application doesn’t generate at least a partial firing solution for Case 3, i.e. the lead angle, which is all one really needs.
Well, it won't provide a solution by itself. If you extrapolate the plot and feed in the data corresponding to a point in time when the sub has crossed the Target Track, it will provide a solution.

Maybe I should have put this capability into the program, but I didn't think the situation would occur often enough to justify the effort. To get the numbers to work right, some account has to be made for the sub speed sign, because the sub is initially closing the Target Track , then moving away. Also, the angles change. The program rejects these cases. If I hadn't put code in to do it that way, you would get incorrect numbers which would be very confusing. If there is a big demand for this, I might revise it, but judging by the limited number of responses, not many people are going to use this.

Quote:
...the lead angle, which is all one really needs.

I disagree that the Lead angle is all you need. I consider the other elements, Track Range, Run Time, and Time to Position to be of almost equal importance.

I did see your posting on zero-gyro shooting. Did you see the formulas in the OP? The first one in particular will give you equivalent results.

[I restored the images in the OP. I had reorganized them at Photobucket and broke the links. Sorry!]

Quote:
Doesn't the TDC do this for you?
In terms of the "lead angle", yes. It doesn't give the track range, run time, or others. In any case, S-class boats didn't have them.

If you really mean to ask "Why bother with all this?", I'm not sure I can give you a easy answer. If you never depart from using the game TDC, you may very well sink a goodly number of ships, but it is unlikely you will ever develop a real understanding of the finer points of Fire Control. I guess someone who always plays in auto-targeting mode could ask why anyone bothers with manual targeting. To me, the game would not be half as enjoyable without these detailed elements.
TorpX is offline   Reply With Quote
Old 03-02-13, 06:10 PM   #32
Dorjun Driver
Loader
 
Join Date: Jul 2012
Location: The Upper Left Edge
Posts: 81
Downloads: 77
Uploads: 0
Default

Quote:
I disagree that the Lead angle is all you need. I consider the other elements, Track Range, Run Time, and Time to Position to be of almost equal importance.

I did see your posting on zero-gyro shooting. Did you see the formulas in the OP? The first one in particular will give you equivalent results.

[I restored the images in the OP. I had reorganized them at Photobucket and broke the links. Sorry!]
I didn’t make myself clear. What I meant is that when the target takes an unexpected zig or zag at the last moment, given she maintains her speed, all that’s required is to plug in the new intercept angle given her new course. From that—and maybe a little stick and rudder work—the deflection/lead angle then drops into your lap. With seconds to spare, too!

As you may have gathered, human factors aren't my strong suit.

Dorj
Dorjun Driver is offline   Reply With Quote
Old 03-02-13, 08:14 PM   #33
TorpX
Silent Hunter
 
Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
Default

Quote:
Originally Posted by Dorjun Driver View Post
I didn't make myself clear. What I meant is that when the target takes an unexpected zig or zag at the last moment, given she maintains her speed, all that’s required is to plug in the new intercept angle given her new course. From that—and maybe a little stick and rudder work—the deflection/lead angle then drops into your lap. With seconds to spare, too!
Yes, if all you want at the last minute is the lead angle, you can simply change the track angle and recalculate (either in the program or manually). But, there are practical and RL considerations. If in case 1, the target ship takes a last minute zig, you will quite possibly be faced with a situation of either, "the target got by" (it has already gone past the new firing bearing), or the new track angle will be much less favorable (as well as the range being longer). In RL, it took an appreciable amount of time to calculate a firing solution without the TDC. It also takes some time to change course in a submerged submarine. The difficulty of quickly computing firing solutions, while making an approach on a zigging target lead the Navy to develop the the TDC.



From Dignan:
Quote:
Any way you can make this an iphone app?
I don't own an iphone or any such device. I would think someone who knows how to make apps for these could do it without too much trouble.

Heretofore, I used my TI-85 for this sort of thing, but the display is very small and it's hard to see well in a dark room. Otherwise, it works very well, so I don't see why an i-phone couldn't handle it.

I was wondering whether anyone could run this on a tablet computer.
TorpX is offline   Reply With Quote
Old 03-04-13, 02:09 PM   #34
CaliEs
Loader
 
Join Date: Oct 2011
Posts: 89
Downloads: 27
Uploads: 0
Default

Quote:
Originally Posted by TorpX View Post


Any feedback would be welcome. I am especially interested to hear what people like or dislike about the display. This is what I spent most of my time on and what proved to be most difficult.

TorpX





Red squares because these data are critical.

Torpedo-Impact-Angle = TrackAngle ( if TrackAngle < 90)
TrackAngle - 90 (else)

Use AoB. TrackAngle should be computed from the program itself
TrackAngle = 360 - TargetBearing + AoB ( if TargetBearing > 180)
-TargetBearing - AoB (else)

Time input because for position data who were availeable in the past and has changed if one wants to input them in the program.

Also conversion date nautical miles for ranges would be a good idea.

For other changes see pic.

if the "time to position " < 1 minute then there is a problem with the minute display IMO.
__________________
Dietrich von Carlewitz, 2nd Lt.
U-29
CaliEs is offline   Reply With Quote
Old 03-05-13, 01:38 AM   #35
TorpX
Silent Hunter
 
Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
Default

OK, for those just tuning in, the preceding screen shot is NOT AFS I, but rather CaliEs's proposed version. If your confused, don't feel bad; I was too, when I first saw it.


Quote:
if the "time to position " < 1 minute then there is a problem with the minute display IMO.
I'm not sure what you mean here. If you are getting a wrong/confusing answer post/PM me with the complete problem (all set-up data) and I will look at it, and see what's what.

I consider the space for HOURS to be totally superfluous. If you have that much time to burn, you don't need a quick firing solution, you need to tell your XO, your turning in to your bunk, and wake you in good time.

It is not the purpose of this utility to compute intercepts for distant contacts. That can be done easily in plotting, or with other apps.

Quote:
Also conversion date nautical miles for ranges would be a good idea.
Fire control problems are usually done with yards or meters. See above.

Quote:
Time input because for position data who were availeable in the past and has changed if one wants to input them in the program.
I am thinking you don't understand the way this is meant to be used. Every observation of the target you put on your plot should be associated with a time. (The game will not let you mark it on the charts, but you should write it down on paper so you have it.) The idea is not to use this as a no-plot method, but rather to use this with your plot. So, for example, if I make my final observation at 1408 hrs. , I will then update my plot and check the data. Then, after I am satisfied with the data and set-up, I put the data in the program and hit the calc. button at 1410 hrs. If the solution comes back with a time to position of 2' 30'', then I know I have less than 30 seconds to get the scope up and fire the torpedos. Nothing else is required. In your screen, you have 4 different times displayed! Why? It is confusing and unnecessary.

Quote:
Torpedo-Impact-Angle = Track Angle ( if Track Angle < 90)
Track Angle - 90 (else)
This is not correct. In a zero-gyro angle set-up, the "impact angle" as you call it, is the Track Angle. It is called the Torpedo-Track angle, and since the Torpedo Track coincides with the Sub Track, The Torpedo Track angle is the same as the Track angle.

Quote:
Use AoB. Track Angle should be computed from the program itself
Track Angle = 360 - Target Bearing + AoB ( if Target Bearing > 180)
-Target Bearing - AoB (else)
Simply put, No! I specifically configured the equations in terms of the Track angle. Using the AoB offers no advantage, and is often a source of confusion in learning manual targeting. Why do I say this? Because the Track angle is constant, while the AoB will be changing moment to moment. It is much easier to plan an approach using the Track angle, than trying to recalculate/check the plot relying on the AoB. If you are confused about the Track angle, study the examples, and consider this:

At the moment of Torpedo Impact, the Track angle, and the AoB are the same!





However, I might put in code so 0 speed Sub/Target situations do not halt the program. It didn't seem that important when I was working on it.
TorpX is offline   Reply With Quote
Old 03-05-13, 06:35 PM   #36
les green01
Seasoned Skipper
 
les green01's Avatar
 
Join Date: Jan 2002
Location: Freeman Missouri
Posts: 1,735
Downloads: 1375
Uploads: 0
Default

want to say thanks,it does work on windows 7 having the help function on the program is nice you done a really good job
__________________
I'll tell you what bravery really is. Bravery is just determination to do a job that you know has to be done.
Audie Murphy

Last edited by les green01; 03-05-13 at 09:10 PM.
les green01 is offline   Reply With Quote
Old 03-05-13, 10:21 PM   #37
TorpX
Silent Hunter
 
Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
Default

Your most welcome. It is good to hear some positive feedback.

I must admit, I'm a little worried about how many are able to use this. Not just, will it run on Windows 'X', but can people use it without triggering the mysterious and annoying CO2 bug.
TorpX is offline   Reply With Quote
Old 03-06-13, 07:37 AM   #38
les green01
Seasoned Skipper
 
les green01's Avatar
 
Join Date: Jan 2002
Location: Freeman Missouri
Posts: 1,735
Downloads: 1375
Uploads: 0
Default

on my laptop i got a windows button right there by the alt button so i use that instead of alt f4 and hadnt had no problem
__________________
I'll tell you what bravery really is. Bravery is just determination to do a job that you know has to be done.
Audie Murphy
les green01 is offline   Reply With Quote
Old 03-15-13, 09:38 PM   #39
TorpX
Silent Hunter
 
Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
Default

This post is just to let anyone know, I am aware of some problems with the program. Namely, sometimes extraneous results being returned in certain cases. I had intended these to be excluded and the "computation error!" window to pop up, but I didn't get the code right. It is easy to describe the conditions required for a solution in plain english, but not so easy to do it with boolean statements.

I am working on a fix, and some minor improvements.
TorpX is offline   Reply With Quote
Old 03-23-13, 01:49 AM   #40
TorpX
Silent Hunter
 
Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
Default

OK, version 2.1 has been uploaded to SS Downloads section.

New for v2.1:
  • Better filtering of extraneous results
  • Added capability for bow-on/stern-on solutions
  • Minor display tweaks
Most of the changes were made to eliminate the extraneous results that sometimes slipped through. This turned out to be harder than I thought it would be. I also added the "head-on" solution ability, more for completeness than any real need. I eliminated the Windows error tone that sounded for non-solution results. I found it to be very annoying.


Inside baseball math stuff:
Part of the problem, with the internal checks, is that the code will only do trig. functions in radians, and sine of pi doesn't return 0, exactly, though it should. (Another reason to hate radians.) This added another layer of difficulty to the boolean tests.
I thought that I could easily use a small angle of .01 or .001 deg. instead of 0 degrees, for a head on situation. This turned out not to work well, in practice. If the corresponding track angle is too sharp, the Tpos will distort the solution and result in ranges that are inaccurate. If the angle is too blunt you will have a non-solution result. Adding different equations for these situations was necessary to handle this sort of thing.
TorpX is offline   Reply With Quote
Old 03-23-13, 06:53 AM   #41
BigWalleye
Sea Lord
 
Join Date: Jul 2012
Location: On the Eye-lond, mon!
Posts: 1,987
Downloads: 465
Uploads: 0


Default

Just out of curiosity, what language did you write it in?
BigWalleye is offline   Reply With Quote
Old 03-24-13, 08:52 PM   #42
TorpX
Silent Hunter
 
Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
Default

Quote:
Just out of curiosity, what language did you write it in?

Liberty Basic v4.04.

If anybody is interested, you can download the demo version free at www.libertybasic.com.
TorpX is offline   Reply With Quote
Old 04-02-13, 12:04 AM   #43
Aramike
Ocean Warrior

Best of SUBSIM
Chairman
 
Join Date: Dec 2008
Location: Milwaukee, WI
Posts: 3,207
Downloads: 59
Uploads: 0
I don't have anything intelligent to add, other than to point out that I love threads like this: intelligent posts regarding well thought-out concepts.

Well done!
Aramike is offline   Reply With Quote
Old 04-02-13, 11:18 PM   #44
TorpX
Silent Hunter
 
Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
Default

Thank-you very much!

If you liked this, I think you will like my next project better.

I think I'll just post it in this thread...um...pretty soon, I hope. Anyway, it's a new (and more sophisticated) method for computing a firing solution. I have most of the underlying math worked out, but still have a great deal yet to do for the associated program. It's funny how computers were developed to do math, but seem to often make it more complicated.


TorpX is offline   Reply With Quote
Old 05-08-13, 07:11 PM   #45
TorpX
Silent Hunter
 
Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
Algebraic Firing Solution II

AFS II (for curved fire)





Early attempts


Have you ever tried to figure out a way to calculate a firing solution with a non-zero gyro angle? Well, I have. If it's possible to calculate a firing solution for straight fire, why not do the same for curved fire? Years ago, after I had worked out the math for a straight shot, I tried to come up with something ... and got nowhere. A while later, I came back to it, and tried again. Again, I failed to find a way. (This was all in the SHCE era.)


Not wanting to give up I came back to it, recently, after touching up and getting the AFS I technique ready for presentation, I decided to have a more serious try at this. First, I tried to diagram a typical curved torpedo track to find a usable triangle so standard trigonometry could solve the problem. Of course, I got nowhere with this. Then, I tried to find a suitable trapezoid, or rhombus, or ... whatever. None of this proved fruitful. Seeing that there was really no "magic polygon" to fall into my lap, I then worked on a technique, where the turning part of the torpedo track, is approximated and the solution was to be calculated in parts. There would be a "preliminary" solution and then adjustments that would compensate for the deviation, etc. I considered this to be promising at first. However, as I got more into it, it became clear that the accuracy of the adjustments was likely to be a good deal less at large gyro angles. So, I decided to tear up this method and start over.





Cartesian Coordinates


I finally realized that the pursuit of clever geometry shortcuts, is a waste of time. There was no use going over that ground again. I decided to lay out the problem in terms of Cartesian coordinates and a defined x and y axis, and carefully define every known element. This approach, while involving a good deal of work, offered a sure result.


I defined the X-axis to be the axis along which the sub travels, the Y-axis as perpendicular to this. The sub's initial position is 0,0 and moves in a positive direction. The target can be anywhere, so it's coordinates can be positive or negative. The same is true for the torpedo gyro angles and coordinates.


Note, that we seek to find the correct launch bearing for a given gyro angle, not the gyro angle for a given launch bearing.

This shows the general geometry of the problem:












To obtain a solution, I have divided the attack phase into three parts. At the start of the first phase, the sub, U, and target, T, are at their initial positions, and the necessary data for a solution has been compiled. The target and the sub are moving into position for launch.
At the start of the second phase, the torpedo is launched, it runs out, turns, and completes it's turn. In the third phase, the torpedo runs straight ahead on it's final heading, until it impacts with the target. Note that while the target's position, and sub's position at ph2, and the sub position at ph3 (T2, U2, and U3) can be computed, I don't show them here as they don't have any particular tactical significance. The critical thing here is that the torpedo turning phase must be defined separately.


Here is what is known, in math terms:
R is the range to target, at start
Vt is target speed
Vu is sub speed
Vp is torpedo speed
theta is relative target bearing, at start
alpha is relative target course
t1 is time for first phase, (positioning)
t2 is time for second phase, (torpedo turn)
t3 is time for third phase, (torpedo final run)










In order to define the torpedo movement, we must delve into the details of the geometry of the torpedo turn:












Defining the movement of the torpedo caused me some anxiety until it occurred to me that we don't need to know the location of the torpedo moment to moment, only where it is, as it finishes the turn; an easier matter.


Along the X axis, I broke the turn into 3 segments: the tube distance, b, the torpedo reach, q, and the turn, k. k is easily seen to be equal to r*sin g.



For the displacement along the Y axis, we want to know m. m + n = r and n = r*cos g, so m = r – r*cos g = r(1 – cos g).
After adding some terms to account for the sign of g, we obtain:








With the torpedo movement elements defined, we can get down to serious business.


By definition, in our firing solution, the position of the torpedo at P3 and the target at T3 will be the same.


Thus:








We want to solve for the time variables, t1, t2, t3. Once we know those, we can calculate anything we need, but it appears we have two equations and three unknowns. What to do? Well, since we hammered out the torpedo turn, location and know it's speed, we can calculate t2 at the outset, and eliminate it as an unknown.



Success


From here on, it is a matter of algebra; lots and lots of algebra. As I doubt many here have a strong desire to wade through pages of equations, I won't torture you with a step by step replay. Instead, I'll just show you the highlights.







(Finished in next post)


TorpX is offline   Reply With Quote
Reply

Tags
algebra, fire control, firing solutions


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 04:21 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.