Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.


DaiBu
Posts:
6
From:
Sacramento, Ca
Registered:
11/23/13


Need help creating a dynamic hyperbolic function
Posted:
Nov 23, 2013 9:13 AM


Hi everyone. I'm working on a program and I need to be able to create different hyperbolic equations based on an input value between 0 and 1. Please see the attached pictures to better understand what I'm looking for. The four hyperbolas in the pictures are created with the following equations:
Orange: y = 6.025 / (x + 2.005) + 3.005 Blue: y = 1.305 / (x + .747) + 1.747 Green: y = .444 / (x + .333) + 1.333 Red: y = .141 / (x + .1253) + 1.1253
The constants in the equations are just numbers I've fiddled around with until I got the curves I was looking for. What I need however, is to be able to use a value between 0 and 1 to determine how "pointed" the curve is, while still retaining it's points at (0, 0) and (1, 1). An input number close to 0.5 should cause a near straight line between (0, 0) and (1, 1) and an input number near 0 or 1 should cause a near square corner (either up to the left or down to the right). For the four examples, 0.6 should produce the orange curve, 0.7 should produce the blue, 0.8 green and 0.9 red. The way the input number corresponds to the curve is: where x = the input number, y should = 0.5 and where y = the input number, x should = 0.5.
In case it's not clear:
I need to create a f(0 to 1) where: f(0.6) returns 6.025 (approx.) f(0.7) returns 1.305 (approx.) f(0.8) returns 0.444 (approx.) f(0.9) returns 0.141 (approx.)
I also need to create a f(0 to 1) where: f(0.6) returns 2.005 (approx.) f(0.7) returns 0.747 (approx.) f(0.8) returns 0.333 (approx.) f(0.9) returns 0.1253 (approx.)
f(0.5) for either function should return infinity (I think) and f(0) or f(1) should return 0 (I think).
It's been 15 years since my high school geometry class, so please forgive my numbness in describing the issue. I really appreciate any help though and thank you to anyone who takes the time to look at this.



