全球旧事资料 分类
TIN三角网存储与显示
21513129贺佳伟
程序设计与实现的基本思路:采用面向对象的思想,自定义算法实现过程中需要的点、边、面类。程序中定义的变量protectedi
tiPOINTP10点集publicboolf返回truefalse实现鼠标输入散点代码如下CMy21513129ViewCMy21513129ViewTODOaddco
structio
codehereffalsef初值设为假iffCClie
tDCdcthisCPe
pe
创建画笔pe
CreatePe
PS_SOLID6RGB25500定义画笔属性CPe
pOldpe
dcSelectObjectpe
把点画大
1
fdcEllipsepoi
txpoi
typoi
tx3poi
ty3P1push_backpoi
t定义容器容器vectorCPoi
tP1点vectorLi
eL2线vectorPolygo
P3面线数据存储结构体structLi
eCPoi
tp1CPoi
tp2面数据存储结构体structPolygo
CPoi
tp1CPoi
tp2CPoi
tp3
2
直线结构体
多边形结构体,这里选用三角形
CPoi
t是一个坐标类
f
散点生成本次实验通过三种方式实现散点的读入,分别是随机生成、鼠标输入、文本读入(txt文档)。1随机生成随机生成x个点模拟一般建立TIN的点文件,将这x个点放入全局变量点数组中。x可以通过修改宏定义defi
ePNUMBER10,从而定义不同个数的随机点。TIN生成后,可以在MFC窗口自动绘图显示。2鼠标输入通过鼠标取点读入点数据,并存储到vectorCPoi
tP1中。3文本读入(txt文档)利用事先设置好测试数据文档读入散点,并存储到vectorCPoi
tP1中。程序中用到的自定义函数voidCMy21513129Viewdisplay
umf左下角显示三角形个数voidCMy21513129Viewdisplay
ump左下角显示点个数boolIsPoi
tsBuildTria
glei
tp1i
tp2i
tp3判断该三角形是否存在
3
fboolIsPoi
tI
Circlei
tti
tr1i
tr2i
tr3判断序列号为t的点是否在该三角形外接圆内voidCMy21513129ViewTria
gleCPoi
tp1CPoi
tp2CPoi
tp3绘制三角形boolCMy21513129ViewIsLi
eCPoi
tp1CPoi
tp2是否存在此线段boolCMy21513129ViewIsTCPoi
tp1CPoi
tp2CPoi
tp3判断容器中是否已经存在此三角形判断
程序中的事件处理程序
voidCMy21513129ViewO
MouseMoveUINT
FlagsCPoi
t
poi
t读取鼠标所在位置点的坐标voidCMy21513129ViewO
Ge
eratePoi
ts随机生成点voidCMy21513129ViewO
Mouse鼠标读点voidCMy21513129ViewO
LButto
Dow
UINT
FlagsCPoi
t
poi
t鼠标响应voidCMy21513129ViewO
Ti
Ti
实现voidCMy21513129ViewO
Poi
t生成点注记voidCMy21513129ViewO
Li
e生成线注记voidCMy21513129ViewO
Surface生成面注记voidCMy21513129ViewO
QCsj清屏并清除存处数据voidCMy21513129ViewO
SaveV保存点坐标
4
fvoidCMy21513129ViewO
SaveE保存边关系voidCMy21513129ViewO
SaveF保r
好听全球资料 返回顶部