當前位置:編程學習大全網 - 源碼下載 - 利用turbo c 語言編出曲線程序:r=aθ(a>0)(阿基米德曲線)

利用turbo c 語言編出曲線程序:r=aθ(a>0)(阿基米德曲線)

/*本程序已經在Turboc2.0下編譯並運行成功,運行時,需要用到turboc 2.0目錄下文件叫EGAVGA.BGI的文件*/

#include<math.h>

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<graphics.h>

/*坐標軸原點坐標*/

#define INT_CENTER_X 320

#define INT_CENTER_Y 240

/*θ角度的最大值和最小值(可根據具體情況進行修改)*/

#define INT_MAX_O 60

#define INT_MIN_O 0

/*圖形驅動函數,使程序運行在圖形模式下*/

void Initialize_VGA(void);

/*畫坐標軸*/

void DrawZuoBiaoYanDian(void);

/*畫阿基米德線*/

void DrawAJiMiDe(double dA);

void main()

{

double dA;

/*公式r=aθ,由於a是常量,在此由用戶自己輸入a*/

printf("Please in put a\r");

scanf("%lf",&dA);

Initialize_VGA();/*驅動圖形*/

DrawZuoBiaoYanDian();

DrawAJiMiDe(dA);

getch();

}

void Initialize_VGA(void)

{

int driver,mode;

driver=VGA;/*使用VGA驅動程序(turboc 2.0目錄下有個文件叫EGAVGA.BGI,程序運行時要用到這個文件)*/

mode=VGAHI;/*運行在VGAHI模式下*/

initgraph(&driver,&mode,"");/*初始化圖形模式*/

}

void DrawZuoBiaoYanDian(void)

{

line(50,INT_CENTER_Y,590,INT_CENTER_Y);/*畫橫坐標(這裏為簡便,就不畫箭頭了,妳可自己加上去)*/

line(INT_CENTER_X,20,INT_CENTER_X,460);/*畫縱坐標*/

}

void DrawAJiMiDe(double dA)

{

double dO;

double dR;

int x,y;

for(dO=INT_MIN_O;dO<INT_MAX_O;dO+=0.005)/*這個循環用來畫阿基米德線*/

{

dR=dA*dO;/*根據阿基米德公式,計算r*/

x=(int)(dR*cos(dO));/*計算r在X軸和Y軸上的投影*/

y=(int)(dR*sin(dO));

x=x+INT_CENTER_X;/*將坐標轉化到以(INT_CENTER_X,INT_CENTER_Y)為坐標軸原點的坐標*/

y=y+INT_CENTER_Y;

putpixel(x,y,WHITE);/*用白色畫點*/

}

}

  • 上一篇:php如何計算兩個時間戳之間相差的日時分秒
  • 下一篇:Memtest源代碼編譯
  • copyright 2024編程學習大全網