该类可以提供移动,求到另一点的距离,获取X坐标和Y坐标等 *** 作,也可以设置X坐标和Y坐标的值。要求有拷贝构造函数。数据成员为X坐标和Y坐标。
源代码如下
using namespace std;
class Point{
public:
Point(); //不带参数构造函数
Point(int X, int Y); //带参数的构造函数
Point(const Point &p); //拷贝构造函数;
int getX(); //获取横坐标
int getY(); //获取纵坐标
void setX(int iX); //设置横坐标
void setY(int iY); //设置纵坐标
float distance(Point p1, Point p2); //计算两点的距离protected:
private:
int x; //横坐标
int y; //纵坐标
};
int main()
{
Point pos;
Point pt(10, 10);
Point pts(pt);
cout << "获取pos的坐标值" << endl
cout << "X:" << posgetX() << endl;
cout << "Y:" << posgetY() << endl;
possetX(20);
possetY(20);
cout << "获取pos的设置后的坐标值" << endl;
cout << "X:" << posgetX() << endl;
cout << "Y:" << posgetY() << endl;
cout << "获取pt的坐标值" << endl;
cout << "X:" << ptgetX() << endl;
cout << "Y:" << ptgetY() << endl;
cout << "获取pts的坐标值" << endl;
cout << "X:" << posgetX() << endl;
cout << "Y:" << posgetY() << endl;
cout << "输出pos与pt之间的距离" << endl;
cout << "X:" << posdistance(pos, pt) << endl;
return 0;
}
扩展资料
一个点类Point,有2个私有数据成员x,y代表点坐标的源代码
include
#include
using namespace std;
class Point
{
public:
Point(int a,int b):x(a),y(b){cout<<"初始化点类的一个对象\n";}
~Point(){cout<<"回收点类的内存空间\n";}
void show()
{cout<<"这个点的坐标为:"<<"("< double distance(Point &p){return sqrt((py-y)
(px-y)+(px-x)(px-x));}
private:
int x;
int y;
};
int main()
{
Point a(0,0);
Point b(1,1);
cout< return 0;
}
快三年了,在写了四篇文章,关于Cesium的基本都是水一下,不是不想写,一是没时间,二来确实比较懒,关于Cesium已经一年多没有看过了,最多也就关注一下官网的更新内容,对于Cesium深入了解还真没有下功夫。
最近公司业务调整,手头的业务也停掉了,只剩下维护了,也没有继续待着的意义了,趁着换工作的空,整理一下以前抄过、请教过、写过的一些东西吧,不确定能写多少,就简单记录一下吧。
Ceisum本身有一个clipPlane可以进行裁剪,但是不支持多边形裁剪,想要支持多边形裁剪也要费一番功夫。
多边形裁剪的主要原理:
一、构造裁剪多边形;
二、将构造多边形的定点归化到模型局部坐标系,并获取模型Rectangle,记录并传递给片元着色器;
三、将多边形渲染到到一张构造的纹理上,给多边形一个绘制的颜色,并将纹理赋值给片元着色器;
四、在顶点着色器中把从attribute获取到的定点传递给片元着色器,如
gl_Position = czm_projectionu_modelViewMatrix viewPos; //投影矩阵模型视图矩阵顶点坐标
中的viewPosxyz;
五、在片元着色器中,根据(四)中传递过来的顶点,判定该顶点是否在(二)中的rectangle中,若在,则计算该顶点在(三)中纹理的uv坐标,用texture2D(texture,uv)获取当前顶点的color值,若不为空,则继续,若为空则discard并返回。
通过以上步骤就可以实现以多边形为边界的模型裁剪。
主要利用://在指定位置画图
gDrawImage(image, new SystemDrawingRectangle(0, 0, bitmapWidth, bitmapHeight),
new SystemDrawingRectangle(0, 0, imageWidth, imageHeight),
SystemDrawingGraphicsUnitPixel);
image:你的原图,
SystemDrawingRectangle:位置与长宽,根据自己需要设置!
--------------------------------------------------------------------------------------------------------------
实例如下:
public void MakeSmallImg(string filePath, string saveImg)
{
//从文件取得对象
SystemDrawingImage image = SystemDrawingImageFromFile(filePath, true);
//取得大小
SystemDrawingSize size = new SystemDrawingSize((int)imageWidth, (int)imageHeight);
//新建一个bmp
SystemDrawingImage bitmap = new SystemDrawingBitmap(sizeWidth, sizeHeight);
//新建一个画板
SystemDrawingGraphics g = SystemDrawingGraphicsFromImage(bitmap);
//设置高质量插值法
gInterpolationMode = SystemDrawingDrawing2DInterpolationModeDefault;
//设置高质量,低速度呈现平滑程度
gSmoothingMode = SystemDrawingDrawing2DSmoothingModeDefault;
//清空一下画布
gClear(SystemDrawingColorWhite);
//在指定位置画图
gDrawImage(image, new SystemDrawingRectangle(0, 0, bitmapWidth, bitmapHeight),
new SystemDrawingRectangle(0, 0, imageWidth, imageHeight),
SystemDrawingGraphicsUnitPixel);
///文字水印
//SystemDrawingGraphics G=SystemDrawingGraphicsFromImage(bitmap);
//SystemDrawingFont f=new Font("宋体",10);
//SystemDrawingBrush b=new SolidBrush(ColorBlack);
//GDrawString("myohmine",f,b,10,10);
//GDispose();
///水印
//SystemDrawingImage copyImage = SystemDrawingImageFromFile(SystemWeb>
以上就是关于c++编写一个点类Point,功能包括输出点的坐标,移动到新位置及输出它与另一个点的距离全部的内容,包括:c++编写一个点类Point,功能包括输出点的坐标,移动到新位置及输出它与另一个点的距离、Cesium 3Dtiles模型多边形裁剪简单整理、怎样用 c# GDI+ 截取一张图片的一部分,然后再替换另一张图片的一部分啊求代码~!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)