易码技术论坛

 找回密码
 加入易码
搜索
查看: 923|回复: 4

TYCY请进,你的二次函数图象问题解决了

[复制链接]
发表于 2008-3-27 10:54:39 | 显示全部楼层 |阅读模式
图.PNG

注意:公式中的tx不能等于k。
综上所述:你要的程序就可以这么写:
void main()
{
int x,y;//定义二次函数图象轨迹坐标
int k,h;//定义二次函数图象顶点坐标
int tx,ty;//定义二次函数图象起点坐标
int p,q;//定义公式中a的分子与分母
tx=0;ty=80;//给图象起点赋值,修改这个值可以产生不同的图象
k=80;h=0;//给图象顶点赋值,要注意k不能等于tx
p=ty-h;//求a的分子
q=(tx-k)*(tx-k);//求a的分母
for(x=tx;x<=160;x++)//让自变量x从起点横坐标开始循环至屏幕最右边
        {
        y=((x-k)*(x-k))*p/q+h;//求变量y的值
        Point(x,y,1);//画点
        }
getchar();
}
运行结果:
复件 图.PNG


下面的程序可以产生小球跳跃的效果,下来你复制到LAVAX3.5IDE里编译测试一下:

#width 320
#height 240

void main()
{
int mx,my,mz;
int x,y;//定义二次函数图象轨迹坐标
int k,h;//定义二次函数图象顶点坐标
int tx,ty;//定义二次函数图象起点坐标
int p,q;//定义公式中a的分子与分母
mx=320;
my=240;
mz=230;
tx=0;ty=235;//给图象起点赋值,修改这个值可以产生不同的图象
k=80;h=5;//给图象顶点赋值,要注意k不能等于tx
p=ty-h;//求a的分子
q=(tx-k)*(tx-k);//求a的分母
x=tx;       
for(;;)
        {
        for(;x<315;x++)//让自变量x从起点横坐标开始循环至屏幕最右边
                {
                ClearScreen();
                Refresh();
                y=((x-k)*(x-k))*p/q+h;//求变量y的值
                Circle(x,y,4,1,1);//画图
                Delay(10);
                if(x==k*2-tx)break;
                }
        if(x==315)break;
        mx=mx/2;
        my=my/2;
        mz=mz/2;
        tx=tx+mx;ty=235;//给图象起点赋值,修改这个值可以产生不同的图象
        k=k+my;h=h+mz;//给图象顶点赋值,要注意k不能等于tx
        p=ty-h;//求a的分子
        q=(tx-k)*(tx-k);//求a的分母
        if(q==0)break;
        }
getchar();
}

[ 本帖最后由 wqstar028 于 2008-3-27 10:58 编辑 ]
发表于 2008-3-27 14:15:46 | 显示全部楼层
恩,谢谢了,我收下了!
发表于 2008-3-27 17:45:09 | 显示全部楼层
不错
说的很详细,很有条理
 楼主| 发表于 2008-4-4 17:43:03 | 显示全部楼层
LEE过奖了!
发表于 2008-4-23 23:25:35 | 显示全部楼层
所有的源代码发出来都是这么详细就好了,哈哈
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-7-2 05:58 , Processed in 0.015333 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表