c語言計算機圖形學
❶ 用於計算機圖形學的語言是什麼語言
我們學校用的機械工業出版社的教材,整個學期是以c語言來進行的,所用軟體是v c++ 6.0.計算機圖形學用很多語言都可以實現,一般用作教學的,教材上大都是C語言或c++,不同學校不同教材可能安排不同。
❷ 懂C語言的高手進來幫幫忙! 有關計算機圖形學,畫一輛會動的自行車程序。我的編譯沒錯,可是不能運行。
#include<graphics.h>
#include<stdlib.h>
#define PI 3.14159
void WhirlCircle(int x,int y,int r)
{
int i;
clearviewport();
while(!kbhit())
{
for(i=1;i<=21600;i++)
{
if(i%5400==0) setcolor(random(14)+1);
line(x,y,x+r*cos(i*PI/10800),y-r*sin(i*PI/10800));
}
}
getch();
}
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"");
WhirlCircle(320,240,100);
closegraph();
}
❸ 用C語言編寫的計算機圖形學程序為何在TurboC里運行不了 ..
里的頭文件和VC里的頭文件有好幾個不同啊~~ 你在VC++運行的時候,要不了解 不同的執行軟體其規則不同,就像UNIX和turbo,程序相同結果卻,
❹ 計算機圖形學作業;求大神解救啊!!!調用C語言的圖形函數,完成: 1)編寫函數MyDraw,實現下面圖形的繪制.
我不知道你要求的圖形庫是哪個圖形庫 我用的是 EasyX,和TurBo C差不多吧!代碼如下,已注釋
#include<graphics.h>
#include<stdio.h>
#defineA200//起始邊長
#defineW800//窗口長度
#defineH600//窗口高
voidMyDraw(inta);
intmain()
{
MyDraw(A);
return0;
}
voidMyDraw(inta)
{
intx0,y0;
inti=0;
x0=(W-A)/2;//計算起點坐標X,Y
y0=(H-A)/2;
initgraph(W,H);//初始化
setlinecolor(RGB(255,0,0));//設置線條顏色
setlinestyle(0,3);//改變線條樣式第二個參數改變線條粗細
for(i=0;i<5;i++)//重復畫五次正方形
{
rectangle(x0,y0,x0+a,y0+a);//畫正方形
if(i<4)//如果已畫完五個正方形則不改變邊長和起點
{
x0+=(int)(a*0.1);
y0+=(int)(a*0.1);
a=(int)(a*0.8);
}
}
circle(x0+a/2,y0+a/2,a/2);//畫圓
getchar();
closegraph();
}
截圖:
❺ 計算機圖形學C語言畫圖問題
gluOrtho2D參數不對,參數分別代表(左下角x坐標,右上角x坐標,左下角y坐標,右上角y坐標),相對於窗口左下角。注釋掉它看看就知道了
❻ 學好計算機圖形學需要學習那些相關的知識
學好計算機圖形學主要學好線形代數和高等數學這二門課。
主要的還是一些圖形學的演算法研究,當然c語言也是必不可少的。
計算機圖形學介紹了很多基礎演算法,這些演算法雖然很基礎,但是很經典,關鍵是學到一種思考問題的方式。
❼ c語言計算機圖形編程的程序求各種實例(並說明一下啊)謝謝謝!!
1》DDA法畫直線的例子:void CMyView::OnDdaline()
{
CDC* pDC=GetDC();//獲得設備指針
int xa=100, ya=300, xb=300, yb=200,c=RGB(0,255,0);//定義直線的兩端點,直線顏色
int x,y;
float dx, dy, k;
dx=(float)(xb-xa), dy=(float)(yb-ya);
k=dy/dx, y=ya;
if(abs(k)<1)
{
for (x=xa;x<=xb;x++)
{pDC->SetPixel (x,int(y+0.5),c); <br> y=y+k;}
}
if(abs(k)>=1)
{
for (y=ya;y<=yb;y++)
{pDC->SetPixel (int(x+0.5),y,c); <br> x=x+1/k;}
}
ReleaseDC(pDC);
}
void CMyView::OnBresenhamline()
{
CDC* pDC=GetDC();
int x,y,i,e,dx,dy,t;
int x1=100,y1=200,x2=350,y2=100,c=RGB(0,0,255);
dx=abs(x2-x1),dy=abs(y2-y1),e=2*dy-dx;
x=x1,y=y2;
if(dx>dy)
{
for(i=0;i<=dx;i++)
{
pDC->SetPixel(x,y,c);
x++;
if(e>=0)
{y++;<br> e=e+2*dy-2*dx;}else e=e+dy;
}
}
else
{
t=dx;
dx=dy;
dy=t;
for(i=0;i<=dx;i++)
{
pDC->SetPixel(x,y,c);
x++;
if(e>=0)
{y++;<br> e=e+2*dy-2*dx;}else e=e+dy;
}
}
}2》中心畫圓法 做園 void CMyView::OnMidpointcircle()
{ CDC* pDC=GetDC();
int xc=100,int yc=200,float R=50,float alpha=1;
int i;
float sinalpha,cosalpha,xi,yi,xii,yii,steps;
sinalpha=sin(pi*alpha);
cosalpha=cos(pi*alpha);
xi=xc+R;
yi=yc;
steps=360;
for(i=0;i<steps;i++)//每隔45°確定一個園上的點。
{
xii=xc+(xi-xc)*cosalpha-(yi-yc)*sinalpha;//確定第一點xii,yii.其與圓心的連線和 xi,yi與圓心的連線夾角45°
yii=yc+(xi-xc)*sinalpha+(yi-yc)*cosalpha;
pDC->MoveTo(xi,yi);
pDC->LineTo(xii,yii);
xi=xii;
yi=yii;
}
}3》 bresenham法畫圓void CMyView::OnBresenhamcircle()
{
// TODO: Add your command handler code here
CDC* pDC=GetDC();
int xc=300, yc=300, r=40, c=RGB(0,0,255);
int x,y,p; x=0,y=r,p=3-2*r;
while(x<y)
{
pDC->SetPixel(xc+x, yc+y, c);
pDC->SetPixel(xc-x, yc+y, c);
pDC->SetPixel(xc+x, yc-y, c);
pDC->SetPixel(xc-x, yc-y, c);
pDC->SetPixel(xc+y, yc+x, c);
pDC->SetPixel(xc-y, yc+x, c);
pDC->SetPixel(xc+y, yc-x, c);
pDC->SetPixel(xc-y, yc-x, c);
if (p<0)
p=p+4*x+6;
else
{
p=p+4*(x-y)+10;
y-=1;
}
x+=1;
}
if(x==y)
pDC->SetPixel(xc+x, yc+y, c);
pDC->SetPixel(xc-x, yc+y, c);
pDC->SetPixel(xc+x, yc-y, c);
pDC->SetPixel(xc-x, yc-y, c);
pDC->SetPixel(xc+y, yc+x, c);
pDC->SetPixel(xc-y, yc+x, c);
pDC->SetPixel(xc+y, yc-x, c);
pDC->SetPixel(xc-y, yc-x, c);
ReleaseDC(pDC);
}與圖形相關的還有很多很多,掃描線填充法,種子填充法 等等想要真正了解的話 推薦一本書!《計算機圖形學》以上程序只能說明引用方法,畢竟很對關於以上程序的東西 都在自己做的頭文件里。
❽ 計算機圖形學原理及實踐―C語言描述怎麼樣
本書是計算機圖形學領域的經典著作。本書由基礎知識、用戶界面、模型定義和圖像合成四個部分組成,包括SRGP的編程、畫二維圖元的基本光柵圖形學演算法、圖形硬體、幾何變換、三維空間的觀察、對象的層次結構和SPHIGS系統、輸入設備、交互技術與交互任務、對話設計、用戶界面軟體、實體造型、消色光與彩色光、可視圖像的真實性、可見面判定、光照模型與光照計算、圖像處理與存儲、高級光柵圖形體系結構、高級幾何與光柵演算法、高級建模技術和動畫等內容。 本書內容全面,涉及圖形學的各個領域,可以作為計算機專業本科生和研究生的教材,同時也可供相關技術人員閱讀。 這是計算機圖形學領域的一部經典之作,作者Foley、van Dam等是國際圖形學界的著名學者、學術帶頭人,而且本書英文版自出版以來,一直是各國大學計算機圖形學課程的主要教科書。來自清華大學、北京大學、中國科學院計算技術研究所、中國科學院軟體研究所的多點陣圖形學領域的專家和精英花費了大量的時間和精力進行翻譯,最終完成了這本中文版。 本書由基礎知識、用戶界面、模型定義和圖像合成四個部分組成,內容覆蓋了日趨成熟的計算機圖形學領域各個方面,包括二維、三維圖形學的數學基礎,重要演算法,光柵圖形硬體和軟體,交互技術及用戶界面軟體,真實感圖形學,高級建模技術 (分形、體繪制等),圖像處理和存儲,以及動畫等。此外,書中包括了大量習題和參考文獻,提供了大量的用C語言編寫的實現演算法的程序。 本書是高等院校計算機專業本科生、研究生計算機圖形學課程的理想教材,是相關領域專業人員開展研究工作的優秀參考書。
❾ 計算機圖形學 用C語言生成動畫 原代碼
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,k;
for(i=1;i<=40;i++)
for(j=1;j<=5;j++)
{
system("cls");
printf("\n");
for(k=1;k<=i;k++)
printf(" ");
printf("8888");
}
}
將printf("8888");換為畫圖函數就可以了!
❿ C語言與計算機圖形學有什麼關系
.. .. 沒什麼特別關系,計算機圖形學,是一門比較深的學科了.裡面涉及到很多演算法, 比如畫線,畫圓什麼的這兩個是很簡單的, 還很多很難得演算法... 這些演算法,就需要編程語言來實現, .所以可以用c實現,其他語言也可以..