资源简介
案例11-二维图形几何变换算法.zip

代码片段和文件信息
// Line.cpp: implementation of the CLine class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “Line.h“
#include “math.h“
#define Round(d) int(floor(d+0.5))//四舍五入宏定义
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CLine::CLine()
{
}
CLine::~CLine()
{
}
void CLine::MoveTo(CDC *pDCCP2 p0)//绘制直线起点函数
{
P0=p0;
}
void CLine::MoveTo(CDC *pDCdouble x0double y0)//重载函数
{
P0=CP2(x0y0);
}
void CLine::LineTo(CDC *pDCCP2 p1)
{
P1=p1;
CP2 pt;
CRGB clr=CRGB(0.00.00.0);//黑色像素点
if(fabs(P0.x-P1.x)<1e-6)//绘制垂线
{
if(P0.y>P1.y)//交换顶点使得起始点低于终点
{
t=P0;P0=P1;P1=t;
}
for(p=P0;p.y {
pDC->SetPixelV(Round(p.x)Round(p.y)RGB(clr.red*255clr.green*255clr.blue*255));
}
}
else
{
double kd;
k=(P1.y-P0.y)/(P1.x-P0.x);
if(k>1.0)//绘制k>1
{
if(P0.y>P1.y)
{
t=P0;P0=P1;P1=t;
}
d=1-0.5*k;
for(p=P0;p.y {
pDC->SetPixelV(Round(p.x)Round(p.y)RGB(clr.red*255clr.green*255clr.blue*255));
if(d>=0)
{
p.x++;
d+=1-k;
}
else
d+=1;
}
}
if(0.0<=k && k<=1.0)//绘制0<=k<=1
{
if(P0.x>P1.x)
{
t=P0;P0=P1;P1=t;
}
d=0.5-k;
for(p=P0;p.x {
pDC->SetPixelV(Round(p.x)Round(p.y)RGB(clr.red*255clr.green*255clr.blue*255));
if(d<0)
{
p.y++;
d+=1-k;
}
else
d-=k;
}
}
if(k>=-1.0 && k<0.0)//绘制-1<=k<0
{
if(P0.x>P1.x)
{
t=P0;P0=P1;P1=t;
}
d=-0.5-k;
for(p=P0;p.x {
pDC->SetPixelV(Round(p.x)Round(p.y)RGB(clr.red*255clr.green*255clr.blue*255));
if(d>0)
{
p.y--;
d-=1+k;
}
else
d-=k;
}
}
if(k<-1.0)//绘制k<-1
{
if(P0.y {
t=P0;P0=P1;P1=t;
}
d=-1-0.5*k;
for(p=P0;p.y>P1.y;p.y--)
{
pDC->SetPixelV(Round(p.x)Round(p.y)RGB(clr.red*255clr.green*255clr.blue*255));
if(d<0)
{
p.x++;
d-=1+k;
}
else
d-=1;
}
}
}
P0=p1;
}
void CLine::LineTo(CDC *pDCdouble x1double y1)//重载函数
{
LineTo(pDCCP2(x1y1));
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-10-28 16:36 案例11-二维图形几何变换算法\
目录 0 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\
文件 17220 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\Line.obj
文件 7591 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\Line.sbr
文件 20214 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\MainFrm.obj
文件 5064 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\MainFrm.sbr
文件 20730 2017-10-27 21:48 案例11-二维图形几何变换算法\Debug\P2.obj
文件 8517 2017-10-27 21:48 案例11-二维图形几何变换算法\Debug\P2.sbr
文件 19571 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\RGB.obj
文件 5621 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\RGB.sbr
文件 105897 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\StdAfx.obj
文件 1371518 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\StdAfx.sbr
文件 270434 2017-10-27 22:07 案例11-二维图形几何变换算法\Debug\Test.exe
文件 360328 2017-10-27 22:07 案例11-二维图形几何变换算法\Debug\Test.ilk
文件 23505 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\Test.obj
文件 7009284 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\Test.pch
文件 386048 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\Test.pdb
文件 111536 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\Test.res
文件 11299 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\Test.sbr
文件 14917 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\TestDoc.obj
文件 4465 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\TestDoc.sbr
文件 48335 2017-10-27 22:07 案例11-二维图形几何变换算法\Debug\TestView.obj
文件 16917 2017-10-27 22:07 案例11-二维图形几何变换算法\Debug\TestView.sbr
文件 17426 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\Transform .obj
文件 9206 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\Transform .sbr
文件 353280 2017-10-27 22:07 案例11-二维图形几何变换算法\Debug\vc60.idb
文件 372736 2017-10-21 16:26 案例11-二维图形几何变换算法\Debug\vc60.pdb
文件 2589 2017-10-08 10:04 案例11-二维图形几何变换算法\Line.cpp
文件 712 2017-10-08 10:04 案例11-二维图形几何变换算法\Line.h
文件 2363 2017-10-08 10:04 案例11-二维图形几何变换算法\MainFrm.cpp
文件 1440 2017-10-08 10:04 案例11-二维图形几何变换算法\MainFrm.h
............此处省略39个文件信息
相关资源
- PID_AutoTune_v0.rar
- vspd7.2.308.zip
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
- UML建模大全
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
- FTP课程设计(服务端+客户端)
- 计算机图形学 边填充算法实现代码
- 电力系统潮流计算程序集合
- oracle数据迁移项目实施方案
- Web Api 通过文件流 文件到本地
- Visio图标-最新最全的网络通信图标库
- Spire API文档
- OpenGL参考手册
- Python中Numpy库最新教程
- SPD博士V5.3.exe
- 直流无刷电机方波驱动 stm32 例程代码
- layui后台管理模板
- 仿知乎界面小程序源代码
- 云平台-阿里云详细介绍
- photoshop经典1000例
- scratch垃圾分类源码(最终版本).sb
- IAR ARM 7.8破解
- TI CCS V5.4 安装步骤及破解文件
- 松下plc FP-XH的驱动
- 局域网硬件信息收集工具
- 加快Windows XP操作系统开机速度
评论
共有 条评论