当前位置:首页 » 编程语言 » c语言圆弧快速
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言圆弧快速

发布时间: 2022-08-26 13:18:39

㈠ 谁有用c语言编写的直线,圆弧插补程序

/*************************************************************************
Function:intArcXY(doubledfx0,doubledfy0,doubledfrx,
doubledfry,intangle);
Description:在X-Y轴所构成的平面上,以圆弧运动的方式从目前位置经过指
定的参考点到目的点。调用此函数成功将增加运动命令的库存数目。
Parameters:dfx0,dfy0参考点的X-Y轴座标值
dfrx,dfry圆心的X-Y轴座标值
angle插补角度
Calls:无
ReturnValue:大于或等于0给予此运动命令的编码
小于0失败,传回值的意义可参考错误信息代码
**************************************************************************/

#include<stdio.h>
#include<math.h>
intArcXY(doubledfx0,doubledfy0,doubledfrx,doubledfry,intangle);
intsymbol(doublenumber);

main()
{

ArcXY(0,0,-3,5,360);
getch();

}
intArcXY(doubledfx0,doubledfy0,doubledfrx,doubledfry,intangle)
{
FILE*f1;

doublei,j,dx,dy,dfr,x,y,ang,step,f=0.01;

intflag,tempx,tempy,statex,statey,direction=1;

dfr=sqrt((dfrx-dfx0)*(dfrx-dfx0)+(dfry-dfy0)*(dfry-dfy0));

if(dfx0==0)
{
dfx0=1;
dfrx=dfrx+1;
statex=1;
}
if(dfy0==0)
{
dfy0=1;
dfry=dfry+1;
statey=1;
}

dfrx=2*dfx0-dfrx;

i=dfx0-dfrx;
j=dfy0-dfry;

x=dfx0;
y=dfy0;

step=ang=180*2*asin(f/(2*dfr))/3.1415926;

if(((dfx0>0)&&(dfy0>0))||((dfx0<0)&&(dfy0<0)))
{
flag=direction;
}

if(((dfx0<0)&&(dfy0>0))||((dfx0>0)&&(dfy0<0)))
{
flag=-direction;
}

f1=fopen("c:\c.txt","w+");

if(statex==1)
{
x=x-1;
}
if(statey==1)
{
y=y-1;
}

fprintf(f1,"%f,",x);
fprintf(f1,"%f ",y);

while(ang<angle)
{
dx=f*(j+flag*(f*i)/(2*dfr))/dfr;
dy=f*(i-flag*(f*j)/(2*dfr))/dfr;
tempx=symbol(x);
tempy=symbol(y);

x=x+dx;
y=y+dy;

fprintf(f1,"%f,",x);
fprintf(f1,"%f ",y);

if((tempx!=symbol(x))||(tempy!=symbol(y)))
{
flag=-flag;
}

i=i-dx;
j=j+dy;
ang=ang+step;

}

return0;

}

intsymbol(doublenumber)
{
if(number>0)
{
return1;
}
else
{
return-1;
}
}

㈡ 怎么用C语言画圆弧,还有就是怎么让一个圆做曲线运动

用C语言画圆弧将系统初
始化成画图状态(默认的是文字状态).然后库函数个画圆的函数,该函数有4个参数:圆心的位置,半径的长度,圆弧的起始角的大小(以水平面为0度,下同)以及圆弧的终止角的大小.根据需要就可以画出各种圆弧了
!

㈢ CAD中的圆弧的快捷键是什么啊

快捷键是:arc,以下是CAD中画圆弧的具体操作方法:

1、首先我们打开CAD软件画出一个参考的图形。

㈣ C语言画圆的格式是DrawFillCircle(x,y,1,color),问画圆弧的格式是什么

用arc() 可画圆弧
功能: 函数arc()使用当前绘图色并以实线画一圆弧。
用法: 函数调用方式为void arc(int x,int y,int startangle,int endangle,int radius);
说明: 参数x,y为圆心坐标,startangle与endangle分别为起始角与终止角,radius为半径。圆心坐标和半径以像素个数给出,起始角和终止角以度为单位,0度位于右边,90度位于顶部,180度位于左边,底部是270度。同往常一样,360度与0度重合。角度按逆时针方向增加,但并不要求终止角一定比起始角大。例如指定300度和90度分别为起始角和终止角,与指定300度和450度分别为起始角和终止角可画出相同的弧。大于360度可作为参数,它将被化到0度 ̄360度范围里。函数arc()能画封闭圆,只要取起始角为0度,终止角为360度即可。此函数中,屏显纵横比可自动调节。

㈤ C++/C语言 画一个圆(带宽度的圆弧)

MFC里面画点是dc.pixel(point)
//这里的point是你设置ClickButtonDown或者ClickButtonUp里面返回的CPoint类型的值,如果是画线的话,调用moveto()函数到直线的起点,然后lineto函数到终点
;如果你要画圆的话用Ellipse()函数,ellipse(CRect());
CRect是一个类型的变量,你需要用两个点来构造一个CRect

㈥ c语言画弧线

PolyBezier
● 说明
此函数用于画贝赛尔样条曲线。贝赛尔样条是一种非常优美的曲线,广泛应用于计算机图形学中。函数PolyBezier和PolyBezierTo用于绘制这种样条曲线。一条贝赛尔样条由4个定义点定义:两个端点和两个控制点。
● 原型
BOOL PolyBezier(HDC hdc, CONST POINT *lppt, DWORD cPoints);
● 参数
hdc:指定的设备环境句柄。
lppt:POINT结构数组的指针,包括了样条端点和控制点的坐标,其顺序是起点的坐标、起点的控制点的坐标、终点的控制点的坐标和终点的坐标。
cPoints:指明数组中的点的个数。
● 返回值
若函数调用成功,则返回非零,否则返回零。

㈦ 能给个画圆或者画圆弧的C程序吗讲一下思路原理也可以,谢谢啦

这是我做过的,你试试

#include<stdio.h>
#include<graphics.h>
#define PATH "c:\\TC30\\BGI"
int x0,y0;

void Bresenham_Circle(int r,int color)
{
int x,y,delta,delta1,delta2,direction;
x=0;
y=r;
delta=2*(1-r);
while(y>=0)
{
putpixel(x+x0,y+y0,color);
putpixel(x0-x,y0-y,color);
putpixel(x0-x,y+y0,color);
putpixel(x+x0,y0-y,color);
if(delta<0)
{
delta1=2*(delta+y)-1;
if(delta1<=0)
direction=1;
else
direction=2;
}
else
{
if(delta>0)
{
delta2=2*(delta-x)-1;
if(delta2<=0)
direction=2;
else
direction=3;
}
else
direction=2;
}
switch(direction)
{
case 1:x++;
delta+=2*x+1;
break;
case 2:x++;
y--;
delta+=2*(x-y+1);
break;
case 3:y--;
delta+=(-2*y+1);
break;
}
}
}

int main()
{
int a,b;
int r,color;
// scanf("%d%d%d%d%d%d",&x0,&y0,&x1,&y1,&color);
a=VGA;
b=VGAHI;
initgraph(&a,&b,PATH);
setbkcolor(24);
setcolor(15);
x0=200;
y0=200;
r=180;
color=10;
Bresenham_Circle(r,color);
getch();
return 1;
}

㈧ c语言画曲线

#include <stdio.h>
#include "genlib.h"
#include "graphics.h"
main()
{
InitGraphics();
MovePen(1.5,1.0);
DrawArc(0.5,90.180);
}

这个是c语言的画圆弧的代码,不过我在vc ,tc上运行的话,它都是说没这个"genlib.h"头文件的,所以机子上到现在还是没运行成功,这个是有本书上的原代码,那个叫《c语言的科学和艺术》,不妨去看看!