c语言坐标系
‘壹’ c语言编出的图形如直线是以左上角为(0,0)点如何调整成符合习惯的坐标系
c语言本身是无法调整的,但是如果为了使用原点为左下角的坐标系完全可以用坐标变
换实现,你只需要自己写一个自己的直线函数,即参数为以左下角为原点的直线的端点
的直线函数。并在函数中作一次坐标变换就可以了,举个例子:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
/*直线函数*/
void myline(int x1, int y1, int x2, int y2)
{
int ymax = getmaxy(); /*获得屏幕最低点的y坐标*/
y1 = ymax - y1; /*坐标变换*/
y2 = ymax - y2;
line(x1, y1, x2, y2);
}
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int xmax, ymax;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "h:\\work\\tc3\\bgi");
/* read result of initialization */
errorcode = graphresult();
/* an error occurred */
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
setcolor(getmaxcolor());
xmax = getmaxx();
ymax = getmaxy();
/* 这是原来的直线函数*/
line(0, 0, xmax, ymax);
/* 这是变换后的直线函数*/
myline(0,0,xmax,ymax);
/* clean up */
getch();
closegraph();
return 0;
}
不过不推荐使用这种方法,其实,坐标原点在哪里都是一样的,用习惯就好了。
‘贰’ c语言坐标系怎么编写
用(x,300-y)来表示,则就是表示横坐标在距离显示器顶端300个像素的地方。c语言中一般是在显示器的中央附近吧,因为c语言中显示VGA好像是640*480。当然300是可以改的,任何一个都可以,视情况而定。
‘叁’ 请教高手:怎么用C语言编写直角坐标系
不太清楚你的意思,不过我想你是不是想输出数组或其它。
0-----------------------------------> x轴
|
|
|
|
|
|y 轴
比如你指定一个位置(x,y),在此位置输出一个数或其他,则可这样写函数:
void cordinate(int x, int y)
{
for(int j = 0 ; j < y ; j++)
{cout<<'\n';
for(int i = 0; i < x; i++)
cout<<left<<setw(x)<<endl;
}
}
c++版本的,不过c也应该是这个思路。
‘肆’ c语言中若要输入坐标应该怎么办
先算出纵坐标的值,然后
用二维数组来存储坐标,如:int a[5][5]; 可以用a[0][0] a[0][1]....
a[i][j]....a[4][3] a[4][4],来存储5对坐标值,i、j分别是横坐标和纵坐标。
‘伍’ c语言:平面直角坐标系,输入三点坐标(六个数不要用括号分队)。判断能否构成三
#include <stdio.h>
#include <math.h>//库函数头文件;
int main()
{
int x1,x2,x3,y1,y2,y3;
float a,b,c;
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
a=sqrt(pow(x1-x2,2)+pow(y1-y2,2));//通过两点之间的距离计算公式,得出任意两个点的距离;
b=sqrt(pow(x1-x3,2)+pow(y1-y3,2));
c=sqrt(pow(x2-x3,2)+pow(y2-y3,2));
if(a+b>c||a+c>b||c+b>a)//只要满足任意两边之和大于第三遍,就能构成一个三角形;
printf("三点连线可以构成三角形");
else
printf("三点连线不可以构成三角形");
}
//调用的库函数有:pow()指数函数,sqrt()开平方函数
‘陆’ 用C语言计算坐标系中(0.0)到某点的所有路径数
设在OXY坐标系中,原点不动,坐标轴旋转而得到一新坐标系OX'Y'Z': OX'轴与OX,OY,OZ轴的正向夹角分别成:α1, β1, γ1角; OY'轴与OX,OY,OZ轴的正向夹角分别成:α2, β2, γ2角; OZ'轴与OX,OY,OZ轴的正向夹角分别成:α3, β3, γ3角; 若M点在坐标系OXYZ和OX'Y'Z'下的坐标分别为:(X,Y,Z)和(X',Y',Z') 则相应的旋转变换为: X=X'cos α1+Y'cos α2+Z'cos α3 Y=X'cos β1+Y'cos β2+Z'cos β3 Z=X'cos γ1+Y'cos γ2 +Z'cos γ3 或者 X'=Xcos α1+Ycos β1+Zcos γ1 Y'=Xcos α2+Ycos β2+Zcos γ2 Z'=Xcos α3+Ycos β3 +Zcos γ3
‘柒’ c语言的平面坐标系由向 的x轴和向 的y轴组成的坐标系
向右的x轴
和向下的y轴组成。
a[行数][列数]
a[0][0]
a[0][1]
a[0][2]
...
a[0][n-1]
a[1][0]
a[1][1]
a[1][2]
...
a[1][n-1]
a[2][0]
a[2][1]
a[2][2]
...
a[2][n-1]
......
a[m-1][0]
a[m-1][1]
a[m-1][2]
...
a[m-1][n-1]
MFC
默认
屏幕
坐标
也是
左上角
为
0,x向右,y向下。
‘捌’ 用C语言或者C++实现大地坐标系与大地空间直角坐标系的转换
#include<stdio.h>
#include<math.h>
#definedeg2rad0.01745329251994433
structData
{
doubleX,Y,Z;
doubleB,L,H;
doublea;
doubleb;
};
voidBLH2XYZ(Data*dsrc)
{
doublee=sqrt(1-(dsrc->b/dsrc->a)*(dsrc->b/dsrc->a));
doublesinB=sin(dsrc->B);
doublecosB=cos(dsrc->B);
doublesinL=sin(dsrc->L);
doublecosL=cos(dsrc->L);
doubletanB_2=tan(dsrc->B)*tan(dsrc->B);
doublef=1-e*e;
doublefd=sqrt(1+f*tanB_2);
dsrc->X=(dsrc->a*cosL)/fd+dsrc->H*cosB*cosL;
dsrc->Y=(dsrc->a*sinL)/fd+dsrc->H*cosB*sinL;
doublefd2=sqrt(1-e*e*sinB*sinB);
dsrc->Z=(dsrc->a*f*sinB)/fd2+dsrc->H*sinB;
}
intmain()
{
Datadsrc;
dsrc.a=6378137.0000;dsrc.b=6356752.3142;
dsrc.B=30*deg2rad;dsrc.L=114*deg2rad;dsrc.H=20;
BLH2XYZ(&dsrc);
printf("%.4lf%.4lf%.4lf ",dsrc.B,dsrc.L,dsrc.H);
printf("%.4lf%.4lf%.4lf ",dsrc.X,dsrc.Y,dsrc.Z);
}
结果
上面的结果是我拿别人工具源码算的 下面是程序运行结果 精度只打印了4位有效数字
‘玖’ 请教:用c语言怎么建立坐标系
怎么在C语言的图形模式下实现匀速圆周运动?为什么我用圆的对称性的方程做出来的是变速的(就是建立一个直角坐标系,X由从小到大递增,然后画出点)?
#include "stdio.h"
#include "math.h"
#include "graphics.h"
#include "conio.h"
#define R 50 /*半径*/
#define V 100000 /*延迟时间*/
main()
{
int x,y,ta,tb,a=1;
ta=DETECT;
initgraph(&ta,&tb,"c:\\tc");/*初始化图形驱动*/
x=-R;
while(1)
{
x+=a;/*X的递增或递减(由a而定)*/
y=sqrt(R*R-x*x)*a; /*方程*/
putpixel(x+240,y+250,7);/*画点*/
delay(V);/*延时*/
putpixel(x+240,y+250,0);/*擦除点*/
if(x==R||x==-R)/*换方向*/
a=-a;
if(bioskey(1)!=0)/*控制退出的(按下任意键结束)*/
break;
}
closegraph();
}
‘拾’ 在c语言中实现输入直角坐标系中任意一个点的坐标,实现输出该点到原点坐标的
摘要 亲,您好,为您查询到:#include