AI Assistant
Notifications
Clear all

A Curve Calculator for Windows

13 Posts
5 Users
0 Reactions
1,050 Views
bill93
(@bill93)
Posts: 9977
Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

I've made a curve calculator for Windows computers. It will become a utility inside the bigger program I'm working on. I'd like to hear back from people as to whether it appears to work correctly on their computer, and what changes it needs to be most useful.

Just use this link to save the file somewhere on your machine, and click on it to execute. No other installation needed. It opens/saves no data files.
https://dl.dropbox.com/u/25124076/CurveCalcBeta.exe

Because I don't trust it yet, I've given it an expiration date a couple weeks out. If any of the forum regulars wants a non-expiring version, email me through the site and I'll send it after time to implement any needed corrections.

You should enter two numbers, one in each outlined group, and optionally the inbound azimuth. The program will update everything else. It uses your last two inputs to determine which items to replace.

The 3-part numbers are, of course, degrees, minutes, and seconds. It has no output format options, but will accept most reasonable input formats, including:
63
63.2
63 12
63 12 01
63-12-01
63-12-01.5
n 63 12 01.5 e (spaces necessary)
It will not take 63-12 or ddd.mmss notation.

I thought the degrees, minutes, seconds characters were unnecessary. Should it display and accept (ignore) them so you can paste to/from somewhere else?

Do you see incorrect answers?

Does it need to deal better with extreme values?

Any other problems? (What Windows version?)

Does it need the ability to calculate from other combinations of inputs? I grouped all the "length-related" parameters together and only let you specify one of them because some combinations are a) numerically sensitive to slight differences and/or b) require solving nonlinear equations.

Is there a metric "degree of curve" definition that it needs to support?

Does it need the ability to hide railroad parameters when not of interest?

Other features needed? Suggestions?

Thanks,
Bill


 
Posted : February 21, 2013 11:16 am
charles-l-dowdell
(@charles-l-dowdell)
Posts: 817
Member
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

I have one by Kevin Diggins that he worked up in 2007 that works well for most curve calculations, both highway and railroad. It is a free ware with some restrictions regarding modifications or reverse engineering and is copyrighted by him. His e-mail is listed in the program window. If you want, I can send his address to your e-mail, or I can even send the program file.


 
Posted : February 21, 2013 12:54 pm
BigE
 BigE
(@bige)
Posts: 2685
Member
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

What language did you write it in?
Need any help? I have no programming work at all right now.
E.


 
Posted : February 21, 2013 1:36 pm
bill93
(@bill93)
Posts: 9977
Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

I'm using Visual C++ 6, which I know is old but perhaps better for migrating old C programs than jumping to the latest.

I tried out the Diggins program and might add some of his features, but I definitely like my overall design better. I've got a couple things he doesn't like railroad stationing pseudo-length, and checking for a small radius that makes railroad parameters meaningless.

Is his ddd.mmss input a desirable feature that I should make an option?

Is his ability to solve (iteratively) given two length-type parameters a very useful feature in practice?


 
Posted : February 21, 2013 2:19 pm
BigE
 BigE
(@bige)
Posts: 2685
Member
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

> I'm using Visual C++ 6, which I know is old but perhaps better for migrating old C programs than jumping to the latest.
>

VC6 is old indeed. I hope you are not using any of the MFC. The built in file system is buggy. Don't depend on it.
If you wish to get into the .NET world, I dam sure can help with that. I am heavy into C# these days.

I've been this software engineering stuff for over 30 years and about as many languages.
I'll be happy to help or coach.
E.


 
Posted : February 21, 2013 3:00 pm

charles-l-dowdell
(@charles-l-dowdell)
Posts: 817
Member
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Bill:

I tried out the Diggins program and might add some of his features, but I definitely like my overall design better. I've got a couple things he doesn't like railroad stationing pseudo-length, and checking for a small radius that makes railroad parameters meaningless.
Is his ddd.mmss input a desirable feature that I should make an option?
Is his ability to solve (iteratively) given two length-type parameters a very useful feature in practice?

His program is just a simple solve for curve parameters. There is not the option to add stationing. The DD.MMSSddd is the direct entry of the angle without any conversion to decimal involved and will solve the curve with only two curve parameters entered. It is a time saver and I use it quite often instead of going into a coordinate geometry program. The results can be saved by highlighting, doing a Control C and paste it into a word processor program to print it out.


 
Posted : February 21, 2013 7:01 pm
bill93
(@bill93)
Posts: 9977
Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Yes, I know about DD.MMSSsss notation. I use it on my Hewlett Packard calculator, but don't like it when I have a space character that can separate things to reduce confusion.

My program currently takes either decimal degrees or DD MM SS.s with spaces (and one or two digits on minutes and seconds). One of my questions is how important it is to users for a program to accept the more compact notation without spaces (and therefore give up the decimal degree option).

Have you tried my program? It also takes two inputs and computes everything else, but currently it is limited to allowing only one length-type parameter to be specified. What combinations of lengths that I currently don't do (arc and tangent, arc and chord, etc) are important to users?


 
Posted : February 21, 2013 7:56 pm
BobKrohn
(@bobkrohn)
Posts: 158
Member
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Have a function to save the results to an ASCII text file.


 
Posted : February 21, 2013 8:05 pm
jacob-wall
(@jacob-wall)
Posts: 139
Member
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

> Yes, I know about DD.MMSSsss notation. I use it on my Hewlett Packard calculator, but don't like it when I have a space character that can separate things to reduce confusion.
>
> My program currently takes either decimal degrees or DD MM SS.s with spaces (and one or two digits on minutes and seconds). One of my questions is how important it is to users for a program to accept the more compact notation without spaces (and therefore give up the decimal degree option).

How about accepting DD.MMSSss as input, then displaying the field as DD°MM'SS.ss" after it becomes inactive, ie another field becomes active, are you able to do that? Whenever the field becomes current for editing you display in decimal mode, else in formatted degree mode. I have written software for the HP 50g where I do that and I certainly find this to be optimal as it reduces input keystrokes while maintaining readability.

> Have you tried my program? It also takes two inputs and computes everything else, but currently it is limited to allowing only one length-type parameter to be specified. What combinations of lengths that I currently don't do (arc and tangent, arc and chord, etc) are important to users?

Solving from arc and chord length using Newton's method is something I've done and is the only lengths combination I have had requests for.


 
Posted : February 21, 2013 10:36 pm
bill93
(@bill93)
Posts: 9977
Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

It is already possible to just highlight individual values of interest, copy (Ctrl-C), and paste (Ctrl-V) into a document.

If they need to go into a file, what format should it have?

I've got too much data to fit on one line per computation under a line of labels.

If I go to multiple lines then it gets hard to label unless I just put a line per data value with its label on the same line, like:

Radius     5729.578
Larc 100.000
Lrr 99.999
Degree arc 1 00 0.0
Degree RR 1 00 0.0
Delta 1 00 0.0
Delta/2 0 30 0.0
etc.

Is that what you want?


 
Posted : February 21, 2013 11:16 pm

bill93
(@bill93)
Posts: 9977
Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

New version

Version 0.4 posted at the same link now has areas and text file save (either new file or append).

How many people have tried it?

Thanks,
Bill


 
Posted : February 22, 2013 5:54 pm
bill93
(@bill93)
Posts: 9977
Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Now has packed DDD.MMSSs option

https://dl.dropbox.com/u/25124076/CurveCalcBeta.exe

Uncheck the box if you ever want decimal degree entry. Other input formats continue to work (I hope).

It would appear from the lack of responses that I'm inventing a capability everyone already has in their big software packages. I don't have a big software package, and I'm having fun learning how to program this, so I'm still glad I've done it. I plan to work on the arc and chord solution, also.

Please let me know if you see any problems.


 
Posted : February 24, 2013 9:15 am
bill93
(@bill93)
Posts: 9977
Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Now does more combinations

I separated all the "length" type parameters and now the program does 13 combinations-all possible except for two involving railroad-style length that are not useful because they are too sensitive to small differences.

I also added an "always on top" check box so the calculator remains visible if you want to read, or copy and paste, numbers from another document.

Use the same download link. Email me if you see problems or want a non-expiring version.


 
Posted : March 9, 2013 10:59 am