Jump to content
  • Advertisement
Sign in to follow this  
Will-O

non linear ratios

This topic is 3514 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For values x: (0, xMax), where xMax is user defined, the values are evenly spaced and linear. The y values must start at one and should tend to zero over the range ofd x values. Before the application of a modifier function to x, the equation describing how x and y relate to each other is: y = 1 - x/xMax. This isn't very interesting or realistic for my purpose. Two others I'm using are
INVERSE:
y = 1/(x+1)  // need to make it x+1 because when n/0 = error & when x = 0  y = 1
             // y only tends to 0 as x-> infinity
             // also initial fall of is too rapid

COSINE:
linear = x/xMax;             // good core shape but as the range of x-values
y = (cos(linear * PI) + 1)/2 // increases it becomes quite flat though it
                             // can be improved by re-applying f'n to result

I'm looking for a bell-shaped curved like the right-hand-side of a normal distribution curve, or a signal function (though these are y: (0, 1) so technically it'd be a -ve signal, which I'm not sure exists). However, other than the cosine one above and doing some very protracted stuff with sinh and ln I haven't had much joy. I am numerically able but looking through mathematical stuff on the web all of a sudden I am very aware that I have become completely ignorant of the proper syntax and nomenclature so please make suggestions readily digestible to the layman! If I haven't been clear please ask and I'll try to specify. Thank you in advance for you help.

Share this post


Link to post
Share on other sites
Advertisement
Perhaps it's better if you explain what you need this for, or how you intend to use it?

edit: that is, since you're looking for a bell curve, but not using it, is there any particular reason?

Share this post


Link to post
Share on other sites
Alternately, rather than trying to find a function that produces the shape you want, you could always just use a lookup table (interpolated linearly or with splines) -- that way you can draw in the exact response you want.

Share this post


Link to post
Share on other sites
Write y = A + Bx + Cx^2 + Dx^3
so
dy/dx = B + 2Cx + 3Dx^2

when x = 0, you know y = 1 and dy/dx = 0

when x = xmax, you know y = 0 and dy/dx = 0

Gives you 4 equations, though two are trivial (A = 1 and B = 0). Solve the remaining two, and you have a simple polynomial that fits the boundary conditions, and smoothly goes from 1 to 0 over the range.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!