This is topic The TNG Warp Speed Formula in forum Starships & Technology at Flare Sci-Fi Forums.


To visit this topic, use this URL:
https://flare.solareclipse.net/ultimatebb.php/topic/6/2585.html

Posted by MinutiaeMan (Member # 444) on :
 
Okay, so I know this is a very debatable topic that has been effectively run into the ground over the last five or ten years... but I'm working on a bit of a project, and I'd really like to be able to provide some useful results.

I've tried doing a general search (both here and via Google), but I haven't found very much at all that provides a truly accurate formula for the calculation of starship velocities beyond Warp 9 on the TNG scale.

The closest I've found is this JavaScript-based calculator, but though the equations look like they're exactly what I need, they break down at around Warp 9.8 or so -- they're not increasing towards infinity.

I also tried implementing Graham Kennedy's formula, but even though it's a lot more complex, it didn't seem to do the job either.

So, I know we've got several people here who have strong degrees in math. Does anyone know of a way that I could get a reasonably decent formula? Even if I have to break it up into sub-formulae for various parts of the continuum between WF9 and WF10. But I don't recall nearly enough of my math classes to figure out what I need.

The only requirement that I have is that I need the final equation to be implementable via JavaScript.

Anyone who can give me significant help in finding a useful solution gets a mention on my upcoming Warp Speed Calculator Dashboard widget. [Smile]
 
Posted by TSN (Member # 31) on :
 
Well, I've found this one on my hard drive that I found somewhere on the Internet many years ago. It's quite complicated, but I seem to recall that it worked pretty well.


 
Posted by Joshua Bell (Member # 327) on :
 
quote:
Originally posted by MinutiaeMan:
The closest I've found is this JavaScript-based calculator, but though the equations look like they're exactly what I need, they break down at around Warp 9.8 or so -- they're not increasing towards infinity.

That one is mine. If you play with the Convert-O-Matic you should find that it does trend to infinity as the WF trends to 10. How steeply this occurs varies from equation to equation.

Are you having issues with the Convert-O-Matic's results, or you implementation of the equation? If the latter, you may be mis-interpreting the equation (e.g. using the wrong log function) or how the step function works. Try looking at the source for the page, which includes the JavaScript implementation which should provide guidance.
 
Posted by Jason Abbadon (Member # 882) on :
 
Er...can someone post the comparitive diffrences between the TOS and TNG warp scales?
 
Posted by Peregrinus (Member # 504) on :
 
TOS was only WF��c, and they didn't have an upper end (in-universe, it wasn't until the 2260s that ships started going fast enough to hint it may not be a straight progression after all). TNG's scale you can see above. *heh*

--Jonah
 
Posted by Bones McCoy (Member # 1480) on :
 
Ouch. Think I popped an axon.
 
Posted by MinutiaeMan (Member # 444) on :
 
TSN: I'm trying to implement those functions you posted as a JavaScript calculation, but I've got a question... do you know if the "log10" used in the equations is supposed to be the log-base-10 function (where the 10 should normally be in subscript), or is it the natural log of 10? I'm going to do some trial and error, but I figured I might as well ask, too.
 
Posted by Cartman (Member # 256) on :
 
Those (8 / (100 - 10W)) subexpressions look like they are arguments to the log function, so I'd say it's supposed to represent base 10.
 
Posted by MinutiaeMan (Member # 444) on :
 
Huzzah! This formula is 100% correct for every single canonical speed per given warp factor above WF9. It's perfect! Except...

I then took a few minutes to plot the equation into OS X's graphing calculator app, and I discovered a rather unfortunate problem:

 -
(The lower graph is the TOS scale.)

I think what I'll try to do now is to blend the various equations somehow, and use TSN's formula for the higher end area where the speeds approach infinity, but try to find something that fluctuates a bit less wildly on the lower side of things.

Cartman: I realized after I asked that question how stupid it actually was, because the log-base-10 of 10 is... 1! (I never thought I'd actually have even a somewhat-reasonable use for my higher algebra, trig, and calculus classes! [Wink] )
 
Posted by Balaam Xumucane (Member # 419) on :
 
That's FUNNY. The graph I mean. I mean not that you are or what you've done is funny. Just that the upper end of Warp speed fluctuates so wildly from episode to episode and series to series. Cool.
 
Posted by Krenim (Member # 22) on :
 
That chart is from the equations provided by TSN? If so, I think something's amiss. I've taken the time to punch those into Microsoft Works Spreadsheet several times over the years, and they tend to create a nice smooth curve.

Well, not perfectly smooth. If you zoom in (and I mean really zoom in) at whatever point corresponds to subspace communications (I forget the numbers for it right now), there's a discontinuity there. But it's not really noticable unless you really look for it.
 
Posted by MinutiaeMan (Member # 444) on :
 
Maybe I've inadvertently discovered the chart for the Relativity's hyperwarp drive capabilities? [Big Grin]
 
Posted by MinutiaeMan (Member # 444) on :
 
Okay, on second thought, I found my problem: When I was combining the three components of the equation for the final result, I forgot to use parentheses to separate those various components. No wonder it was screwed up!

Here's the fixed product, with the wacky one in the background:
 -
 
Posted by MinutiaeMan (Member # 444) on :
 
Okay, so, next issue to resolve: I now need to find the INVERSE of this complicated warp factor equation. And although I can do a bit of math, my algebra classes are a bit too far behind me to remember how to invert all of these formulae... and distributing a variable was always one of my least favorite tasks.

Any takers?
 
Posted by TSN (Member # 31) on :
 
You mean, you want to solve for W in terms of v? Ew...
 
Posted by Balaam Xumucane (Member # 419) on :
 
And then MinutiaeMan bought himself a copy of Mathematica.
 
Posted by MinutiaeMan (Member # 444) on :
 
Haha! No way am I paying more than two grand on a math program when I only need to use it for four or five minutes!

So, anyone here have access to Mathematica or a similar program? I can provide the equation in TeX markup if necessary. I hate to feel so close and yet so far to completing my little project!

Anyway, anyone who might be running OS X v10.4 might want to give it a try... The only thing incomplete is converting a given speed back into a TNG warp factor when that speed is greater than 1516c.
http://www.st-minutiae.com/temp/warp_speed_calculator_v1b.wdgt.zip
 
Posted by machf (Member # 1233) on :
 
ISTR that Mathematica has a "student discount" for, well, students... not sure what the actual price with that discount was, though.

And, well... there is always some way, you know...
 
Posted by B.J. (Member # 858) on :
 
Presumably, if you ARE a student, there's a number of computer labs you could use that have Mathematica loaded. Or am I starting to show my age?

B.J.
 
Posted by MinutiaeMan (Member # 444) on :
 
No, I'm not currently a student, although I do know a couple people who could probably get access to that stuff... assuming they knew how to use such a complex program. And even at the student discount, there's absolutely no point in me buying a program so I can complete just one little task.

Actually, after going over the formula again, I think I might be able to find some solution myself, but I'm having trouble with a few of the distribution methods and factoring out the exponents. We'll see, I guess...
 
Posted by Balaam Xumucane (Member # 419) on :
 
You are a madman. My brain hurts just looking at that formula forwards. Incidentally for those of us Philistines not using OS X.4, is your standalone (FileMaker, I think) Warp Speed Calculator accurate using your latest info? And does using the 'Cochrane' scale really mean TOS?
 
Posted by SoundEffect (Member # 926) on :
 
Try my warp calculator out. If you feel it works, I'll give you the formula I used.

http://members.fortunecity.com/msfm/stephen_l.htm

It's near the bottom of that page.
 
Posted by MinutiaeMan (Member # 444) on :
 
Gee, that might be a good idea if my computer ran Windows instead of Mac OS X... [Roll Eyes]

Balaam: No, I haven't updated the FileMaker version in a long time. In fact, once the widget is ready for final distribution, I'm probably going to pull down the FileMaker app. (Though I might do a web page version of the widget...)
 
Posted by Toadkiller (Member # 425) on :
 
A real widget, widget? As in a dashboard one?

Downloads.....

Very cool!
 
Posted by Bernd (Member # 6) on :
 
I could be mistaken, but because W appears more than once as the argument of a transcendental function on the right, it looks a lot like the inverse function is implicit (meaning W(v) can't be separated).
 
Posted by Captain Boh (Member # 1282) on :
 
quote:
Originally posted by SoundEffect:
Try my warp calculator out. If you feel it works, I'll give you the formula I used.

http://members.fortunecity.com/msfm/stephen_l.htm

It's near the bottom of that page.

Is the result that Voyager's apparent top speed (9.975) is about warp 91 old scale accurite? I'd love to see the reaction to that
 
Posted by MinutiaeMan (Member # 444) on :
 
Bernd: Yeah, I (slowly) figured that out after remembering my high school math classes. I'm working with a friend at work who's a math major to use one of the high-end math applications to approximate an inverse for me.
 
Posted by Joshua Bell (Member # 327) on :
 
Note that if all you want is an answer to the inverse function (calculate W for a given v), then if your function f where v=f(W) is monotonically increasing (i.e. if v increases, W increases and vice versa) you can save yourself a lot of thinking if you just use iteration like I do in the Convert-O-Matic page.

To find v_target, let W_min := 0 and W_max := 10. Now compute W_mid = ( W_min + W_max ) / 2. Using your formula f, compute v = f(W_mid). If v less-than v_target, let W_max := W_mid, else let W_min := W_mid. Rinse and repeat a hundred times, and v will converge on v_target giving you W_mid as your result.

Note that since you're dealing with floating point numbers, you should define an epsilon (smallest difference you care about) and stop when abs(W_max - W_min) less-than epsilon, otherwise you're just burning cycles - the function is probably not stable below that point.
 
Posted by MinutiaeMan (Member # 444) on :
 
That's mostly gibberish to me. It sounds like taking averages or something, but my last math class was in 2002. [Razz]
 
Posted by Cartman (Member # 256) on :
 
It's really very simple. You want to know W for a given vIn, but you don't have the inverse formula (W = f(vIn)) to solve for it directly, so instead you iterate (ie. loop) over the formula you do have (vOut = f(W)) with some W, adjusting W up or down after each iteration depending on wether vOut was greater or smaller than vIn, until both values are within some predetermined minimum distance of each other and then terminate the loop. The point is that you don't actually need the inverse to calculate W. B)
 
Posted by Jason Abbadon (Member # 882) on :
 
quote:
Originally posted by MinutiaeMan:
That's mostly gibberish to me. It sounds like taking averages or something, but my last math class was in 2002. [Razz]

I took economics- I'll just buy warp-drive like a good Ferengi.
 
Posted by machf (Member # 1233) on :
 
Well, I guess the "original" formula ("original" as in "shown on the first page of this thread") was arrived at by applying interpolation/extrapolation methods based on the available dataset (a certain number of pairs of values (W,v) ). So, I guess it can be done in pretty much the same way just by switching the axes around.

Taking a closer look, it seems they started with the general approach v=W^(10/3) and looked for a function that would modify it in such a way that the results wouldn't be affected for W less than or equal to 9 but would give the asymptotic curve for 9 less than W less than 10, with v tending towards infinite as W tends towards 10... so basically, for W less than or equal to 9, you have a bunch of zeroes for, say, Y (where Y equates the product a(W)*b(W)*c(W) in that formula) and some more non-zero values for 9 less than W less than 10. I can see how this would be practical for calculating v as f(W), but for finding W as g(v) (where actually v=h(Y) and thus W=g(h(Y)) ) with several values of W for the same value of Y (that is, 0) it certainly wouldn't...

So, let's just do it the other way around (compared to how it may have been originally done): start with W=v^(3/10) and find a function (or set of functions, if you like) such that W can be expressed as v^((3/10)*(1+F(v))) that passes through the known set of value pairs for (v,W)... the resulting values of W should approach 10 as v approaches infinity.

Let me try to express it in simpler terms... the "original" formula is an approximation based on available data and the approach v=W^(10/3*(1+f(W))), solving f(W) based on data pairs not of (W,v) but rather (W,y) where y=(3/10)*ln(v)/ln(W)-1.
So, the inverse formula should also be an approximation, based on the same available data and the approach W=v^(3/10*(1-g(v))), solving g(v) based on pairs not of (v,W) but rather (v,z) where z=1-(10/3)*ln(W)/ln(v).

(The problem with that, as I mentioned earlier, is that you'll end up with several instances of z=0 for different values of W, so maybe it's a better idea to choose a generic W=g(v) instead, or maybe, W=v^(3/10)*g(v) at most.)

You decide what kind of function you want g(v) to be: logarithmic, exponential, polynomial, sinusoidal, etc. (or even a combination thereof) and use the available data to find the proper coefficients (keep in mind that whatever function you choose to try to adjust the data to, it will have to have fewer coefficients than the amount of data pairs available). You can try different functions and see which one gives the best approximation.

[ October 15, 2005, 10:06 AM: Message edited by: machf ]
 
Posted by Jason Abbadon (Member # 882) on :
 
I'll just pretend it's a TV show.


that works well while reading the newspapers too- try it!
 
Posted by Cartman (Member # 256) on :
 
Or you can try brute-force iteration and, y'know, not lose your mind.
 
Posted by machf (Member # 1233) on :
 
The problem with iteration is, you have to do it every time. Finding an approximation formula is something you only need to do once. And I believe the original idea was to find an inverse formula...

And finding an approximation isn't difficult at all, I was doing that kind of stuff 15+ years ago in BASIC on my Atari 800XL... I bet I could do it in JavaScript nowadays.
 
Posted by Shakaar (Member # 1782) on :
 
This is related, yet a bit sidetracked. I made a revised warp scale- perhaps more like what was used in TNG - All Good things. Basically I did away with warp 10 being set at infinity- the idea being that advanced ships that are going faster and faster are always traveling at warp 9.something, and because of that, it became rather clunky to say: "Ensign, set course and engage, warp 9.95!" Thus I set warp 20 at infinity, and all numbers between warp 1-19 fall upon the same curve as the old TNG warp scale. This was only the numbers between warp 19 and 20 fall in that exponential curve toward infinity- and those speeds won't be attainable for some time.

In another forum I got spat upon for this concept *L* Cause they were under the understanding that Warp 10 must always be "infinite speed/existing at all points" and I disagree- it is just that way because that's where the arbitrary number was placed- and in the future, when ships go warp 13- they are really not traversing infinity... as warp 10 is really now the old warp 9.5. Please look at this page and tell me what you think:
http://www.craigdannenberg.com/bajor/warp.html
 
Posted by B.J. (Member # 858) on :
 
Not disagreeing that there needs to be higher warp factor numbers without redefining the current numbers again, but I don't think they would arbitrarily assign warp factor numbers to certain speeds. I'm in the camp that agrees with what Sternbach put in the TNG tech manual, that warp factor numbers correspond to energy output minimums, which is why you usually don't hear fractional warp numbers. Maybe at some point they discover new minimums past warp 9 that would be called warp 10, 11, etc. due to some better calibration of the warp field or whatever, but it wouldn't be a random pick just to allow for growth.

B.J.
 
Posted by Shakaar (Member # 1782) on :
 
I certainly agree, I'm not saying that all the warp factors were arbitrarily tossed out there- just warp 10 set at infinity was. All the other numbers fall on a nice curve until you hit warp 9- and then things become different- as all those decimals of warp 9 fall between 1,516 times the speed of light, and infinite speed- and all other decimals of warp factors fall between two actual numbers. So I stick with all of that, but just for the arbitrary Warp 10, I continue the warp curve on-
 
Posted by Kobi (Member # 1360) on :
 
Quite a nice idea. However I think your graphic suggests that TOS warpspeeds are slower. You have to use the third root of every y value to go back to TOS warpfactor.

For example: TOS wf 8 == TNG wf 6.5
(you get my point?)

I have a table that depicts what I mean on my homepage.
 
Posted by TSN (Member # 31) on :
 
It looks like all of the TOS speeds are correct. Except for the way they mysteriously stop at 10.
 
Posted by Joshua Bell (Member # 327) on :
 
quote:
Originally posted by Shakaar:
I certainly agree, I'm not saying that all the warp factors were arbitrarily tossed out there- just warp 10 set at infinity was.

That statement implies that the (fictional) people that formalized the warp scale were idiots*. "Let's base 1-9 on some physical phenomenon, like energy minima. But then we'll make 10=infinite speed, for no particular reason."

Either there are just 9 energy minima, and hence the TNG warp scale is based on physical phenomena, or there aren't. If there are just 9, then your solution is to make 1-9 based on energy minima and invent 10 more (10-19) which aren't based on anything, and then declare 20 to be infinite, which makes even *less* sense than the TNG scale to begin with!

If there aren't 9 energy minima, then the whole thing is moot anyway since the TNG scale doesn't make any sense. I don't think you can have your cake and eat it, too.

You can actually infer something about what Warp 10 means from the mere fact that they use various fractions between 9 and 10. If the scale simply went "6, 7, 8, 9, ludicrous speed!" then Picard could simply order "let's get there in a jiffy" and they'd pick v=d/jiffy and be done with it. Instead, they pile on the ever more ominous sounding fractions "9.6... 9.7... 9.8.... 9.85... 9.9..." as the ship starts to buckle. Measuring a boundless dimension with a finite scale isn't anything special, but the correlation between the position on the finite scale and the effects are a solid part of the show.

IMHO, either look at the TNG warp scale as an elegant plot device and marvel in its beauty, or dispense with it entirely. Hacking it just makes it really ugly.

* Or, similarly, politicians. I'd buy that argument.
 
Posted by Jason Abbadon (Member # 882) on :
 
If Picard said "let's get there in a jiffy", data's head would have exploded.
 
Posted by Timo (Member # 245) on :
 
"If there aren't 9 energy minima, then the whole thing is moot anyway since the TNG scale doesn't make any sense. I don't think you can have your cake and eat it, too."

Well, it should make sense for TNG. It would only be after this era that scientists realize they have been in partial error. Happens all the time in the real world. The lines in the visible part of absorption spectra weren't invalidated when the UV spectrum was added, for example. More code letters were simply systematically added.

Similar things in the field of particle physics in turn show that the "systematically" part isn't necessary. Most scientific designation "systems" are far more arbitrary than the TNG warp scale, even though they accurately describe a well-defined set of phenomena.

It sounds perfectly possible that UFP science in 2360 would know of nine warp minima, and in 2390 of seventeen, with the inkling of an idea of a hypothesis that there would be even more to be discovered in the future. For us ten-fingered folks, it would be aesthetically pleasing to use the designation "warp 10" for something in the 2360s, and infinite speed is as good a candidate as any; in 2390, though, there would be no similar psychological need to assign "warp 18" as infinity.

Timo Saloniemi
 
Posted by Joshua Bell (Member # 327) on :
 
That logic makes sense, of course. But that doesn't appear to be part of Shakaar's story. If you look at his site (http://www.craigdannenberg.com/bajor/warp.html) it simply resets the point where the curve goes asymptotic from 10 to 20. Also, it posits TNG9.5=new10, 9.99=new11, and so on. If there were an energy minimum at 9.5 one would hope that it was known to 2360 scientists.

And now for the counterarguments:

One fanboy explanation for the TOS vs. TNG scale is that the TOS scale was an approximation dating from times when you couldn't go much past Warp 3, so W^3 and W^(10/3) were "close enough", and even when faster speeds were routine the scale continued to be in use. So you could apply the same thing to the TNG/new scales, and say that in the 2360s it was known that there were energy minima beyond W9, but the old scale was still in use.

Also:

Something I want to plot now is the log of velocity (not Warp factor) vs. energy use per the TNG TM. From what I recall of the graph (i.e. too lazy to look at my own site), the minima are less "minimal" at each step. You could imagine, therefore, that there are energy minima at TNG W=9.5 and 9.99 (etc), but they are so "shallow" that they're not worth quibbling about, or were lost in the noise, so that for a long time it was assumed the energy/velocity curve was smooth from W=9 upwards.

So you could say that the TNG scale came into use in the 2290s or so, where it was assumed that W=9 was "it". Later on, other minima were discovered, but no-one was cruising around above W=9, so it didn't matter.

Then in the 2380s they finally got sick of saying "9.995" and updated the scale.

If I were coming up with a revised scale, though, I'd just let the minima decrease to nothing smoothly, so there would be no "final minima" and hence no integral Warp factor that logically corresponded to infinite velocity. Just let v=W^(10/3) and be done with it.

...

Anyone want to bring up "Threshold" [VOY]? No, didn't think so.
 
Posted by Shakaar (Member # 1782) on :
 
I made the warp chart eons ago, but I did trace the TNG/TOS scales as they appeared, I'll have to try and find where that original is and we can debate the validity of how canon it is. I think the main reason it stops at warp 10 (which is more like warp 8 in the TNG scale)- Perhaps they did the "revised scale" in TNG just to show that ships are faster in TNG time. Since vessels could not go faster than warp 8/10, though their limiting factor was technology, and they based their speeds off that rather than physics.
 


© 1999-2024 Charles Capps

Powered by UBB.classic™ 6.7.3