$y2 = 200 - 200*sin($x2));
The first 200 will shift the center line of the sine so that it is along the center of the plot. The minus sign flips the sine upside down since y is increasing down, not up. Finally, the scale factor is changed to 200 so there is room for both the upper and lower halves of the sine.
That can be written without repeating the 200 as:
$y2 = 200 * (1-sin($x2));
| [reply] [Watch: Dir/Any] [d/l] [select] |
OK that works! Does is there a generic way to do this for any values though?
| [reply] [Watch: Dir/Any] |
I'm not sure I understand what you are asking, but I will take a shot. If f(x) is a function whose range goes from $f_min to $f_max over the domain of interest, and the graph is of size $graph_size, then plot
my $span = $f_max - $f_min;
$y = (-f($x)-$f_min)*$graph_size/$span;
In the case of your sine, you would have $f_min = -1; $f_max = 1; $graph_size = 400. This simplifies the the expression in my previous response.
| [reply] [Watch: Dir/Any] [d/l] [select] |
| [reply] [Watch: Dir/Any] |