三维空间两点距离 三维空间 C++-空间三维点类型

导读:爱华网网友为您分享以下“C++-空间三维点类型”的资讯,希望对您有所帮助,感谢您对aIhUaU.com的支持!

哈尔滨工业大学计算机科学与技术学院

课程实验:

空间三维点类型

课程名称:算法设计与分析

课程类型:必修

目录

空间三维点类型 ....................................................................................................................... 1

一 实验题目 ..................................................................................................................................... 3

实验1:定义并实现一个平面点类 ........................................................................................ 3

实验2:从平面点类Point采用继承的方式,派生三维空间点类Point3D ........................... 3

实验3:定义并实现折线类Curve3D ..................................................................................... 3

二 实现构思 ..................................................................................................................................... 4

1.平面点类 ................................................................................................................................ 4

2.三维点类 ................................................................................................................................ 5

3.三维折线类 ............................................................................................................................ 6

三 测试程序 ................................................................................................................................... 14

四 实验结果 ................................................................................................................................... 16

1.缺省构造对象 ...................................................................................................................... 16

2.设定初始值构造对象 .......................................................................................................... 16

3.重载加法 .............................................................................................................................. 16

4.重载减法 .............................................................................................................................. 17

5.文本文件读写 ...................................................................................................................... 17

6.二进制文件读写 .................................................................................................................. 17

五 实验感想 ................................................................................................................................... 18

1.找到原型 .............................................................................................................................. 18

2.EOF的含义 .......................................................................................................................... 18

一 实验题目

实验1:定义并实现一个平面点类

1. Point,包含protected类型的数据成员m_x、m_y用于保存x轴、y轴两

个坐标值,并具有如下数据成员:

2. get_x()、get_y()用于获取x、y轴的坐标值

3. set_x()、set_y()用于获取x、y轴的坐标值

三维空间两点距离 三维空间 C++-空间三维点类型

4. DisplayPoint()函数,用于输出点的全部信息(坐标等)

5. 主程序从键盘输入点的坐标值,程序结束前输出点的信息。

实验2:从平面点类Point采用继承的方式,派生三维空间点类Point3D

1. 增加数据成员m_z(z轴坐标值)

2. 增加成员函数set_z()、get_z()用于设定或获取z轴坐标数值

3. 采用虚函数的方式重载DisplayPoint输出三维空间点的全部信息。

4. 主程序从键盘输入点的三维坐标值,程序结束前输出点的信息。

实验3:定义并实现折线类Curve3D

1. 该类的对象拥有至少1个空间点(Point3D类型的数据,用指针与动态空间申请实现),以及记录点数量的数据成员

2. 编写带默认参数值的构造函数,折线默认的空间点为原点(0,0,0)

3. 编写析构函数;

4. 成员函数DisplayCurve用于输出折线的各个点的信息;

5. 成员函数CurveLen用于计算并输出折线长度;

6. 重载加号运算符+,可以将一个Point3D点增加到折线点序列中(表示将折线延长到改点处);

7. 重载减号运算符-,可以将一个Point3D点从折线点序列中删除(先在点序列中搜索,如果有要删除的点,就删除,如果没有,返回即可);

8. 重载赋值运算符= 解决浅拷贝问题;

9. 成员函数write_txt(ofstream &os),实现将折线数据写入文本文件的功能,文本文件每行保存一个点的三个坐标值,有多少个点,就有多少行;

10. 成员函数read_txt(ifstream &is),实现从文本文件读入折线数据的功能,文本文件每行保存一个点的三个坐标值,有多少个点,就有多少行;

11. 成员函数write_binary(ofstream &os) ,实现将折线数据写入二进制文件的功能;

12. 成员函数read_binary(ifstream &is) 实现从二进制文件读入折线数据的功能。

二 实现构思

为了体现各个类的继承关系,同时也为了减少单独一个头文件的大小,分别使用三个头文件实现平面点类、三维点类以及三维折线类。

  

爱华网本文地址 » http://www.aihuau.com/a/378751/18402220523.html

更多阅读

根据两点经纬度计算距离 gis空间数据

根据两点经纬度计算距离转自网络:原址在实际应用当中,一般是通过一个个体的编码来查找该编码对应的地区中心的经纬度,然后再根据这些经纬度来计算彼此的距离,从而估算出某些群体之间的大致距离范围(比如酒店旅客的分布范围-各个旅客的邮

基于距离的计算方法 计算距离的方法

1. 欧氏距离(Euclidean Distance)欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式。(1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离:(2)三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:(3)两个n

声明:《三维空间两点距离 三维空间 C++-空间三维点类型》为网友狸猫少年分享!如侵犯到您的合法权益请联系我们删除