你要什么圖像 sin 還cos 要不我都給你把!

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的惠州網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1、#includestdio.h
#includemath.h
void main()
{
double y;
int i,n;
for(y=1;y=0;y-=0.1)
{n=asin(y)*10;
for(i=1;i=n;i++)
printf(" ");
printf("*");
for(;i=31-n;i++)
printf(" ");
printf("*\n");}
for(y=0;y=1;y+=0.1)
{n=asin(y)*10;
for(i=-1;i=31+n;i++)
printf(" ");
printf("*");
for(;i=62-n;i++)
printf(" ");
printf("*\n");}
}
2、#includestdio.h
#includemath.h
void main()
{
double y;
int x,m;
for(y=1;y=-1;y-=0.1)
{m=acos(y)*10;
for(x=1;xm;x++)
printf(" ");
printf("*");
for(;x62-m;x++)
printf(" ");
printf("*\n");}
}
之后在給你個(gè)連個(gè)圖像相交的把
3、#includestdio.h
#includemath.h
void main()
{
double y;
int n,m,i,j,x,yy;
for(yy=0;yy=20;yy++)
{ y=0.1*yy;
m=acos(1-y)*10;
n=asin(1-y)*10;
i=32+asin(y-1)*10;
j=61-asin(y-1)*10;
for(x=0;x62;x++)
{if((x==n)(x==m)) printf("+");
else if((x==n)||(x==i)||(x==j)) printf("+");
else if((x==m)||(x==62-m)) printf("*");
else printf(" ");}
printf("\n");
}
}
framebuffer(幀緩沖)。
幀的最低數(shù)量為24(人肉眼可見(jiàn))(低于24則感覺(jué)到畫面不流暢)。
顯卡與幀的關(guān)系:由cpu調(diào)節(jié)其數(shù)據(jù)傳輸速率來(lái)輸出其三基色的配比。
三基色:RGB(紅綠藍(lán))。
在沒(méi)有桌面和圖形文件的系統(tǒng)界面,可以通過(guò)C語(yǔ)言的編程來(lái)實(shí)現(xiàn)在黑色背景上畫圖!
用下面的代碼,在需要的地方(有注釋)適當(dāng)修改,就能畫出自己喜歡的圖形!
PS:同樣要編譯運(yùn)行后才能出效果。
#include stdio.h
#include sys/mman.h
#include fcntl.h
#include linux/fb.h
#include stdlib.h
#define RGB888(r,g,b) ((r 0xff) 16 | (g 0xff) 8 | (b 0xff))
#define RGB565(r,g,b) ((r 0x1f) 11 | (g 0x3f) 5 | (b 0x1f))
int main()
{
int fd = open("/dev/fb0", O_RDWR);
if(fd 0){
perror("open err. \n");
exit(EXIT_FAILURE);
printf("xres: %d\n", info.xres);
printf("yres: %d\n", info.yres);
printf("bits_per_pixel: %d\n", info.bits_per_pixel);
size_t len = info.xres*info.yres*info.bits_per_pixel 3;
unsigned long* addr = NULL;
addr = mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);
if(addr == (void*)-1){
perror("mmap err. \n");
挺有意思的問(wèn)題,簡(jiǎn)單談一下看法
將你的需求分成兩部分,一是讓程序自行解析用戶輸入的函數(shù)解析式,二是繪制函數(shù)圖像。
首先,關(guān)于第一個(gè)功能,最直接的思路就是字符串解析,按照數(shù)學(xué)知識(shí)定義不同的運(yùn)算符號(hào),按照使用習(xí)慣定義常用的變量和常量的符號(hào)字母,然后據(jù)此規(guī)則解析輸入的字符串,再根據(jù)解析結(jié)果確定函數(shù)中基本運(yùn)算的次數(shù)及運(yùn)算順序,最后將整個(gè)操作流程以一定形式存儲(chǔ)起來(lái)即可。
例如,對(duì)于y=log(x^2+x),包含三次基本運(yùn)算,第一步是x^2,第二步是上一步的結(jié)果+x,第三步是上一步的結(jié)果求對(duì)數(shù)。注意到log有定義域的限制,這也是要在程序中實(shí)現(xiàn)的。
然后,對(duì)于第二個(gè)功能,根據(jù)給定函數(shù)繪制圖像并不難,對(duì)于一元和二元函數(shù)來(lái)說(shuō)很容易實(shí)現(xiàn),難點(diǎn)在于多元函數(shù)應(yīng)如何繪制直觀易懂的函數(shù)圖像?不過(guò)這一點(diǎn)超出編程語(yǔ)言的范疇了,而且二元函數(shù)可以滿足大部分應(yīng)用場(chǎng)景了。
繪制函數(shù)圖像的程序只需在定義域上按指定的步長(zhǎng)求出不同自變量對(duì)應(yīng)的函數(shù)值,然后將點(diǎn)連成線,即可繪制出函數(shù)圖像。例如對(duì)于logx,定義域?yàn)閤0。假設(shè)步長(zhǎng)為0.1,則可求出0.1,0.2,0.3,...,99.9,100.0的函數(shù)值,然后繪制出點(diǎn),再連點(diǎn)成線,即可得到函數(shù)圖像。
另外,這里還有很多細(xì)節(jié)沒(méi)有討論,例如輸入數(shù)據(jù)是字符串還是圖像;是否可以用其他方法解析輸入,例如神經(jīng)網(wǎng)絡(luò)。這些就很復(fù)雜了,不再深入。
回答中可能有考慮不周的地方,希望上述內(nèi)容對(duì)你有參考意義
用GDI繪圖吧,比較簡(jiǎn)單。繪圖的思想是讓x以固定的值在區(qū)間內(nèi)持續(xù)增長(zhǎng),比如x=0.1,0.2,0.3.....,以計(jì)算出的y值來(lái)確定y坐標(biāo)。用線連接所有的點(diǎn)就行了。MoveTo(),LineTo()函數(shù)你用得著,具體情況請(qǐng)自行查看MSDN。
點(diǎn)
a
(3,3,0)
點(diǎn)b(3,0,0)
c(3,0,3)
d(3,3,3)
e(3,3,0)
f(0,3,3)
g(0,0,3)
函數(shù)x+y+z=4
常用點(diǎn)
(1,0,3)
(2,0,2)等等
在圖像標(biāo)出即可。
平面ABC為
x+y+z=4
的方程圖像。過(guò)程略。
當(dāng)z=0時(shí),圖像為直線x+y=4
當(dāng)x=0時(shí),圖像為直線z+y=4
當(dāng)y=0時(shí),圖像為直線x+z=4
三條直線確立一個(gè)空間平面。
所有點(diǎn)也在這個(gè)平面上,通過(guò)全等,相似驗(yàn)證可得。
當(dāng)z=0時(shí)為圖像x+y=4
當(dāng)z=1時(shí)為圖像x+y=3
當(dāng)z=2時(shí)為圖像x+Y=2
隨著z的增加,x+y=n不斷向下移動(dòng),角度45度的平面
文章名稱:C語(yǔ)言怎么畫三元函數(shù)圖像 三元一次函數(shù)圖像怎么畫
鏈接地址:http://chinadenli.net/article22/hppecc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、服務(wù)器托管、網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)