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
测试结果如下: