當前位置:首頁 » 編程語言 » c語言坐標系

c語言坐標系

發布時間: 2022-05-10 16:27:57

『壹』 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

熱點內容
鬥地主源碼開發 發布:2025-05-11 02:24:07 瀏覽:364
雲伺服器怎麼設置攻擊 發布:2025-05-11 02:22:09 瀏覽:824
python嵌套for循環 發布:2025-05-11 01:51:44 瀏覽:227
安卓怎麼取消後台限制 發布:2025-05-11 01:45:45 瀏覽:257
一鍵搭建sk5伺服器 發布:2025-05-11 01:40:09 瀏覽:513
鴻業acs加密鎖模擬器 發布:2025-05-11 01:38:49 瀏覽:937
神廟逃亡2安卓版怎麼玩 發布:2025-05-11 01:38:05 瀏覽:161
凱傑都什麼配置 發布:2025-05-11 01:38:04 瀏覽:471
php微信開源系統源碼 發布:2025-05-11 01:37:54 瀏覽:813
pythonfor多個參數 發布:2025-05-11 01:12:32 瀏覽:74