S SuperMMX Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-09 #4 我画的 sin 还比较平滑,y = x^2 不知道。
P pyh_jerry Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-09 #5 可不可以直接在窗体上画呢? 用FORM1。CANVAS直接画点或很短的线。。。。 递归调用画点子程序。不断的将X的值输入(子程序计算出Y值)就行了吧?
L lwlnic Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-14 #8 好像是不好画,即使用tchart控件,用opengl的方法试试看,可能是可以的。 d5里面有这个东东吧
K koalaz Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-14 #9 用参数法应该可以的。 令 y=x^2=t 则有 y=t; x=sqrt(t); 使t递增,算出(x,y),再画点就平滑了。 如果图形不太好看就调整一下系数好了。
A angelsoft Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-19 #10 这个问题应该很简单,你可以定义一个区间(T1-T2),再定义步长STEP,步长如果设得小的话 所绘的图形就圆滑,如果大的话精度就差 因为Y=X^2 X:=T1; Y:=X*X; CANVAS.MOVETO(X,Y); WHILE X<T2 DO BEGIN X:=X+STEP; Y:=X*X; CANVAS.LINETO(X,Y); END; X:=T2; Y:=X*X; CANVAS.LINETO(X,Y);
这个问题应该很简单,你可以定义一个区间(T1-T2),再定义步长STEP,步长如果设得小的话 所绘的图形就圆滑,如果大的话精度就差 因为Y=X^2 X:=T1; Y:=X*X; CANVAS.MOVETO(X,Y); WHILE X<T2 DO BEGIN X:=X+STEP; Y:=X*X; CANVAS.LINETO(X,Y); END; X:=T2; Y:=X*X; CANVAS.LINETO(X,Y);
A angelsoft Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-19 #11 这个问题应该很简单,你可以定义一个区间(T1-T2),再定义步长STEP,步长如果设得小的话 所绘的图形就圆滑,如果大的话精度就差 因为Y=X^2 X:=T1; Y:=X*X; CANVAS.MOVETO(X,Y); WHILE (X+STEP)<T2 DO BEGIN X:=X+STEP; Y:=X*X; CANVAS.LINETO(X,Y); END; X:=T2; Y:=X*X; CANVAS.LINETO(X,Y);
这个问题应该很简单,你可以定义一个区间(T1-T2),再定义步长STEP,步长如果设得小的话 所绘的图形就圆滑,如果大的话精度就差 因为Y=X^2 X:=T1; Y:=X*X; CANVAS.MOVETO(X,Y); WHILE (X+STEP)<T2 DO BEGIN X:=X+STEP; Y:=X*X; CANVAS.LINETO(X,Y); END; X:=T2; Y:=X*X; CANVAS.LINETO(X,Y);
A angelsoft Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-19 #12 这个问题应该很简单,你可以定义一个区间(T1-T2),再定义步长STEP,步长如果设得小的话 所绘的图形就圆滑,如果大的话精度就差 因为Y=X^2 X:=T1; Y:=X*X; CANVAS.MOVETO(X,Y); WHILE (X+STEP)<T2 DO BEGIN X:=X+STEP; Y:=X*X; CANVAS.LINETO(X,Y); END; X:=T2; Y:=X*X; CANVAS.LINETO(X,Y); 结束
这个问题应该很简单,你可以定义一个区间(T1-T2),再定义步长STEP,步长如果设得小的话 所绘的图形就圆滑,如果大的话精度就差 因为Y=X^2 X:=T1; Y:=X*X; CANVAS.MOVETO(X,Y); WHILE (X+STEP)<T2 DO BEGIN X:=X+STEP; Y:=X*X; CANVAS.LINETO(X,Y); END; X:=T2; Y:=X*X; CANVAS.LINETO(X,Y); 结束
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-19 #13 替你贴完 X:=T1; Y:=X*X; CANVAS.MOVETO(X,Y); WHILE (X+STEP)&lt;T2 DO BEGIN X:=X+STEP; Y:=X*X; CANVAS.LINETO(X,Y); END; X:=T2; Y:=X*X; CANVAS.LINETO(X,Y);
替你贴完 X:=T1; Y:=X*X; CANVAS.MOVETO(X,Y); WHILE (X+STEP)&lt;T2 DO BEGIN X:=X+STEP; Y:=X*X; CANVAS.LINETO(X,Y); END; X:=T2; Y:=X*X; CANVAS.LINETO(X,Y);
I iambest Unregistered / Unconfirmed GUEST, unregistred user! 2000-09-03 #15 你们都只是看到固定步长,随着X的增加,Y会增加很快的,这样的曲线就不平滑了。 我建议在X小的时候用大步长,X大的时候用小步长。这样既可以兼顾画线质量, 又 可以兼顾运算速度。