健康教育評價復(fù)習(xí)課程_第1頁
健康教育評價復(fù)習(xí)課程_第2頁
健康教育評價復(fù)習(xí)課程_第3頁
健康教育評價復(fù)習(xí)課程_第4頁
健康教育評價復(fù)習(xí)課程_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

健康教育評價計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)__圖形繪制變換計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)__圖形繪制變換

計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)__圖形繪制變換計(jì)算機(jī)圖形學(xué)實(shí)驗(yàn)報告課程名稱:計(jì)算機(jī)圖形學(xué)實(shí)驗(yàn)名稱:圖形繪制與變換學(xué)院:電子信息工程學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級:11計(jì)科本01班學(xué)號:姓名:張慧指導(dǎo)教師:王征風(fēng)

二零一四年目錄

TOC\o"1-3"\h\u

7564

一、引言

3

27339

二、設(shè)計(jì)需求

4

8775

2.1設(shè)計(jì)目標(biāo)

4

4247

2.2設(shè)計(jì)環(huán)境

4

28688

4

22617

4

14734

2.3設(shè)計(jì)題目及要求

5

32052

2.4總體流程圖

5

7206

三、課程設(shè)計(jì)原理

5

25237

3.1實(shí)現(xiàn)的算法

5

17063

6

28867

6

551

3.2圖形變換的基本原理

8

9917

8

27367

8

5140

9

21819

四、總體設(shè)計(jì)與功能實(shí)現(xiàn)

9

17073

4.1主要界面設(shè)計(jì)

9

29378

4.2設(shè)置顏色界面

9

6048

9

28291

10

11093

4.3二維線畫圖元實(shí)現(xiàn)

10

15002

4.4畫多邊形功能的實(shí)現(xiàn)

14

23822

4.5畫Bezier曲線功能的實(shí)現(xiàn)

15

24728

4.6二維圖形變換的實(shí)現(xiàn)

16

16951

4.7三維圖形的變換

18

五、實(shí)驗(yàn)心得體會一、引言計(jì)算機(jī)圖形學(xué)(ComputerGraphics,簡稱CG)是一種使用數(shù)學(xué)算法將二維或三維圖形轉(zhuǎn)化為

計(jì)算機(jī)

顯示器

的柵格形式的科學(xué)。簡單地說,計(jì)算機(jī)圖形學(xué)的主要研究內(nèi)容就是研究如何在計(jì)算機(jī)中表示圖形、以及利用計(jì)算機(jī)進(jìn)行圖形的計(jì)算、處理和顯示的相關(guān)原理與算法。是計(jì)算機(jī)科學(xué)的一個分支領(lǐng)域,主要關(guān)注數(shù)字合成與操作視覺的圖形內(nèi)容。計(jì)算機(jī)圖形學(xué)研究的是應(yīng)用計(jì)算機(jī)產(chǎn)生圖像的所有工作,不管圖像是靜態(tài)的還是動態(tài)的,可交互的還是固定的,等等。圖形API是允許程序員開發(fā)包含交互式計(jì)算機(jī)圖形操作的應(yīng)用而不需要關(guān)注圖形操作細(xì)節(jié)或任務(wù)系統(tǒng)細(xì)節(jié)的工具集。計(jì)算機(jī)圖形學(xué)有著廣泛的應(yīng)用領(lǐng)域,包括物理、航天、電影、電視、游戲、藝術(shù)、廣告、通信、天氣預(yù)報等幾乎所有領(lǐng)域都用到了計(jì)算機(jī)圖形學(xué)的知識,這些領(lǐng)域通過計(jì)算機(jī)圖形學(xué)將幾何模型生成圖像,將問題可視化從而為各領(lǐng)域更好的服務(wù)。?計(jì)算機(jī)圖形學(xué)利用計(jì)算機(jī)產(chǎn)生讓人賞心悅目的視覺效果,必須建立描述圖形的幾何模型還有光照模型,再加上視角、顏色、紋理等屬性,再經(jīng)過模型變換、視圖變換、投影操作等,這些步驟從而實(shí)現(xiàn)一個完整的OpenGL程序效果。OpenGL是一個開放的三維圖形軟件包,它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng),以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以十分方便地在各種平臺間移植。計(jì)算機(jī)圖形學(xué)通過應(yīng)用OpenGL的功能,使得生成的圖形效果具有高度真實(shí)感。學(xué)習(xí)計(jì)算機(jī)圖形學(xué)的重點(diǎn)是掌握OpenGL在圖形學(xué)程序中的使用方法。?事實(shí)上,圖形學(xué)也把可以表示幾何場景的曲線曲面造型技術(shù)和實(shí)體造型技術(shù)作為其主要的研究內(nèi)容。同時,真實(shí)感圖形計(jì)算的結(jié)果是以

.html"

數(shù)字圖像

的方式提供的,計(jì)算機(jī)圖形學(xué)也就和

圖像處理

有著密切的關(guān)系。通過21世紀(jì)是信息的時代,在日新月異的科技更新中相信計(jì)算機(jī)會發(fā)揮越來越重要的作用,計(jì)算機(jī)圖形學(xué)也會在更多的領(lǐng)域所應(yīng)用,雖然我國在這方面還比較薄弱,但相信會有越來越好的時候的。二、設(shè)計(jì)需求2.1設(shè)計(jì)目標(biāo)以圖形學(xué)算法為目標(biāo),深入研究。繼而策劃、設(shè)計(jì)并實(shí)現(xiàn)一個能夠表現(xiàn)計(jì)算機(jī)圖形學(xué)算法原理的或完整過程的演示系統(tǒng),并能從某些方面作出評價和改進(jìn)意見。通過完成一個完整程序,經(jīng)歷策劃、設(shè)計(jì)、開發(fā)、測試、總結(jié)和驗(yàn)收各階段,達(dá)到:鞏固和實(shí)踐計(jì)算機(jī)圖形學(xué)課程中的理論和算法;學(xué)習(xí)表現(xiàn)計(jì)算機(jī)圖形學(xué)算法的技巧;培養(yǎng)認(rèn)真學(xué)習(xí)、積極探索的精神。2.2設(shè)計(jì)環(huán)境VC++6.0VC++6.0是Microsoft公司推出的一個基于Windows系統(tǒng)平臺、可視化的集成開發(fā)環(huán)境,它的源程序按C++語言的要求編寫,并加入了微軟提供的功能強(qiáng)大的MFC(MicrosoftFoundationClass)類庫。MFC中封裝了大部分WindowsAPI函數(shù)和Windows控件,它包含的功能涉及到整個Windows操作系統(tǒng)。MFC不僅給用戶提供了Windows圖形環(huán)境下應(yīng)用程序的框架,而且還提供了創(chuàng)建應(yīng)用程序的組件,這樣,開發(fā)人員不必從頭設(shè)計(jì)創(chuàng)建和管理一個標(biāo)準(zhǔn)Windows應(yīng)用程序所需的程序,而是從一個比較高的起點(diǎn)編程,故節(jié)省了大量的時間。另外,它提供了大量的代碼,指導(dǎo)用戶編程時實(shí)現(xiàn)某些技術(shù)和功能。因此,使用VC++提供的高度可視化的應(yīng)用程序開發(fā)工具和MFC類庫,可使應(yīng)用程序開發(fā)變得簡單。MFCMFC(MicrosoftFoundationClasses),是一個微軟公司提供的類庫(classlibraries)以C++類的形式封裝了Windows的API,,它包含了窗口等許多類的定義。各種類的集合構(gòu)成了一個應(yīng)運(yùn)程序的框架結(jié)構(gòu),以減少應(yīng)用程序開發(fā)人員的工作量。其中包含的類包含大量Windows句柄封裝類和很多Windows的內(nèi)建控件和組件的封裝類。MFC6.0版本封裝了大約200個類,其中的一些可以被用戶直接使用。例如CWnd類封裝了窗口的功能,包括打印文本、繪制圖形及跟蹤鼠標(biāo)指針的移動等;CsplitterWnd類是從CWnd類派生出來的,繼承了基類或稱父類CWnd類的所有特性,但增加了自己的功能,實(shí)現(xiàn)拆分窗口,使窗口至少可被拆分成兩個窗口,用戶可以移動兩個窗口之間的邊框來改變窗口的大小;CtoolBar類可以定義工具欄等。MFC命名的慣例是類的名字通常是由“C”打頭;成員變量使用前綴“m_”,接著使用一個字母來指明數(shù)據(jù)類型,然后是變量的名稱;所有的單詞用大寫字母開頭。2.3設(shè)計(jì)題目及要求題目:實(shí)現(xiàn)多邊形和曲線的繪制和變換要求:學(xué)會使用VC++編寫實(shí)現(xiàn)圖形的繪制變換,需包括直線、曲線、多邊形的繪制和變換,及三維立體圖形的相應(yīng)變換.2.4總體流程圖三、課程設(shè)計(jì)原理3.1實(shí)現(xiàn)的算法DDA是數(shù)字微分分析式(DigitalDifferentialAnalyzer)的縮寫。

已知直線兩端點(diǎn)(x1,y1)、(x2,y2)則斜率m為:m=(y2-y1)/(x2-x1)=Dx/Dy;直線中的每一點(diǎn)坐標(biāo)都可以由前一點(diǎn)坐標(biāo)變化一個增量(Dx,Dy)而得到,即表示為遞歸式:xi+1=xi+Dxyi+1=yi+Dy。遞歸式的初值為直線的起點(diǎn)(x1,y1),這樣,就可以用加法來生成一條直線。具體算法是:

該算法適合所有象限,其中用了用了兩個函數(shù)如:Integer(-8.5)=-9;Integer(8.5)=8;Sign(i),根據(jù)i的正負(fù),分別得到-1,0,+1;

相應(yīng)代碼://DDADrawLine

{if(abs(x2-x1)>abs(y2-y1))

length=abs(x2-x1);

else

length=abs(y2-y1);

Dx=(x2-x1)/length;

Dy=(y2-y1)/length;

x=x1+0.5*Sign(Dx);

y=x2+0.5*Sign(Dy);

i=1;

while(i<=lenght)

{setpixel(Integer(x),Integer(y),color);

x=x+Dx;

y=y+Dy;

i+=1;}}

思路如下://假設(shè)該線段位于第一象限內(nèi)且斜率大于0小于1,設(shè)起點(diǎn)為(x1,y1),終點(diǎn)為(x2,y2).//根據(jù)對稱性,可推導(dǎo)至全象限內(nèi)的線段.中心點(diǎn)算法畫圓和橢圓(1)中心點(diǎn)算法畫圓在一個方向上取單位間隔,在另一個方向的取值由兩種可能取值的中點(diǎn)離圓的遠(yuǎn)近而定。實(shí)際處理中,用決策變量的符號來確定象素點(diǎn)的選擇,因此算法效率較高。生成圓弧的中點(diǎn)算法和上面講到的生成直線段的中點(diǎn)算法類似??紤]第一象限內(nèi)的八分之一圓弧段。經(jīng)過計(jì)算,得出判別式的遞推公式為:

這兩個遞推公式的初值條件為:

編寫成員函數(shù)如下:voidCMy2_9View::MidPointEllipse(CDC*pDC,doublea,doubleb,intcolor){doublex,y,d,xP,yP,squarea,squareb;squarea=a*a;squareb=b*b;xP=(int)(0.5+(double)squarea/sqrt((double)(squarea+squareb)));yP=(int)(0.5+(double)squareb/sqrt((double)(squarea+squareb)));x=0;y=b;d=4*(squareb-squarea*b)+squarea;pDC->SetPixel(x,y,color);while(x<=xP){if(d<=0)d+=4*squareb*(2*x+3);else{d+=4*squareb*(2*x+3)-8*squarea*(y-1);y--;}x++;pDC->SetPixel(x,y,color);}x=a;y=0;d=4*(squarea-a*squareb)+squareb;pDC->SetPixel(x,y,color);while(y<yP){if(d<=0)d+=4*squarea*(2*y+3);else{d+=4*squarea*(2*y+3)-8*squareb*(x-1);x--;}y++;pDC->SetPixel(x,y,color);}}編寫OnDraw函數(shù)如下:voidCMy2_9View::OnDraw(CDC*pDC){CMy2_9Doc*pDoc=GetDocument(); ASSERT_VALID(pDoc); MidPointEllipse(pDC,500,300,RGB(0,0,0));}(2)中心點(diǎn)算法畫橢圓我們先考慮圓心在原點(diǎn)的橢圓的生成,對于中心不是原點(diǎn)的橢圓,可以通過坐標(biāo)的平移變換獲得相應(yīng)位置的橢圓。中心在原點(diǎn)。焦點(diǎn)在坐標(biāo)軸上的標(biāo)準(zhǔn)橢圓具有X軸對稱、Y軸對稱和原點(diǎn)對稱特性,已知橢圓上第一象限的P點(diǎn)坐標(biāo)是(x,y),則橢圓在另外三個象限的對稱點(diǎn)分別是(x,-y)、(-x,y)和(-x,-y)。因此,只要畫出第一象限的四分之一橢圓,就可以利用這三個對稱性得到整個橢圓。相應(yīng)代碼:voidMP_Ellipse(intxc,intyc,inta,intb){doublesqa=a*a;doublesqb=b*b;doubled=sqb+sqa*(-b+0.25);intx=0;inty=b;EllipsePlot(xc,yc,x,y);while(sqb*(x+1)<sqa*(y-0.5)){if(d<0){d+=sqb*(2*x+3);}else{d+=(sqb*(2*x+3)+sqa*(-2*y+2));y--;}x++;EllipsePlot(xc,yc,x,y);}d=(b*(x+0.5))*2+(a*(y-1))*2-(a*b)*2;while(y>0){if(d<0){d+=sqb*(2*x+2)+sqa*(-2*y+3);x++;}else{d+=sqa*(-2*y+3);}y--;EllipsePlot(xc,yc,x,y);}}3.2圖形變換的基本原理3.2.1平移變換平移變換函數(shù)如下:voidglTranslate{fd}(TYPEx,TYPEy,TYPEz);三個函數(shù)參數(shù)就是目標(biāo)分別沿三個軸向平移的偏移量。這個函數(shù)表示用于這三個偏移量生成的矩陣乘以當(dāng)前矩陣。當(dāng)參數(shù)是(0.0,0.0,0.0)時,表示對函數(shù)glTranslate*()的操作是單位矩陣,也就是對物體沒有影響。旋轉(zhuǎn)變換旋轉(zhuǎn)變換函數(shù)如下:VoidglRota{fd}TYPEangle,TYPEx,TYPEy,TYPEz);函數(shù)中第一個參數(shù)是表示目標(biāo)沿從點(diǎn)(x,y,z)到原點(diǎn)方向逆時針旋轉(zhuǎn)的角度,后三個參數(shù)是旋轉(zhuǎn)的方向點(diǎn)坐標(biāo)。這個函數(shù)表示用這四個參數(shù)生成的矩陣乘以當(dāng)前矩陣。當(dāng)角度參數(shù)是0.0時,表示對物體沒有影響。比例變換比例變換函數(shù)如下:VoidglScale{fd}(TYPEx,TYPEy,TYPEz);單個函數(shù)參數(shù)值就是目標(biāo)分別沿三個軸方向縮放的比例因子。這個函數(shù)表示用這三個比例因子生成的矩陣乘以當(dāng)前矩陣。這個函數(shù)能完成沿相應(yīng)的軸對目標(biāo)進(jìn)行拉伸、壓縮和反射三項(xiàng)功能。以參數(shù)x為例,若當(dāng)x大于1.0時,表示沿x方向拉伸目標(biāo);若x小于1.0,表示沿x軸方向收縮目標(biāo);若x=-1.0表示沿x軸反射目標(biāo)。其中參數(shù)為負(fù)值時表示對目標(biāo)進(jìn)行相應(yīng)軸的反射變換。四、總體設(shè)計(jì)與功能實(shí)現(xiàn)4.1主要界面設(shè)計(jì)4.2設(shè)置顏色界面

voidCGraphicsView::OnClock(){ WHAT_TO_DO=ID_CLOCK;clean(); intxx=450,yy=300,r=150,d=5; inti,white=RGB(255,255,255); mile(xx,yy,r,COLOR); Matrixm(xx,240),s(xx,200); Matrixt1(xx,yy,true),t2(-xx,-yy,true),mr(PI/1800),sr(PI/30); mile(m.getx(),m.gety(),d+1,COLOR); mile(s.getx(),s.gety(),d,COLOR); dne(m.getx(),m.gety(),xx,yy,COLOR); dne(s.getx(),s.gety(),xx,yy,COLOR); for(i=0;i<120;i++){ ::Sleep(80); mile(m.getx(),m.gety(),d+1,white); mile(s.getx(),s.gety(),d,white); dne(m.getx(),m.gety(),xx,yy,white); dne(s.getx(),s.gety(),xx,yy,white); m=t1*mr*t2*m; s=t1*sr*t2*s; mile(m.getx(),m.gety(),d+1,COLOR); mile(s.getx(),s.gety(),d,COLOR); dne(m.getx(),m.gety(),xx,yy,COLOR); dne(s.getx(),s.gety(),xx,yy,COLOR);}}“設(shè)置--顏色”后,運(yùn)行結(jié)果如下:4.3二維線畫圖元實(shí)現(xiàn)voidCGraphicsView::MidCir(CDC*pdc,intx0,inty0,intx1,inty1,intcolor){ intr,x,y,deltax,deltay,d; r=sqrt(((double)x1-(double)x0)*((double)x1-(double)x0)+((double)y1-(double)y0)*((double)y1-(double)y0)); x=0; y=r; deltax=3; deltay=2-r-r; d=1-r; while(x<=y) { ::Sleep(time); pdc->SetPixel(x+x0,y+y0,color); ::Sleep(time); pdc->SetPixel(-x+x0,y+y0,color); ::Sleep(time); pdc->SetPixel(x+x0,-y+y0,color); ::Sleep(time); pdc->SetPixel(-x+x0,-y+y0,color); ::Sleep(time); pdc->SetPixel(y+x0,x+y0,color); ::Sleep(time); pdc->SetPixel(-y+x0,x+y0,color); ::Sleep(time); pdc->SetPixel(y+x0,-x+y0,color); ::Sleep(time); pdc->SetPixel(-y+x0,-x+y0,color); if(d<0) { d+=deltax; deltax+=2; x++;} else { d+=deltax+deltay; deltax+=2; deltay+=2; x++; y--; }}}voidCGraphicsView::midellispse(intxx,intyy,intr1,intr2,intcolor){ }voidCGraphicsView::Ellipse(CDC*pdc,intx1,inty1,intx2,inty2,intcolor){xx0=(x2+x1)/2; yy0=(y2+y1)/2; rra=abs(x2-x1)/2; rrb=abs(y2-y1)/2; if(rra==0&&rrb==0)return; Ellipse0(pdc,xx0,yy0,rra,rrb,color);}voidCGraphicsView::Ellipse0(CDC*pdc,intx0,inty0,inta,intb,intcolor){inti,yy; intx,y,deltax,deltay; intaa,aa2,aa3,bb,bb2,bb3; doubled1,d2; aa=a*a; aa2=aa*2; aa3=aa*3; bb=b*b; bb2=bb*2; bb3=bb*3; x=0; y=b; d1=bb+aa*(-b+0.25); deltax=bb3; deltay=-aa2*b+aa2; pdc->SetPixelV(x+x0,y+y0,color); pdc->SetPixelV(x+x0,-y+y0,color); while(bb*(x+1)<aa*(y-0.5)) { yy=y; if(d1<0) { d1+=deltax; deltax+=bb2; x++;} else { d1+=deltax+deltay; deltax+=bb2; deltay+=aa2; x++; y--;} ::Sleep(time); pdc->SetPixelV(x+x0,y+y0,color); ::Sleep(time); pdc->SetPixelV(-x+x0,y+y0,color); ::Sleep(time); pdc->SetPixelV(x+x0,-y+y0,color); ::Sleep(time); pdc->SetPixelV(-x+x0,-y+y0,color);} d2=bb*(x+0.5)*(x+0.5)+aa*(y-1)*(y-1)-aa*bb; deltax-=bb; deltay+=aa; while(y>0) { if(d2<0) { d2+=deltax+deltay; deltax+=bb2; deltay+=aa2; x++; y--; } else { d2+=deltay; deltay+=aa2; y--; } ::Sleep(time); pdc->SetPixelV(x+x0,y+y0,color); ::Sleep(time); pdc->SetPixelV(-x+x0,y+y0,color); ::Sleep(time); pdc->SetPixelV(x+x0,-y+y0,color); ::Sleep(time); pdc->SetPixelV(-x+x0,-y+y0,color); }}voidCGraphicsView::DDALine(CDC*pdc,intx0,inty0,intx1,inty1,intcolor){ intxx,yy,s,s1,s2,di; floatdx,dy,k,x,y; dx=x1-x0; if(dx>=0)s1=1; else s1=-1; dy=y1-y0; if(dy>=0)s2=1; else s2=-1; dx=abs(dx); dy=abs(dy); if(dx>=dy) {s=0; di=(int)dx; k=dy/dx*s2;} else { s=1; di=(int)dy; k=dx/dy*s1;} x=x0; y=y0; for(inti=0;i<=di;i++) {if(s==0) {xx=(int)x; yy=(int)(y+0.5); ::Sleep(time); pdc->SetPixel(xx,yy,color); x+=s1; y+=k;} else{ xx=(int)(x+0.5); yy=(int)y; ::Sleep(time); pdc->SetPixel(xx,yy,color); y+=s2; x+=k;}}}

4.4畫多邊形功能的實(shí)現(xiàn)voidCGraphicsView::OnDrawDuoBX(){ Vertex_Countdlg; if(dlg.DoModal()==IDOK) { if(dlg.m_vertex_count>MAX) { MessageBox("輸入頂點(diǎn)數(shù)過大"); return; } VertexTotal=dlg.m_vertex_count; CDC*pDC=GetDC(); CPenpen(PS_SOLID,2,RGB(255,255,255)); CPen*pOldpen=pDC->SelectObject(&pen); pDC->MoveTo((int)(inVertexArray[0].x+0.5),(int)(inVertexArray[0].y+0.5)); inti; for(i=1;i<inLength;i++) pDC->LineTo((int)(inVertexArray[i].x+0.5),(int)(inVertexArray[i].y+0.5)); pDC->LineTo((int)(inVertexArray[0].x+0.5),(int)(inVertexArray[0].y+0.5)); pDC->SelectObject(pOldpen); ReleaseDC(pDC); inLength=0; outLength=0; WHAT_TO_DO=ID_DrawDuoBX;}}

4.5畫Bezier曲線功能的實(shí)現(xiàn)voidCGraphicsView::OnBezier(){ //TODO:Addyourcommandhandlercodehere WHAT_TO_DO=ID_BEZIER; CDC*p=GetDC(); p->TextOut(10,20,"PS:鼠標(biāo)左鍵添加曲線,鼠標(biāo)右鍵修改曲線."); ReleaseDC(p);}voidCGraphicsView::OnBezierClear(){ n=-1; RedrawWindow();}voidCGraphicsView::DrawBezier(DPOINT*p){ if(n<=0)return; if((p[n].x<p[0].x+1)&&(p[n].x>p[0].x-1)&&(p[n].y<p[0].y+1)&&(p[n].y>p[0].y-1)) { pDC->SetPixel(p[0].x,p[0].y,COLOR); return; } DPOINT*p1; p1=newDPOINT[n+1]; inti,j; p1[0]=p[0]; for(i=1;i<=n;i++) { for(j=0;j<=n-i;j++) { p[j].x=(p[j].x+p[j+1].x)/2; p[j].y=(p[j].y+p[j+1].y)/2; } p1[i]=p[0];} DrawBezier(p); DrawBezier(p1); deletep1;}voidCGraphicsView::OnBezierAdd(){ AddorMove=1; }voidCGraphicsView::OnBezierMove(){ AddorMove=-1;}voidCGraphicsView::OnMouseMove(UINTnFlags,CPointpoint){ switch(WHAT_TO_DO) { caseID_BEZIER: { if(current>=0) { points[current].x=point.x; points[current].y=point.y; RedrawWindow();} if(current2>=0) { points[current2].x=point.x; points[current2].y=point.y; RedrawWindow();} break; } default:break;} CView::OnMouseMove(nFlags,point);}圖1圖2上圖1移動后的曲線上圖2移動后的曲線4.6二維圖形變換的實(shí)現(xiàn)可以實(shí)現(xiàn)一橢圓在界面上的隨機(jī)移動,一圓在界面上饒某一點(diǎn)的旋轉(zhuǎn)和一正方形由大變小在變大的變化,部分實(shí)現(xiàn)代碼如下:voidCGraphicsView::OnXuanzhuan(){ WHAT_TO_DO=ID_XUANZHUAN; time=0; OnClear(); CClientDCdc(this); CDC*pDC=&dc; inti,white=RGB(255,255,255),point[2][2]={{300,200},{300,250}}; Matrixa(point[0][0],point[0][1]),b(point[1][0],point[1][1]); intmidx=(point[0][0]+point[1][0])/2,midy=(point[0][1]+point[1][1])/2; Matrixt1(midx,midy,true),t2(-midx,-midy,true); Matrixr(PI/50); Matrixtemp(midx,midy,true); temp=t1*r*t2; for(i=0;i<200;i++){ ::Sleep(50); MidCir(pDC,a.getx(),a.gety(),b.getx(),b.gety(),white); a=temp*a; b=temp*b; MidCir(pDC,a.getx(),a.gety(),b.getx(),b.gety(),COLOR); } for(i=0;i<200;i++){ ::Sleep(50); MidCir(pDC,a.getx(),a.gety(),b.getx(),b.gety(),white); a=temp*a; b=temp*b; MidCir(pDC,a.getx(),a.gety(),b.getx(),b.gety(),COLOR); } time=5;}voidCGraphicsView::OnUpdateXuanzhuan(CCmdUI*pCmdUI){ pCmdUI->SetCheck(WHAT_TO_DO==ID_XUANZHUAN);}voidCGraphicsView::OnScale(){ WHAT_TO_DO=ID_SCALE; OnClear(); CClientDCdc(this); CDC*pDC=&dc; time=0; inti,white=RGB(255,255,255),point[4][2]={{300,250},{400,250},{300,300},{400,300}}; floatsx=0.9,sy=0.85; intmidx=(point[0][0]+point[3][0])/2,midy=(point[0][1]+point[3][1])/2; Matrixs1(sx,sy),s2(1/sx,1/sy); Matrixt1(midx,midy,true),t2(-midx,-midy,true); Matrixa(point[0][0],point[0][1]),b(point[1][0],point[1][1]); Matrixc(point[2][0],point[2][1]),d(point[3][0],point[3][1]); Matrixtemp(midx,midy,true); temp=t1*s1*t2; DDALine(pDC,a.getx(),a.gety(),b.getx(),b.gety(),COLOR); DDALine(pDC,a.getx(),a.gety(),c.getx(),c.gety(),COLOR); DDALine(pDC,c.getx(),c.gety(),d.getx(),d.gety(),COLOR); DDALine(pDC,d.getx(),d.gety(),b.getx(),b.gety(),COLOR); for(i=0;i<20;i++){ ::Sleep(30); DDALine(pDC,a.getx(),a.gety(),b.getx(),b.gety(),white); DDALine(pDC,a.getx(),a.gety(),c.getx(),c.gety(),white); DDALine(pDC,c.getx(),c.gety(),d.getx(),d.gety(),white); DDALine(pDC,d.getx(),d.gety(),b.getx(),b.gety(),white); a=temp*a; b=temp*b; c=temp*c; d=temp*d; DDALine(pDC,a.getx(),a.gety(),b.getx(),b.gety(),COLOR); DDALine(pDC,a.getx(),a.gety(),c.getx(),c.gety(),COLOR); DDALine(pDC,c.getx(),c.gety(),d.getx(),d.gety(),COLOR); DDALine(pDC,d.getx(),d.gety(),b.getx(),b.gety(),COLOR);} temp=t1*s2*t2; for(i=0;i<20;i++){ ::Sleep(30); DDALine(pDC,a.getx(),a.gety(),b.getx(),b.gety(),white); DDALine(pDC,a.getx(),a.gety(),c.getx(),c.gety(),white); DDALine(pDC,c.getx(),c.gety(),d.getx(),d.gety(),white); DDALine(pDC,d.getx(),d.gety(),b.getx(),b.gety(),white); a=temp*a; b=temp*b; c=temp*c; d=temp*d; DDALine(pDC,a.getx(),a.gety(),b.getx(),b.gety(),COLOR); DDALine(pDC,a.getx(),a.gety(),c.getx(),c.gety(),COLOR); DDALine(pDC,c.getx(),c.gety(),d.getx(),d.gety(),COLOR); DDALine(pDC,d.getx(),d.gety(),b.getx(),b.gety(),COLOR); } time=5;}voidCGraphicsView::OnUpdateScale(CCmdUI*pCmdUI){ pCmdUI->SetCheck(WHAT_TO_DO==ID_SCALE);}4.7三維圖形的變換主要實(shí)現(xiàn)三維圖形的上下左右平移,分別繞X軸Y軸Z軸的旋轉(zhuǎn),放大和縮小,以及正方體六個面的顏色變換,除此之外,還可以選擇背景顏色的改變voidCGraphicsView::OnAoduomianti(){ WHAT_TO_DO=ID_AODUOMIANTI; CDrawDLGdlg1; dlg1.DoModal();}voidCGraphicsView::OnUpdateAoduomianti(CCmdUI*pCmdUI){ pCmdUI->SetCheck(WHAT_TO_DO==ID_AODUOMIANTI);}voidCDrawDLG::OnPaint(){ CPaintDCdc(this);//devicecontextforpainting CWnd*pWnd=GetDlgItem(IDC_DRAW); pWnd->UpdateWindow();// CDC*PDC=pWnd->GetDC(); Draw();}voidCDrawDLG::Draw(){ CWnd*pWnd=GetDlgItem(IDC_DRAW); pWnd->UpdateWindow(); CDC*pDC=pWnd->GetDC(); CRectrect; pWnd->GetClientRect(rect); Dv[8]={ {-fs,-fs,fs},{-fs,fs,fs},{fs,fs,fs},{fs,-fs,fs},{-fs,-fs,-fs},{-fs,fs,-fs},{fs,fs,-fs},{fs,-fs,-fs} },d[8]; POINTp0[4],p1[4],p2[4],p3[4],p4[4],p5[4],w[8]; intz[8]; for(inti=0;i<8;i++) { d[i].x=v[i].x; d[i].y=(int)(v[i].y*cos(a*DU)-v[i].z*sin(a*DU)); d[i].z=(int)(v[i].y*sin(a*DU)+v[i].z*cos(a*DU)); v[i].x=(int)(d[i].x*cos(b*DU)+d[i].z*sin(b*DU)); v[i].y=d[i].y; v[i].z=(int)(d[i].z*cos(b*DU)-d[i].x*sin(b*DU)); d[i].x=(int)(v[i].x*cos(c*DU)-v[i].y*sin(c*DU)); d[i].y=(int)(v[i].x*sin(c*DU)+v[i].y*cos(c*DU)); d[i].z=v[i].z; w[i].x=d[i].x+cx; w[i].y=d[i].y+cy; z[i]=d[i].z;} p0[0]=w[0];p0[1]=w[1];p0[2]=w[2];p0[3]=w[3]; p1[0]=w[4];p1[1]=w[5];p1[2]=w[6];p1[3]=w[7];p2[0]=w[0];p2[1]=w[1];p2[2]=w[5];p2[3]=w[4]; p3[0]=w[1];p3[1]=w[2];p3[2]=w[6];p3[3]=w[5]; p4[0]=w[2];p4[1]=w[3];p4[2]=w[7];p4[3]=w[6]; p5[0]=w[0];p5[1]=w[3];p5[2]=w[7];p5[3]=w[4]; switch(Maxnum(z,7)) { case0:fill(p0,p2,p5,0,2,5);break; case1:fill(p0,p2,p3,0,2,3);break; case2:fill(p0,p3,p4,0,3,4);break; case3:fill(p0,p4,p5,0,4,5);break; case4:fill(p1,p2,p5,1,2,5);break; case5:fill(p1,p2,p3,1,2,3);break; case6:fill(p1,p3,p4,1,3,4);break; case7:fill(p1,p4,p5,1,4,5);break;}}BOOLCDrawDLG::OnInitDialog(){ CDialog::OnInitDialog(); m_scroll1.SetScrollRange(-180,180); m_scroll1.SetScrollPos(0); m_scroll2.SetScrollRange(-180,180); m_scroll2.SetScrollPos(0); m_scroll3.SetScrollRange(-180,180); m_scroll3.SetScrollPos(0); m_scroll4.SetScrollRange(0,350); m_scroll4.SetScrollPos(200); m_scroll5.SetScrollRange(0,300); m_scroll5.SetScrollPos(115); m_scroll6.SetScrollRange(0.00,300.00); m_scroll6.SetScrollPos(50.00); a=b=c=0; fs=50.00; SetTimer(1,100,NULL); Ctrl=0; cx=200; cy=115; COLOR1=RGB(123,234,43); COLOR2=RGB(123,123,0); COLOR3=RGB(123,24,235); COLOR4=RGB(0,123,95); COLOR5=RGB(23,234,34); COLOR6=RGB(234,124,0); COLOR7=RGB(0,43,98); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}voidCDrawDLG::OnHScroll(UINTnSBCode,UINTnPos,CScrollBar*pScrollBar){ intnID=pScrollBar->GetDlgCtrlID(); switch(nID) { caseIDC_SCROLLBAR1:a=pScrollBar->GetScrollPos(); switch(nSBCode) { caseSB_LINELEFT:a--;break; caseSB_LINERIGHT:a++;break; caseSB_PAGELEFT:a-=10;break; caseSB_PAGERIGHT:a+=10;break; caseSB_THUMBTRACK:a=nPos;break;} if(a<-180)a=180; if(a>180)a=-180; pScrollBar->SetScrollPos(a); break; caseIDC_SCROLLBAR2:b=pScrollBar->GetScrollPos(); switch(nSBCode) { caseSB_LINELEFT:b--;break; caseSB_LINERIGHT:b++;break; caseSB_PAGELEFT:b-=10;break; caseSB_PAGERIGHT:b+=10;break; caseSB_THUMBTRACK:b=nPos;break;} if(b<-180)b=180; if(b>180)b=-180; pScrollBar->SetScrollPos(b); break; caseIDC_SCROLLBAR3:c=pScrollBar->GetScrollPos(); switch(nSBCode) { caseSB_LINELEFT:c--;break; caseSB_LINERIGHT:c++;break; caseSB_PAGELEFT:c-=10;break; caseSB_PAGERIGHT:c+=10;break; caseSB_THUMBTRACK:c=nPos;break;} if(c<-180)c=180; if(c>180)c=-180; pScrollBar->SetScrollPos(c); break; caseIDC_SCROLLBAR4:cx=pScrollBar->GetScrollPos(); switch(nSBCode) { caseSB_LINELEFT:cx--;break; caseSB_LINERIGHT:cx++;break; caseSB_PAGELEFT:cx-=10;break; caseSB_PAGERIGHT:cx+=10;break; caseSB_THUMBTRACK:cx=nPos;break;} if(cx<0)cx=200; if(cx>350)cx=200; pScrollBar->SetScrollPos(cx); break; caseIDC_SCROLLBAR5:cy=pScrollBar->GetScrollPos(); switch(nSBCode) { caseSB_LINELEFT:cy--;break; caseSB_LINERIGHT:cy++;break; caseSB_PAGELEFT:cy-=10;break; caseSB_PAGERIGHT:cy+=10;break; caseSB_THUMBTRACK:cy=nPos;break;} if(cy<0)cy=300; if(cy>300)cy=0; pScrollBar->SetScrollPos(cy); break; caseIDC_SCROLLBAR6:fs=pScrollBar->GetScrollPos(); switch(nSBCode) { caseSB_LINELEFT:fs--;break; caseSB_LINERIGHT:fs++;break; caseSB_PAGELEFT:fs-=0.55;break; caseSB_PAGERIGHT:fs+=0.55;break; caseSB_THUMBTRACK:fs=nPos;break;} if(fs<0)fs=50; if(fs>300)fs=50; pScrollBar->SetScrollPos(fs); break;// UpdateData(FALSE);}// Invalidate(); Draw(); CDialog::OnHScroll(nSBCode,nPos,pScrollBar);}voidCDrawDLG::OnOK(){ KillTimer(1); CDialog::OnOK();}intCDrawDLG::Maxnum(int*p,intn){ intmax=p[0]; intx; for(inti=0;i<=n;i++) { if(max<=p[i]) { max=p[i]; x=i; } } returnx;}voidCDrawDLG::fill(POINT*x,POINT*y,POINT*z,inti,intj,intq){ CWnd*pWnd=GetDlgItem(IDC_DRAW); pWnd->UpdateWindow(); CDC*pDC=pWnd->GetDC(); CRectrect; pWnd->GetClientRect(rect); CDCdcmem; dcmem.CreateCompatibleDC(pDC); CBitmapbmp,*oldbmp; bmp.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height()); oldbmp=dcmem.SelectObject(&bmp); CBrushbrush[6]; brush[0].CreateSolidBrush(COLOR1); brush[1].CreateSolidBrush(COLOR2); brush[2].CreateSolidBrush(COLOR3); brush[3].CreateSolidBrush(COLOR4); brush[4].CreateSolidBrush(COLOR5); brush[5].CreateSolidBrush(COLOR6); CBrush*oldbrush=dcmem.SelectObject(&brush[i]); dcmem.FillSolidRect(rect,COLOR7); dcmem.Polygon(x,4); dcmem.SelectObject(&brush[j]); dcmem.Polygon(y,4); dcmem.SelectObject(&brush[q]); dcmem.Polygon(z,4); dcmem.SelectObject(oldbrush); for(intb=0;b<6;b++) brush[b].DeleteObject(); pDC->BitBlt(rect.left,rect.top,rect.Width(),rect.Height(), &dcmem,0,0,SRCCOPY); dcmem.SelectObject(oldbmp); bmp.DeleteObject(); dcmem.DeleteDC();}實(shí)現(xiàn)多面體的上下左右平移(2)實(shí)現(xiàn)多面體的繞軸旋轉(zhuǎn):實(shí)現(xiàn)多面體的放大縮?。簩?shí)現(xiàn)多面體及背景的顏色設(shè)置:三維圖形變換整體圖形五、實(shí)驗(yàn)心得體會在本次課程設(shè)計(jì)過程中,基本掌握了計(jì)算機(jī)圖形學(xué)關(guān)于圖形繪制變換的基礎(chǔ)知識,DDA法畫直線和中心點(diǎn)法畫圓及橢圓的方法,還對圖形的變換及需要用到的一系列的函數(shù)有了相應(yīng)的理解,也了解的很多有關(guān)于圖形學(xué)中三維圖形的變換的知識。不過都只是皮毛而已,從中鍛煉了自己的動手做實(shí)驗(yàn)的能力,但同時也讓自己看清了自己的水平,以便在以后的生活里多加強(qiáng)有關(guān)這方面的學(xué)習(xí),從而提升自己在圖形學(xué)方面的知識水平。在本次課程設(shè)計(jì)中,設(shè)計(jì)方案存在著很多的死板化的實(shí)現(xiàn)方法,也是很不人性化的一點(diǎn),只提供了畫一種曲線的方法,且畫出的曲線只能移動,此為本次設(shè)計(jì)方案的不足之一;然后就是能實(shí)現(xiàn)曲面和多邊形的繪制,卻沒有對應(yīng)的實(shí)現(xiàn)繪制好圖形后直接對其進(jìn)行平移、選擇等變換,此為設(shè)計(jì)方案不足之二。再者就是三維圖形只能實(shí)現(xiàn)變換不能實(shí)現(xiàn)繪制,此為設(shè)計(jì)方案不足之三。鑒于個人能力真的有限,所以只能設(shè)計(jì)出此種級別的效果了。因?yàn)閷?shí)驗(yàn)重要的只是思想過程,效果的不美觀只能是因?yàn)閷W(xué)習(xí)的知識還遠(yuǎn)遠(yuǎn)不夠,所以不能設(shè)計(jì)出完美的全面的圖形繪制變換程序。經(jīng)過此次設(shè)計(jì),使我學(xué)到了很多東西,在沒有開始做程序之前,沒有任何思路,不知道該從哪里入手,可能是因?yàn)樽约浩綍r不認(rèn)真聽課的緣故。后來經(jīng)過上網(wǎng)查詢資料,翻閱參考書,在別人做的程序的啟發(fā)下,才有了做此程序設(shè)計(jì)的眉目。在設(shè)計(jì)過程中遇到了很多的問題,在這里需要感謝王征風(fēng)老師的幫助和指導(dǎo),以及同學(xué)的幫助,最后一個個問題都被解決了,寫出了完整的程序設(shè)計(jì)。最后也發(fā)現(xiàn),其實(shí)只要努力,寫出一個設(shè)計(jì)不是很困難,重要的是自己在寫程序的過程中,要會學(xué)習(xí),會查閱資料。這次的課程設(shè)計(jì)讓我學(xué)習(xí)到了很多,以后我會努力提高自己在圖形學(xué)方面的知識水平。

滅蠅燈安裝和使用技術(shù)要求滅蠅燈安裝和使用技術(shù)要求滅蠅燈安裝和使用技術(shù)要求滅蠅燈安裝和使用的技術(shù)要求1.目的制定滅蠅燈安裝和使用的技術(shù)要求,規(guī)范滅蠅燈的選擇、安裝、使用、清潔和維護(hù)。2.范圍適用于公司范圍內(nèi)所有公司滅蠅燈的安裝和使用。3.滅蠅燈的分類滅蠅燈按捕殺的功能可以分為電擊式和粘捕式,其原理都是用光線引誘蟲蠅,誘使蟲蠅靠近滅蠅燈燈管,使昆蟲接觸滅蠅燈附近的高壓電柵欄或粘蠅紙,將其電死或粘住,達(dá)到殺滅蟲蠅的目的。3.1按捕殺功能分類特點(diǎn)電擊式滅蠅燈;電擊過程中,將蟲尸擊飛,四處散落,可能造成進(jìn)一步的污染。粘捕式滅蠅燈;通過內(nèi)置的粘帶捕蟲,不造成二次污染,且有利于監(jiān)測蟲害種類和數(shù)量、趨勢。4.滅蠅燈的技術(shù)要求4.1.滅蠅燈的選擇1)紫外線光源:波長320-350nm。2)電擊式滅蠅燈需配備便于清潔的收集盤。3)能夠自動電殺或粘附蚊蟲,無污染,無毒無害。4)在存在產(chǎn)品或生產(chǎn)物料暴露操作的區(qū)域,原則上只能選擇粘補(bǔ)式滅蠅燈,盡量避免使用電擊式滅蠅燈,以免造成對產(chǎn)品的污染。4.2.滅蠅燈的安裝1)沿昆蟲的必經(jīng)路線安裝滅蠅燈(如入口、門口或其他位置和門廳),安裝在不易被來往人員和貨品碰撞損壞的位置。2)不能安裝在入口和通道門的上方,第一盞滅蠅燈應(yīng)距離入口不應(yīng)少于3.6米,以免吸引室外昆蟲。在蒼蠅可能孳生活動區(qū)域的3.7米內(nèi)安裝滅蠅燈(蒼蠅對紫外線反應(yīng)的最大距離是3.7米)3)盡量將滅蠅燈安裝于四面可見其燈光且不易被存貨、裝飾物遮擋光線的位置,但應(yīng)盡量避免靠近門窗處。若安裝在靠近門窗處,應(yīng)保證門窗打開時,不能從室外看見安裝的位置,以避免吸引室外昆蟲。4)按場所面積裝設(shè)足夠數(shù)目的滅蠅燈且應(yīng)平均分布。為使滅蠅燈的效果更佳,滅蠅燈之間的距離不應(yīng)超過12至15米的范圍。5)安裝高度:底部離地面1.8-2.1米。大部分蟲子在室空飛行的高度在1.7-2.0米之間,又因?yàn)槿说母叨却蠖荚?.6米-1.8米之間,所以不能低于1.8米,以免人無意間的觸及造成安全問題。頂部離天花板0.6-1.2米。6)不應(yīng)將滅蠅燈安裝于室外陽光直射處或緊貼照明光源尤其是鈉蒸氣燈/水銀燈的位置,因?yàn)檫@些光線會釋放出大量的紫外光。標(biāo)準(zhǔn)白熾燈和光管等對滅蠅燈效能的影響僅屬輕微,甚至毫無影響。7)滅蠅燈應(yīng)盡量裝于墻的四周,下方距離產(chǎn)品操作的距離不應(yīng)少于1.5米,只可使用低位掛墻式滅蠅燈,切勿使用天花垂吊式滅蠅燈,確保產(chǎn)品不受蟲害的污染。8)不能安裝在多塵、高溫、嚴(yán)寒或氣流過強(qiáng)(如排風(fēng)口或風(fēng)幕機(jī)的周圍)的位置,盡量安裝溫暖的位置(較容易吸引蒼蠅)。9)不可在容易發(fā)生爆炸的地方使用電擊式滅蠅燈。10)安裝位置2米范圍內(nèi)的墻面最好配備24小時不間斷電源插座,以保證偶爾停電時生產(chǎn)區(qū)域內(nèi)的蟲害控制。4.3.滅蠅燈的使用1)使用前先要對滅蠅燈進(jìn)行檢查,紫外線燈管安裝是否橫平、規(guī)范,高壓電柵兩極的間隙是否均勻合理,外層防護(hù)網(wǎng)是否能起到防護(hù)作用。2)燈管亮后,可使用手柄絕緣性良好的螺絲刀伸進(jìn)防護(hù)網(wǎng)觸碰高壓電柵,如能發(fā)出“啪啪”的放電聲,則說明高壓電柵已帶電,滅蠅燈工作正常。3)滅蠅燈開啟時間:24小時。冬季如果需要關(guān)閉,必須確認(rèn)冬季在開啟時滅蠅燈內(nèi)無蚊蟲被捕獲的尸體(冬季由于室內(nèi)有暖氣,也有可能有蚊蟲孳生活動)。4.4.清潔和維護(hù)1)滅蠅燈收集盤內(nèi)的昆蟲尸體必須每周至少清理一次,最好每周做兩次的清理。2)光源和電壓網(wǎng)應(yīng)每月至少清潔一次。3)紫外燈管應(yīng)按照其說明書上規(guī)定的使用期限定期更換,若沒有規(guī)定,應(yīng)每年更換一次,最好是在春季來臨之前更換。在日常維護(hù)過程中如果發(fā)現(xiàn)紫外燈管損壞或光線明顯不足應(yīng)及時更換。4.5.注意事項(xiàng)1)清理滅蠅燈時,應(yīng)切斷電源再進(jìn)行操作;2)不能使用導(dǎo)電物體伸進(jìn)電壓網(wǎng)內(nèi),避免被電擊。3)滅蠅燈只能消滅一些偶然能避過其他預(yù)防措施飛入控制區(qū)域內(nèi)的蚊子、蒼蠅等蟲害,不能使用滅蠅燈作為防治蟲害的第一道防線,應(yīng)選用其他防治措施,如紗網(wǎng)/門簾/風(fēng)幕等相配合。

人教版八年級上冊英語Unit1知識點(diǎn)語法點(diǎn)及課后習(xí)題人教版八年級上冊英語Unit1知識點(diǎn)語法點(diǎn)及課后習(xí)題

/人教版八年級上冊英語Unit1知識點(diǎn)語法點(diǎn)及課后習(xí)題

Unit1Keywords(重點(diǎn)單詞):anyone,anywhere,wonderful,few,most,something,nothing,everyone,myself,yourself,hen,pig,seem,bored,someone,diary,enjoyable,activity,decide,try,bird,bicycle,building,trader,wonder,difference,top,wait,umbrella,wet,below,enough,hungry,as,hill,duck,dislike,(任何人,在任何地方,精彩的,不多,最多,某事,沒有什么,每人,我自己,你自己,母雞,豬,好像,厭倦的,某人,日記,有樂趣的,活動,決定,嘗試,鳥,自行車,建筑物,商人,想知道,差別,頂部,等待,傘,濕的,在…下面,足夠的,饑餓的,如同,小山,鴨,不喜歡)

語法:一般過去時的用法1.一般過去時:概念:一般過去時用來表示過去某一時間內(nèi)發(fā)生的動作或存在的狀態(tài)以及過去習(xí)慣性,反復(fù)性的動作。謂語動詞要用動詞的過去式,常和表示過去的時間狀語連用,如yesterday,lastnight,lastweek,lastyear等。例句:Wheredidyougoonvacation?IwenttoNewYorkCity.(你去哪里度假了?我去紐約度假了。)Didyougooutwithanyone?No.Noonewashere.Everyonewasonvacation.(你和誰出去了嗎?沒有。沒有人在這里。每個人都在度假。)Didyoubuyanythingspecial?Yes,Iboughtsomethingformyfather.No,Iboughtnothing.(你買了什么特別的東西嗎?是的,我給我爸爸買了東西。/沒有,我什么都沒有買。)Howwasthefood?Everythingtastedreallygood!(食物怎么樣?一切都嘗起來特別棒!)Dideveryonehaveagoodtime?Oh,yes.Everythingwasexcellent.(每個人都玩的開心嗎?噢是的,一切都棒極了。)2.一般過去時的動詞變化情況

方法

示例

一般情況

+ed

work—worked,looklooked

以不發(fā)音e結(jié)尾

+d

livelived,hopehoped

以輔音字母+y結(jié)尾

變y為i+ed

studystudied,carrycarried

以重讀閉音節(jié)結(jié)尾且末尾只有一個輔音字母

雙寫最后的輔音字母+ed

stopstopped,planplanned

以ic結(jié)尾的動詞

變ic為ick+ed

Picnicpicnicked,

特殊情況

不規(guī)則

arewere,is/amwas,dodid

3.復(fù)合不定代詞(1).some,any,every,no都能和one,body,thing一起構(gòu)成代詞,這些代詞叫復(fù)合不定代詞,他們的基本含義為:指人:somebody,someone某人anybody,anyone任何人everybody,evryone每人nobody,noone沒人指物:something某物某事anything任何事物everything一切nothing沒東西(2).一般情況下,some構(gòu)成的復(fù)合不定代詞,其作用和some相同,用于肯定句;any構(gòu)成的復(fù)合不定代詞用于否定句或疑問句;no構(gòu)成的復(fù)合不定代詞表示否定含義,用于否定句。Practice(課后練習(xí)):1.Completetheconversationswiththecorrectwor

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論