當前位置:首頁 » 編程語言 » 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語言的科學和藝術》,不妨去看看!