c語言坐標函數
① c語言設計函數頂點坐標
參考代碼如下:
函數頭文件CalC.h
doublearround(doublex[],doubley[],intp);
函數定義文件CalC.c
#include<math.h>
doublearround(doublex[],doubley[],intp)
{
inti;
doubleC=0;//周長
doublel_p_i;//第i條邊長度
for(i=0;i<p;i++)
{
l_p_i=sqrt((y[i+1]-y[i])*(y[i+1]-y[i])+(x[i+1]-x[i])*(x[i+1]-x[i]));
printf("第%d條邊長=%f ",i+1,l_p_i);
C+=l_p_i;
}
returnC;
}
主文件main.c
#include<stdio.h>
#include"CalC.h"
intmain(void)
{
doublex[3]={0.0,4.0,4.0};
doubley[3]={0.0,0.0,3.0};
intp=3;
doubleC=0.0;//周長
C=arround(x,y,p);
printf("C=%f ",C);
return0;
}
效果圖
② c語言中若要輸入坐標應該怎麼辦
先算出縱坐標的值,然後
用二維數組來存儲坐標,如:int a[5][5]; 可以用a[0][0] a[0][1]....
a[i][j]....a[4][3] a[4][4],來存儲5對坐標值,i、j分別是橫坐標和縱坐標。
③ c語言。 已經知道兩個點的坐標,想要計算過這兩點的直線的傾斜角,有沒有什麼函數能用呢 我的想法是
angle = atan2(y2-y1,x2-x1);
C有個函數叫atan2(double y, double x),返回的是double類型的弧度值,范圍在-pi到+pi之間。
詳情參閱http://www.cplusplus.com/reference/cmath/atan2/
④ C語言如何將坐標中的(x,y)提取出來
用ReadConsoleOutputCharacterA函數,在windows.h中。
給你一個封好的函數吧,其作用是提取出窗口中第x行y列的位置的字元是什麼。(如果沒有東西會返回空格符號)。
#include<windows.h>
//下標從1開始,x行y列。
charGetStr(intx,inty)
{
COORDpos;
//ReadConsoleOutputCharacterA里的x和y指的是x列y行,且從0開始標號
pos.X=y-1;pos.Y=x-1;
LPSTRstr;
DWORDread;
ReadConsoleOutputCharacterA(GetStdHandle(STD_OUTPUT_HANDLE),str,1,pos,&read);
returnstr[0];
}
使用舉例:
intmain()
{
printf("kjndfgdfg khgfhfhfgd jifdgdfgg ");
printf("1,2:%c ",GetStr(1,2));
return0;
}
輸出為
kjndfgdfg
khgfhfhfgd
jifdgdfgg
1,2:j
⑤ C語言中比如我要實現一個移動到固定坐標,列印字元的函數。能否用這個函數既實現移動坐標列印字元和不列印
加一個參數並且判斷一下就可以了
int moveyx(int y,int x,char str[],int NeedPrint)
{
if(NeedPrintt)
{
//列印
}
}
當NeedPrint參數不為0的時候才列印。c語言不支持參數的默認值,不過可以在調用的時候用宏來實現你要的效果
#define MoveyxPrint(y,x,str) moveyx((y),(x),(str),1)
#define MoveyxNoPrint(y,x,str) moveyx((y),(x),(str),0)
調用函數的時候使用MoveyxPrint和MoveyxNoPrint
⑥ 菜鳥求教C語言acos函數和坐標
acos(
)
的形參當然有范圍,-1,至1,閉區間,基本的數學知識,如果朝界控制台會顯示-1.#IND,表示數據超界;關於坐標的函數當然有,需要用到結構體COORD,以及頭文件windows.h
具體代碼如下:
#include
<windows.h>
#include
<stdio.h>
void
gotoxy(int
x,int
y)
{
COORD
coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
void
main()
{
gotoxy(50,60);
printf("I
LOVE
YOU");
}
這個程序就實現了移動游標到指定位置,然後輸出指定的內容。
⑦ c語言 坐標
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
int xmax, ymax;
initgraph(&gdriver, &gmode, ""); \*初試化圖形*/
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n",
grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
setcolor(getmaxcolor()); \*可以選擇顏色比如color(2)是一種顏色*/
xmax = getmaxx();
ymax = getmaxy();
line(0, 0, xmax, ymax);
getch();
closegraph();
return 0;
}
自己遠行一下看看就明白了
⑧ 求高手們用C語言編寫一個函數,根據兩個變數自動顯示點的坐標(X,Y,Z)
//class是寫成類嗎,這個寫成類有點多此一舉,下面用最簡單的函數寫的,變數自己改成英文命名
1.h
#include<stdio.h>
#include<math.h>
//宏定義值
#definehXX
#defineLXX
#defineαXX
doubleβ,θ;
doubleA[3],B[3],M[3];
voidmath(β,θ,A,B,M);
1.cpp
#include"1.h"
math(β,θ,A,B,M)
{
A[0]=L*sin(fabs(θ-α));
A[1]=L*cos(fabs(θ-α))*cosβ;
A[2]=L*cos(fabs(θ-α))*sinβ,
//公式太長自己寫
}
voidmain()
{
printf("請輸入β,θ的值: ");
scanf("%f,%f",&β,&θ);
math(β,θ,A,B,M);
printf("A的坐標為:(%f,%f,%f) ",A[0],A[1],A[2]);
//輸出自己寫
}
⑨ 求用c語言實現直角坐標(x,y,z)轉換為球坐標(r,angle_a,angle_b),非常感謝
首先,matlab 本身提供了把直角坐標轉化為極坐標的函數cart2pol。調用方法為:
[TH,R] = cart2pol(X,Y) TH 是極坐標的角度坐標,R 是距離坐標。
[TH,R,Z] = cart2pol(X,Y,Z) 這個函數同時支持3維直角坐標到柱坐標的轉換。
如果因為是作業或者練習,一定要自己寫一個的話,請繼續往下看。
考慮到這個程序的性質,編成一個函數比較適合。編寫這個函數需要用到直角坐標與極坐標的數學關系。考慮到輸入參數可能是一個向量或矩陣,關系式裡面的運算符應該用加點運算符。
函數代碼如下:
function [ TH,R ] = mycart2pol(X,Y)
%this function transforms corresponding elements of data
%stored in Cartesian coordinates X,Y to polar coordinates
%angle TH and radius R.
R=(X.^2+Y.^2).^0.5;
TH=atan(Y./X);
end
測試結果如下: