TanZek's 技术空间
勇往直前,专注于技术...
首页
新随笔
联系
聚合
管理
7 Posts :: 19 Stories :: 9 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
文章分类
(19)
C++(3)
GNU/Linux(2)
Programming(1)
Subject-Study(8)
服务器技术(2)
家教办公系统的开发日志(3)
搜索
最新评论
1. re: 计算机图形学---Bresenham画线算法
ujhlk 】
、
--好哥
2. re: C++博客
不敢确定,不过好像和所用的模板有关系
我换了一个模板就好了
--<a href=http://minidx.com>minidxer</a>
3. re: C++博客
我也遇到过这种情况!
--秦歌
4. re: VC++编程获取机器的MAC地址
此 例程 只能 获取有线网卡的MAC地址,对与无线网卡 无能为力
--queniao
5. re: 操作系统实验(Operating System Experiment)
评论内容较长,点击标题查看
--李俊
阅读排行榜
1. VC++编程获取机器的MAC地址(2205)
2. Windows文件关联方式(953)
3. 海明码的软件实现(939)
4. Linux下的USB设备,SCSI设备的挂载。(392)
5. C++博客(151)
评论排行榜
1. C++博客(4)
2. VC++编程获取机器的MAC地址(1)
3. RUNDLL.exe 命令详解(0)
4. 海明码的软件实现(0)
5. Windows文件关联方式(0)
计算机图形学---Bresenham画线算法
Bresenham画线算法。
[初级版]
1
void
Bresenham_line(HDC
&
hdc)
2
{
3
char
a[
20
];
4
double
dx,dy;
5
dx
=
abs(B.x
-
A.x); dy
=
abs(B.y
-
A.y);
6
int
tx
=
(B.x
-
A.x)
>=
0
?
1
:
-
1
;
7
int
ty
=
(B.y
-
A.y)
>=
0
?
1
:
-
1
;
8
int
tag
=
0
;
9
if
(dx
<
dy)
10
{
11
tag
=
1
;
12
double
temp
=
A.x;
//
x1,y1互换
13
A.x
=
A.y;
14
A.y
=
temp;
15
temp
=
B.x;
//
x2,y2互换
16
B.x
=
B.y;
17
B.y
=
temp;
18
temp
=
dx;
//
dx,dy互换
19
dx
=
dy;
20
dy
=
temp;
21
temp
=
tx;
//
tx,ty互换
22
tx
=
ty;
23
ty
=
temp;
24
}
25
int
curx
=
A.x;
26
int
cury
=
A.y;
27
if
(tag)
28
{
29
SetPixel(hdc,cury,
600
-
curx,RGB(
0
,
0
,
0
));
30
sprintf(a,
"
A(%d,%d)
"
,cury,curx);
31
TextOut(hdc,cury,
600
-
curx,a,strlen(a));
32
}
33
else
34
{
35
SetPixel(hdc,curx,
600
-
cury,RGB(
0
,
0
,
0
));
36
sprintf(a,
"
A(%d,%d)
"
,curx,cury);
37
TextOut(hdc,curx,
600
-
cury,a,strlen(a));
38
}
39
double
d
=
2
*
dy
-
dx;
40
while
(cury
<=
B.y
&&
curx
<=
B.x)
41
{
42
if
(d
>=
0
)
43
{
44
d
=
d
+
2
*
(dy
-
dx);
45
cury
+=
ty;
46
}
47
else
48
d
=
d
+
2
*
dy;
49
curx
+=
tx;
50
if
(tag)
51
SetPixel(hdc,cury,
600
-
curx,RGB(
0
,
0
,
0
));
52
else
53
SetPixel(hdc,curx,
600
-
cury,RGB(
0
,
0
,
0
));
54
}
55
if
(tag)
56
{
57
SetPixel(hdc,cury,
600
-
curx,RGB(
0
,
0
,
0
));
58
sprintf(a,
"
B(%d,%d)
"
,cury,curx);
59
TextOut(hdc,cury,
600
-
curx,a,strlen(a));
60
}
61
else
62
{
63
SetPixel(hdc,curx,
600
-
cury,RGB(
0
,
0
,
0
));
64
sprintf(a,
"
B(%d,%d)
"
,curx,cury);
65
TextOut(hdc,curx,
600
-
cury,a,strlen(a));
66
}
67
}
posted on 2006-10-07 06:40
TanZek
阅读(461)
评论(1)
编辑
收藏
引用
所属分类:
Subject-Study
评论
#
re: 计算机图形学---Bresenham画线算法
2008-07-05 17:12
好哥
ujhlk 】
、
回复
更多评论
刷新评论列表
IT新闻:
·
DigitalContents:日本游戏开发人员平均年收入40万元
·
开源不是一种民主制度
·
历史变迁:1980年的20GB和2010年的32GB
·
游戏大师宫本茂:让Wii成为教学工具
·
Ubuntu 10.04:最具创新的Ubuntu
专题:
Android
iPad
jQuery
Chrome OS
博客园首页
IT新闻
知识库
学英语
C++程序员招聘
标题
姓名
主页
验证码
*
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
每天10分钟,轻松学英语
推荐职位:
·
飞信服务器端高级.NET开发工程师(新媒传信)
·
.NET飞信官网开发工程师(新媒传信)
·
.NET技术开发总监(广州衣酷)
·
ASP.NET资深工程师 (盛大网络)
·
.NET初级程序员 (北京安人)
·
.NET中级程序员 (北京安人)
·
中高级.NET工程师(沪江网)
·
前端开发工程师(沪江网)
博客园首页随笔:
·
OpenExpressApp 结构(2)
·
Expression Blend实例中文教程(3) - 布局控件快速入门Grid
·
上周热点回顾(3.15-3.21)
·
Visual Studio 2010 Ultimate测试体系结构
·
时间管理——专注与放下
知识库:
·
技术、业务、市场
·
五个广泛流传的对大龄程序员的误解
·
有感于“研发人员的个人培养和组织培养”
·
SQL vs NoSQL:数据库并发写入性能比拼
·
让敏捷与“以用户为中心的设计”和谐共生
相关文章:
计算机图形学---DDA算法
计算机图形学---Bresenham画线算法
操作系统实验(Operating System Experiment)
[转]《数据库原理》练习题及答案
[转]数据库学习笔记
国外大学部分现用教材及教学参考书
递归模型与递归算法的设计
排列问题
网站导航:
博客园
IT新闻
博客园个人主页
BlogJava
博客生活
IT博客网
PHP博客
博客园社区
管理
Powered by:
C++博客
Copyright © TanZek