C語(yǔ)言中旋轉(zhuǎn)圖像的函數(shù),c語(yǔ)言中旋轉(zhuǎn)圖像的函數(shù)是

用c語(yǔ)言編程三角形繞一點(diǎn)旋轉(zhuǎn)九十度怎么做

A(ax, ay) B(bx, by) C(cx, cy) 移動(dòng)后A(ax0, ay0)... 1)ax = r*cosα ay = r*sinα ax0 = r*cos(α+90) ay0=r*sin(α+90) 用三角函數(shù)展開就ok了 2)旋轉(zhuǎn)90度就是坐標(biāo)點(diǎn)從一個(gè)象限旋轉(zhuǎn)到另一個(gè)象限,先判斷正負(fù),再將橫縱坐標(biāo)交換并根據(jù)正負(fù)情況乘以-1或者1 這個(gè)問題就是高中解析幾何的旋轉(zhuǎn)問題。或者圖形學(xué)里的二維圖形旋轉(zhuǎn)問題

站在用戶的角度思考問題,與客戶深入溝通,找到高青網(wǎng)站設(shè)計(jì)與高青網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋高青地區(qū)。

利用C語(yǔ)言實(shí)現(xiàn)二維圖形的變換

你先看看吧,思路大概就是這樣,不懂的問我。

#includestdio.h

#includemath.h

#includeiostream

using namespace std;

struct point

{

float x;

float y;

};

void translation(point*pt, float xp,float yp,int num)//num代表點(diǎn)的個(gè)數(shù)

{

for(int i=0;inum;i++)

{

(pt+i)-x+=xp;

(pt+i)-y+=yp;

}

}

void scale(point *pt,float xs,float ys,int num)

{

for(int i=0;inum;i++)

{

(pt+i)-x*=xs;

(pt+i)-y*=ys;

}

}

void rotation(point *pt,float angle,int num)

{

int a[2][2];

angle=angle/180*3.141592657;

a[0][0]=cos(angle);

a[0][1]=-sin(angle);

a[1][0]=sin(angle);

a[1][1]=cos(angle);

point* temp;

for(int i=0;inum;i++)

{

temp-x=(pt+i)-x;

temp-y=(pt+i)-y;

(pt+i)-x=temp-x*a[0][0]+a[0][1]*temp-y;

(pt+i)-y*=temp-x*a[1][0]+a[1][1]*temp-y;

}

}

int main()

{

int i=0,N,mode,angle,xp,yp,xk,yk,num;

cout"please input the number of point "endl;

scanf("%d",N);

num=N;

point pt[10];

while(N--)

{

printf("please input points(x,y):\n");

scanf("%f%f",pt[i].x,pt[i].y);

i++;

}

printf("please input motions\n");

printf("0 stand for translation:\n");

printf("1 stand for scale:\n");

printf("2 stand for rotation:\n");

scanf("%d",mode);

switch(mode)

{

case 0:

printf("please input the translation in x and y direction respectivly:\n");

cinxpyp;

translation(pt, xp,yp,num);

break;

case 1:

printf("please input the scale in x and y direction respectivly:\n");

scanf("%f%f",xk,yk);

scale(pt, xk,yk,num);

break;

case 2:

printf("please input the angle:\n");

scanf("%f",angle);

rotation(pt, angle,num);

break;

}

printf("after translatiton or scale or rotation:\n");

for(int i=0;inum;i++)

printf("%f %f\n",pt[i].x,pt[i].y);

}

C語(yǔ)言中的圖形函數(shù)有哪些

一) 像素函數(shù)

putpiel() 畫像素點(diǎn)函數(shù)

getpixel()返回像素色函數(shù)

(二) 直線和線型函數(shù)

line() 畫線函數(shù)

lineto() 畫線函數(shù)

linerel() 相對(duì)畫線函數(shù)

setlinestyle() 設(shè)置線型函數(shù)

getlinesettings() 獲取線型設(shè)置函數(shù)

setwritemode() 設(shè)置畫線模式函數(shù)

(三)、多邊形函數(shù)

rectangle() 畫矩形函數(shù)

bar() 畫條函數(shù)

bar3d() 畫條塊函數(shù)

drawpoly() 畫多邊形函數(shù)

(四)、 圓、弧和曲線函數(shù)

getaspectratio()獲取縱橫比函數(shù)

circle()畫圓函數(shù)

arc() 畫圓弧函數(shù)

ellipse()畫橢圓弧函數(shù)

fillellipse() 畫橢圓區(qū)函數(shù)

pieslice() 畫扇區(qū)函數(shù)

sector() 畫橢圓扇區(qū)函數(shù)

getarccoords()獲取圓弧坐標(biāo)函數(shù)

(五)、 填充函數(shù)

setfillstyle() 設(shè)置填充圖樣和顏色函數(shù)

setfillpattern() 設(shè)置用戶圖樣函數(shù)

floodfill() 填充閉域函數(shù)

fillpoly() 填充多邊形函數(shù)

getfillsettings() 獲取填充設(shè)置函數(shù)

getfillpattern() 獲取用戶圖樣設(shè)置函數(shù)

(六)、圖像函數(shù)

imagesize() 圖像存儲(chǔ)大小函數(shù)

getimage() 保存圖像函數(shù)

putimage() 輸出圖像函數(shù)

CImage圖像旋轉(zhuǎn)問題

哪有那么復(fù)雜,只要用CImage的PlgBlt方法就可以解決90度,180度和反轉(zhuǎn)的問題。

例:

CImage* m_pCurrentFrame;

CPoint m_DisplayPoints[3]; // 放著旋轉(zhuǎn)后的四邊形的3個(gè)頂點(diǎn) 如果逆時(shí)針旋轉(zhuǎn)90度

// m_DisplayPoints[0] 右上角,m_DisplayPoints[1] 左上角

// m_DisplayPoints[3] 右下角

int width,height; // 源圖的寬和高

m_pCurrentFrame-PlgBlt(dc,m_DisplayPoints,0,0,width,height); // m_pCurrentFrame 轉(zhuǎn)90度

C語(yǔ)言 圖形翻轉(zhuǎn)``

#includestdio.h

main()

{

int a[100][100],i,j,n,m,t,s,k;

scanf("%d %d %d",m,n,t);//M為行 N為列 T為翻轉(zhuǎn)的方式

for(i=0;im;i++)

{ for(j=0;jn;j++)

scanf("%d",a[i][j]);

}

if(t==1)

{

for(s=0;si/2;s++)

for(j=0;jn;j++)

{

k=a[i-s-1][j];

a[i-s-1][j]=a[s][j];

a[s][j]=k;

}

}

if(t==-1)

{for(s=0;sj/2;s++)

for(i=0;im;i++)

{

k=a[i][j-s-1];

a[i][j-s-1]=a[i][s];

a[i][s]=k;

}

}

for(i=0;im;i++)

{ for(j=0;jn;j++)

printf(" %d",a[i][j]);

printf("\n");

}

}

c語(yǔ)言的圖形函數(shù)庫(kù)有哪些?

圖形和圖像函數(shù)包含在graphics.h里面

(一) 像素函數(shù)

56. putpiel() 畫像素點(diǎn)函數(shù)

57. getpixel()返回像素色函數(shù)

(二) 直線和線型函數(shù)

58. line() 畫線函數(shù)

59. lineto() 畫線函數(shù)

60. linerel() 相對(duì)畫線函數(shù)

61. setlinestyle() 設(shè)置線型函數(shù)

62. getlinesettings() 獲取線型設(shè)置函數(shù)

63. setwritemode() 設(shè)置畫線模式函數(shù)

(三)、多邊形函數(shù)

64. rectangle() 畫矩形函數(shù)

65. bar() 畫條函數(shù)

66. bar3d() 畫條塊函數(shù)

67. drawpoly() 畫多邊形函數(shù)

(四)、 圓、弧和曲線函數(shù)

68. getaspectratio()獲取縱橫比函數(shù)

69. circle()畫圓函數(shù)

70. arc() 畫圓弧函數(shù)

71. ellipse()畫橢圓弧函數(shù)

72. fillellipse() 畫橢圓區(qū)函數(shù)

73. pieslice() 畫扇區(qū)函數(shù)

74. sector() 畫橢圓扇區(qū)函數(shù)

75. getarccoords()獲取圓弧坐標(biāo)函數(shù)

(五)、 填充函數(shù)

76. setfillstyle() 設(shè)置填充圖樣和顏色函數(shù)

77. setfillpattern() 設(shè)置用戶圖樣函數(shù)

78. floodfill() 填充閉域函數(shù)

79. fillpoly() 填充多邊形函數(shù)

80. getfillsettings() 獲取填充設(shè)置函數(shù)

81. getfillpattern() 獲取用戶圖樣設(shè)置函數(shù)

(六)、圖像函數(shù)

82. imagesize() 圖像存儲(chǔ)大小函數(shù)

83. getimage() 保存圖像函數(shù)

84. putimage() 輸出圖像函數(shù)

四、圖形和圖像函數(shù)

對(duì)許多圖形應(yīng)用程序,直線和曲線是非常有用的。但對(duì)有些圖形只能靠操作單個(gè)像素才能畫出。當(dāng)然如果沒有畫像素的功能,就無(wú)法操作直線和曲線的函數(shù)。而且通過大規(guī)模使用像素功能,整個(gè)圖形就可以保存、寫、擦除和與屏幕上的原有圖形進(jìn)行疊加。

(一) 像素函數(shù)

56. putpixel() 畫像素點(diǎn)函數(shù)

功能: 函數(shù)putpixel() 在圖形模式下屏幕上畫一個(gè)像素點(diǎn)。

用法: 函數(shù)調(diào)用方式為void putpixel(int x,int y,int color);

說明: 參數(shù)x,y為像素點(diǎn)的坐標(biāo),color是該像素點(diǎn)的顏色,它可以是顏色符號(hào)名,也可以是整型色彩值。

此函數(shù)相應(yīng)的頭文件是graphics.h

返回值: 無(wú)

例: 在屏幕上(6,8)處畫一個(gè)紅色像素點(diǎn):

putpixel(6,8,RED);

57. getpixel()返回像素色函數(shù)

功能: 函數(shù)getpixel()返回像素點(diǎn)顏色值。

用法: 該函數(shù)調(diào)用方式為int getpixel(int x,int y);

說明: 參數(shù)x,y為像素點(diǎn)坐標(biāo)。

函數(shù)的返回值可以不反映實(shí)際彩色值,這取決于調(diào)色板的設(shè)置情況(參見setpalette()函數(shù))。

這個(gè)函數(shù)相應(yīng)的頭文件為graphics.h

返回值: 返回一個(gè)像素點(diǎn)色彩值。

例: 把屏幕上(8,6)點(diǎn)的像素顏色值賦給變量color。

color=getpixel(8,6);

分享題目:C語(yǔ)言中旋轉(zhuǎn)圖像的函數(shù),c語(yǔ)言中旋轉(zhuǎn)圖像的函數(shù)是
URL標(biāo)題:http://muchs.cn/article4/hschoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站收錄、Google

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)