怎么用C++编写坐标

如题所述

很抱歉!从你的提问来看,这个问题比较复杂,我很难给你讲明白。你要想完成这个题目还得学习很多知识。希望下面的回答对你有帮助。

要想用C++语言编程实现画图,得用windows编程(MFC编程),当然,语法都是C++的语法,但是要用C++语言编程实现,还需要学习很多windows编程的知识。

不过要实现画图,你可以调用前人已经编好的库函数来实现,下面介绍几个函数作参考,当然,具体怎么使用函数你自己去查阅下书籍:

画点函数
void far putpixel(int x, int y, int color);
关于点的另外一个函数是:
int far getpixel(int x, int y);
它获得当前点(x, y)的颜色值。
有关坐标位置的函数

int far getmaxx(void);
返回x轴的最大值。

int far getmaxy(void);
返回y轴的最大值。

int far getx(void);
返回游标在x轴的位置。

void far gety(void);
返回游标有y轴的位置。

void far moveto(int x, int y);
移动游标到(x, y)点, 不是画点, 在移动过程中亦画点。

void far moverel(int dx, int dy);
移动游标从现行位置(x, y)移动到(x+dx, y+dy)的位置, 移动过程中不画点。
void far line(int x0, int y0, int x1, int y1);
画一条从点(x0, y0)到(x1, y1)的直线。

void far lineto(int x, int y);
画一作从现行游标到点(x, y)的直线。

void far linerel(int dx, int dy);
画一条从现行游标(x, y)到按相对增量确定的点(x+dx, y+dy)的直线。

void far circle(int x, int y, int radius);
以(x, y)为圆心, radius为半径, 画一个圆。

void far arc(int x, int y, int stangle, int endangle, int radius);
以(x, y)为圆心, radius为半径, 从stangle开始到endangle结束(用度表示)
画一段圆弧线。在TURBO C中规定x轴正向为0度, 逆时针方向旋转一周, 依次为
90, 180, 270和360度(其它有关函数也按此规定, 不再重述)。

void ellipse(int x, int y, int stangle, int endangle, int xradius,
int yradius);
以(x, y)为中心, xradius, yradius为x轴和y轴半径, 从角stangle 开始到
endangle结束画一段椭圆线, 当stangle=0, endangle=360时, 画出一个完整的
椭圆。

void far rectangle(int x1, int y1, int x2, inty2);
以(x1, y1)为左上角, (x2, y2)为右下角画一个矩形框。

void far drawpoly(int numpoints, int far *polypoints);
画一个顶点数为numpoints, 各顶点坐标由polypoints 给出的多边形
polypoints整型数组必须至少有2倍顶点数个无素。每一个顶点的坐标都定义为x,
y, 并且x在前。值得注意的是当画一个封闭的多边形时, numpoints 的值取实际
多边形的顶点数加一, 并且数组polypoints中第一个和最后一个点的坐标相同。
void far bar(int x1, int y1, int x2, int y2);
确定一个以(x1, y1)为左上角, (x2, y2)为右下角的矩形窗口, 再按规定图
模和颜色填充。
说明: 此函数不画出边框, 所以填充色为边框。

void far bar3d(int x1, int y1, int x2, int y2, int depth, int
topflag);
当topflag为非0时, 画出一个三维的长方体。当topflag为0时, 三维图形不
封顶, 实际上很少这样使用。
说明: bar3d()函数中, 长方体第三维的方向不随任何参数而变, 即始终为
45度的方向。

void far pieslice(int x, int y, int stangle, int endangle, int
radius);
画一个以(x, y)为圆心, radius为半径, stangle为起始角度, endangle 为
终止角度的扇形, 再按规定方式填充。当stangle=0, endangle=360 时变成一个
实心圆, 并在圆内从圆点沿X轴正向画一条半径。

void far sector(int x, int y, int stanle, intendangle, int
xradius, int yradius);
画一个以(x, y)为圆心分别以xradius, yradius为x轴和y轴半径, stangle
为起始角, endangle为终止角的椭圆扇形, 再按规定方式填充。
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-12-19


要想用C++语言编程实现画图,得用windows编程(MFC编程),当然,语法都是C++的语法,但是要用C++语言编程实现,还需要学习很多windows编程的知识。

不过要实现画图,你可以调用前人已经编好的库函数来实现,下面介绍几个函数作参考,当然,具体怎么使用函数你自己去查阅下书籍:

画点函数
void far putpixel(int x, int y, int color);
关于点的另外一个函数是:
int far getpixel(int x, int y);
它获得当前点(x, y)的颜色值。
有关坐标位置的函数

int far getmaxx(void);
返回x轴的最大值。

int far getmaxy(void);
返回y轴的最大值。

int far getx(void);
返回游标在x轴的位置。

void far gety(void);
返回游标有y轴的位置。

void far moveto(int x, int y);
移动游标到(x, y)点, 不是画点, 在移动过程中亦画点。

void far moverel(int dx, int dy);
移动游标从现行位置(x, y)移动到(x+dx, y+dy)的位置, 移动过程中不画点。
void far line(int x0, int y0, int x1, int y1);
画一条从点(x0, y0)到(x1, y1)的直线。

void far lineto(int x, int y);
画一作从现行游标到点(x, y)的直线。

void far linerel(int dx, int dy);
画一条从现行游标(x, y)到按相对增量确定的点(x+dx, y+dy)的直线。

void far circle(int x, int y, int radius);
以(x, y)为圆心, radius为半径, 画一个圆。

void far arc(int x, int y, int stangle, int endangle, int radius);
以(x, y)为圆心, radius为半径, 从stangle开始到endangle结束(用度表示)
画一段圆弧线。在TURBO C中规定x轴正向为0度, 逆时针方向旋转一周, 依次为
90, 180, 270和360度(其它有关函数也按此规定, 不再重述)。

void ellipse(int x, int y, int stangle, int endangle, int xradius,
int yradius);
以(x, y)为中心, xradius, yradius为x轴和y轴半径, 从角stangle 开始到
endangle结束画一段椭圆线, 当stangle=0, endangle=360时, 画出一个完整的
椭圆。

void far rectangle(int x1, int y1, int x2, inty2);
以(x1, y1)为左上角, (x2, y2)为右下角画一个矩形框。

void far drawpoly(int numpoints, int far *polypoints);
画一个顶点数为numpoints, 各顶点坐标由polypoints 给出的多边形。
polypoints整型数组必须至少有2倍顶点数个无素。每一个顶点的坐标都定义为x,
y, 并且x在前。值得注意的是当画一个封闭的多边形时, numpoints 的值取实际
多边形的顶点数加一, 并且数组polypoints中第一个和最后一个点的坐标相同。
void far bar(int x1, int y1, int x2, int y2);
确定一个以(x1, y1)为左上角, (x2, y2)为右下角的矩形窗口, 再按规定图
模和颜色填充。
说明: 

此函数不画出边框, 所以填充色为边框。

void far bar3d(int x1, int y1, int x2, int y2, int depth, int
topflag);
当topflag为非0时, 画出一个三维的长方体。当topflag为0时, 三维图形不
封顶, 实际上很少这样使用。

说明:

 bar3d()函数中, 长方体第三维的方向不随任何参数而变, 即始终为
45度的方向。

void far pieslice(int x, int y, int stangle, int endangle, int
radius);
画一个以(x, y)为圆心, radius为半径, stangle为起始角度, endangle 为
终止角度的扇形, 再按规定方式填充。当stangle=0, endangle=360 时变成一个
实心圆, 并在圆内从圆点沿X轴正向画一条半径。

void far sector(int x, int y, int stanle, intendangle, int
xradius, int yradius);
画一个以(x, y)为圆心分别以xradius, yradius为x轴和y轴半径, stangle
为起始角, endangle为终止角的椭圆扇形, 再按规定方式填充。

C++ 编写点坐标(Point)的类
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; \/\/纵坐标 };...

C++怎么写坐标的程序?
描述点坐标,并将二维点坐标类的定义放入tpoint.h文件中。tpoint.h文件内容如下:\/Tpoint类的说明部分 class Tpoint { public: void SetPoint(int x,int y); int Xcoord( ) { return X;} int Ycoord( ) { return Y;} void Move(int xOffset,int yOffset); private:...

C++里直线方程式输入坐标X,Y最后求一个点在Y的的坐标。
\/\/用两个点求出直线的斜率和截距就可以了#include<stdio.h>#include<iostream>using namespace std;int main(){ float x1,x2,y1,y2,x; float k,b; cout<<"请输入直线的第1个点的x坐标:"; cin>>x1; cout<<"请输入直线的第1个点的y坐标:"; cin>>y1; cout<<...

用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形
\/\/ 假设顺时针输入\/\/ a[i] 为行, b[i] 为列\/\/t判断方向\/\/ 上下左右分别为 s,x,z,y# include <iostream>using namespace std;int main (){int n; cin >> n;while (n != 0){int s = 1, x = 1, z = 1, y = 1, a[110] = {0}, b[110] = {0};int flag = 1...

用C++编程
在屏幕上输出一个由*围成的空心圆,由于屏幕是25行80列,故将圆心定在屏幕中心定在40列的位置,将半径定为10行,这样可以保证整个图形显示在一个屏幕中,利用圆的方程X2+Y2=R2(R=10)可求出坐标(X,Y),然后用对称性算出右侧对应点的坐标。\/ \/\/显示圆 void ShowCircle(){ system("cls")...

c++编写一个点类Point,功能包括输出点的坐标,移动到新位置及输出它与...
double y;public:Point();Point(double x1, double y1) {x=x1;y=y1} void set(double x1, double y1) {x=x1;y=y1} void Display() {cout << "(x,y)=(" << x << "," << y << ")" << endl;void move(double x1, double y1) {x=x1;y=y1} double getx() {return x...

由经纬度确定某地点如何用C++编写出程序?
var point = new BMap.Point(精度值, 纬度值);\/\/ Location, (经度, 纬度)map.centerAndZoom(point, 18);var mark = new BMap.Marker(point);\/\/做标记 map.addOverlay(mark);\/\/在地图显示上添加标记 map.addControl(new BMap.MapTypeControl()); \/\/为地图添加2D3D切换控件 map.setCurrentCity...

C++中编写:输入三角形坐标 然后输出边长、面积、周长的程序
int main(void){ float a, b, c, dian1[2], dian2[2], dian3[2], l, s;cout<<"依次输入三个点的坐标"<<endl;cin>>dian1[0];cin>>dian1[1];cin>>dian2[0];cin>>dian2[1];cin>>dian3[0];cin>>dian3[1];a = (float)sqrt((dian1[0] - dian2[0]) * (dian1[0...

如何在C++建造一个结构体struct point{} 存放四个点的坐标(x,y) 并...
int x;int y;} class Point { private:S_Point p;public:Point(int x,int y);void GetPx(){return p.x} void GetPy(){return p.y} int CalDistance(Point & pt);} Point::Point(int x,int y){ p.x=x;p.y=y;} int Point:: CalDistance(Point& pt){ Double distane;distance...

用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形
tt(p,0,m)) return 1;return 0;} void main(){ double p[N][2];char ch='y';while (ch=='y'||ch=='Y'){ cout<<"请输入这N个点坐标:"<<endl;for(int i=0;i<N;i++){ cout<<" 第"<<i<<"个点坐标:";cin>>p[i][0]>>p[i][1];\/\/cin>>**p>>*(*p+1);...

相似回答