下载此文档

嵌入式报告.docx


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
信息与电气工程学院
课程设计说明书
(2016/2017学年 第一学期)
课程名称: 嵌入式课程设计
题 目: 科比投篮
专业班级: 计算机1301
学生姓名: 王晓阳
学 号: 130210119
指导教师: 王彬丽
设r(ii=O;ii<16;ii++)
{
Glib_Line(O,2O*ii,32O,2O*ii,Oxffff);
Glib_Line(2O*ii,O,2O*ii,24O,Oxffff);
if(ii==5||ii==1O||ii==15)
{
Glib_Line(O,2O*ii,32O,2O*ii, (OxOO<<11) | (Ox3f<<5) | (OxOO));
Glib_Line(2O*ii,O,2O*ii,24O, (OxOO<<11) | (Ox3f<<5) | (OxOO));
}
}
}
这段程序的实验效果是在一张无球的科比投篮图片上划分了许多距离为20像素点的方格,方便我们来 大概确定篮球走过轨迹的坐标值。第一个 for 循环我们可以看出 ii 的值是由 O~15 也就是 16 个值。 这时通过想到效果是画距离为 20 像素点的方格子,我们可以知道整个屏幕长是 320 个像素点,宽是 240 个像素点距离,而以 20 个像素点距离的正方形边长是 20 像素点,这样在屏幕可以画 16x12 个 这样的方格。这里的 16 正是 for 循环里的 16 次循环。
接着来看下面的两条语句:
Glib_Line(0,20*ii,320,20*ii,0xffff);
Glib_Line(20*ii,0,20*ii,240,0xffff);
go to 一下看看函数:
void Glib_Line(int x1,int y1,int x2,int y2,int color)
{
int dx,dy,e;
dx=x2-x1;
dy=y2-y1;
if(dx>=0)
{
if(dy >= 0) // dy>=0
{
if(dx>=dy) // 1/8 octant
{
e=dy-dx/2;
while(x1<=x2)
{
PutPixel(x1,y1,color); if(e>0){y1+=1;e-=dx;} x1+=1;
e+=dy;}}
else
{
// 2/8 octant
e=dx-dy/2; while(y1<=y2) {
PutPixel(x1,y1,color); if(e>0){x1+=1;e-=dy;} y1+=1;
e+=dx;}}}
else {
// dy<0
dy=-dy;
// dy=abs(dy)
if(dx>=dy) // 8/8 octant
{
e=dy-dx/2;
while(x1<=x2)
{
PutPixel(x1,y1,color); if(e>0){y1-=1;e-=dx;} x1+=1;
e+=dy;} }
else
{
// 7/8 octant
e=dx-dy/2;
while(y1>=y2)
{
PutPixel(x1,y1,color);
if(e>0){x1+=1;e-=dy;} y1-=1;
e+=dx;}}}}
else //dx<0

嵌入式报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人fengruiling
  • 文件大小150 KB
  • 时间2022-07-27