用java做一个函数作图器时遇到了麻烦,大虾们帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/01 17:31:21
在华函数图像时,是先计算出一个点p1(x1,y1),然后在计算它的下一个点p2(x2,y2),再把p1,p2连起来。下一次循环时,p2就变为新的p1了。
这种方法作图像普通的sinx,lnx,x^3之类的函数都没问题,但是如果是tanx,secx就出问题了,在y从正无穷大一下子跌倒负无穷大时,它会画出一条竖线来。本来我以为改为这样就没事了:if(Math.abs(y1-y2)<1000) g.drawLine(x1, y1, x2, y2);但是这样在100%比例下确实没事了,不过一旦缩小比例到一定程度竖线就还会出现,郁闷啊!
请问各位大哥有做过函数作图器的是怎么画出图像来的?还请指点一二。

加一个判断
从正无穷大一下子跌倒负无穷大时不画不就行了!

当显示比例缩小的时候不要去改变坐标真实值,仅仅改变坐标的显示值,
把函数缩小相应的倍数。
比如现在有个函数f(x),和对应的图象,显示坐标范围为x[10,-10],y[10,-10]
要显示200%的图象
就把显示坐标范围改成x[20,-20],y[20,-20] 把函数变成g(x)=f(x)/2
就可以了