我正在研究一个数学函数草图程序。用户正在输入函数,程序会解析它们并绘制它们的曲线。我面临一个问题,有些函数的范围间隔很小,例如sin(x)
只有cos(x)
间隔[-1 : 1]
。相比之下,其他一些函数的区间非常大,例如e^x
,因此它们增长非常快。我正在使用 X 轴值来评估函数以生成 Y 访问值。X 轴值通常固定在 -40 到 40 之间。但是,我不能像 X-access 那样依赖于 Y 访问集的固定值,因为有些函数的 Y 值非常大,而另一些函数的 Y 值非常小。
我试图用乘法\除法来缩放曲线,它在常用函数上运行良好。例如,sin(x)
正在放大sin(x) * 3
. 但是,我发现某些函数在乘以一个因子时不会放大,而是函数本身会发生变化。一个例子是f(x) = sin(log(cosh(sec(-x))))
。
我想找到一种方法将函数曲线缩小\缩小,以便我可以调整它们的 Y 访问最大值、最小值和增量步长值,当然,缩放曲线使其达到最大\最小值 Y 值. 任何数学\编程想法都可以。谢谢
用途:System.Drawing.Graphics.DrawCurve(Pen pen, PointF[] curve)