當前位置:首頁 » 編程語言 » c語言繪制函數曲線
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言繪制函數曲線

發布時間: 2022-07-14 14:15:19

A. 用c語言繪制擺動函數的動態曲線

#include "stdio.h"
#include "conio.h"
#include "graphics.h"
#include "math.h"
#define closegr closegraph

void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0; /* 和gd=VGA,gm=VGAHI是同樣效果 */
registerbgidriver(EGAVGA_driver);/* 注冊BGI驅動後可以不需要.BGI文件的支持運行 */
initgraph(&gd, &gm, "");
}

main()
{
int i, j;
double a=5;
double t;
initgr(); /* BGI初始化 */
/*y=x; */
moveto(0,getmaxy()/2);

for (i=0;i<4*314;i++) {
t=(double)i/10;
j=(int)(a*(1-cos(t/10))*10);
lineto(a*(t-sin(t/10)*10),getmaxy()/2-j);
}

getch(); /* 暫停一下,看看前面繪圖代碼的運行結果 */
closegr(); /* 恢復TEXT屏幕模式 */
}

B. 怎麼用C語言把一個函數的曲線畫出來

c語言中表達n次方可以用pow函數。
函數原型:double
pow(double
x,
double
y)

能:計算x^y的值


值:計算結果
舉例:
double
a;a
=
pow(3.14,
2);
//
計算3.14的平方,並將結果保存在變數a中
註:使用pow函數必須將頭文件#include包含進源文件中

C. C語言程序設計問題,大神進,高分懸賞。。。。初等函數曲線圖形的簡易繪制

可以做一個二維[整形或char類型]數組,行列分別是屏幕的行列數,然後,通過計算在修改對應位置元素的值就可以,然後將數組元素列印出來(這里以char類型為例):

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

#define ROW 25
#define COL 84
char table[ROW][COL];

void initTable()
{
for(int i = 0; i < ROW; i++)
{
for(int j = 0; j < COL; j++)
{
table[i][j] = ' ';
}
}
}

int main(int argc, char*argv[])
{
// 這里以求cos(x) 為例

// 因為行列數為整形,所以這里對所求結果向下取整
// 這里以第20行為橫坐標位置

// 先繪制x,y坐標
for(int row = 0; row < ROW; row++)
{
table[row][0] = '|';
}
table[20][0] = '+';
for(int col = 1; col < COL; col++)
{
table[20][col] = '-';
}
table[0][0] = '^';
table[20][COL - 1] = '>';

// 這里隨x計算cos的值,並將對應的坐標處的字元替換為'*';

for(int x = 0; x < COL - 1; x++)
{
table[5 * ((int)(cos(x)))][x] = '*';
}

// 接下來就是逐行輸出了
for(int i = 0; i < ROW; i++)
{
for(int j = 0; j < COL; j++)
{
printf("%c", table[i][j]);

}
}
system("pause");
}

D. 用C語言繪制曲線

樓上的觀珠仔很久不見啦(挺掛念那段時光的)!想不到路過此地看到你,這是高科技呀?你還這么老班牙啊,大考小考把你弄糊塗了,高考順利呀!別忘了我這位老兄了,C語言略懂 ~~~~~~傑
1.繪制餘弦曲線
*程序說明與注釋
#include<stdio.h>
#include<math.h>
void main()
{
double y;
int x,m;
for(y=1;y>=-1;y-=0.1) /*y為列方向,值從1到-1,步長為0.1*/
{
m=acos(y)*10; /*計算出y對應的弧度m,乘以10為圖形放大倍數*/
for(x=1;x<m;x++) printf(" ");
printf("*"); /*控制列印左側的 * 號*/
for(;x<62-m;x++)printf(" ");
printf("*\n"); /*控制列印同一行中對稱的右側*號*/
}
}
*運行結果

2.繪制正弦曲線

在屏幕上用「*」顯示0-360度的餘弦函數sin(x)曲線。
1.

/**//*
sin() line.
62 of line width
*/

#include <stdio.h>
#include <math.h>

int main(void)
...{
int j ,k,d,h;
double i ;

for(i=1.0 ; i> 0.0; i-=0.1)
...{
k = (int)(asin(i)*10) ;

for(j=0; j< k ; j++) /**//*print the left */
printf(\" \");
printf(\"*\");
for( ; j< 31-k ; j++)
printf(\" \");

E. 採用c語言繪制任意函數曲線(雙曲線,二次函數,一次函數)怎麼做

在c的標准庫中有graphic.h頭文件,實現了很多畫圖函數 比如 lineto, moveto, arc,(函數名可能記錯,好久沒用了-.-!)
直線:起點加終點就行。
二次曲線,比如拋物線,那就以定長拆分成小直線。雙曲線同理。
拋物線,和雙曲線用定長拆分,估計很難計算。要是精度要求不高就根據情況改成定x,或者定y偏移的拆分,要是精度要求高那就去找直線擬合曲線的演算法或者雙圓弧擬合曲線的演算法。

F. 用c語言寫程序,此程序能畫出來函數y=2x+5的曲線圖形。

此題把數學問題轉化為用C語言描述即可,很多畫圖問題可以使用這種方法。

  1. 假設屏幕左上角為坐標軸原點



#include<stdio.h>
#defineMAX30//選定曲線要顯示的范圍,因為一次函數是一條直線,所以它的顯示範圍無窮
intmain()
{
intx,y;
for(y=30;y>=0;y--)
{
for(x=0;x<MAX;x++)
{
if(y==2*x+5)
{
printf("*");
}
else
{
printf("");//空格,不滿足y=2x+5的點
}
}
printf(" ");//x軸已經到顯示範圍,所以需要換行。
}
return0;
}

G. 怎麼用c語言畫函數圖像

我畫了半個正弦函數,其餘的你可以照著畫,歡迎討論,
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "graphics.h"

void main()
{
int driver,mode,i;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,"");
setcolor(15);
for(i=0;i<360;i++)

line(i,200*sin(i*3.14/360),i+1,200*sin((i+1)*3.14/360));

getch();
restorecrtmode();
}

H. 怎樣用c語言畫函數曲線圖

DOS裡面可以直接操作顯存,windows里就不行了,尤其是NT系統。建議用GDI獲DX吧