中考小說專題復(fù)習(xí)考點(diǎn)演示教學(xué)_第1頁
中考小說專題復(fù)習(xí)考點(diǎn)演示教學(xué)_第2頁
中考小說專題復(fù)習(xí)考點(diǎn)演示教學(xué)_第3頁
中考小說專題復(fù)習(xí)考點(diǎn)演示教學(xué)_第4頁
中考小說專題復(fù)習(xí)考點(diǎn)演示教學(xué)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

中考小說專題復(fù)習(xí)考點(diǎn)計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)__圖形繪制變換計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)__圖形繪制變換

計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)__圖形繪制變換計(jì)算機(jī)圖形學(xué)實(shí)驗(yàn)報(bào)告課程名稱:計(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é)的一個(gè)分支領(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ù)報(bào)等幾乎所有領(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)一個(gè)完整的OpenGL程序效果。OpenGL是一個(gè)開放的三維圖形軟件包,它獨(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í),真實(shí)感圖形計(jì)算的結(jié)果是以

.html"

數(shù)字圖像

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

圖像處理

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

該算法適合所有象限,其中用了用了兩個(gè)函數(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)算法畫圓在一個(gè)方向上取單位間隔,在另一個(gè)方向的取值由兩種可能取值的中點(diǎn)離圓的遠(yuǎn)近而定。實(shí)際處理中,用決策變量的符號來確定象素點(diǎn)的選擇,因此算法效率較高。生成圓弧的中點(diǎn)算法和上面講到的生成直線段的中點(diǎn)算法類似??紤]第一象限內(nèi)的八分之一圓弧段。經(jīng)過計(jì)算,得出判別式的遞推公式為:

這兩個(gè)遞推公式的初值條件為:

編寫成員函數(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),則橢圓在另外三個(gè)象限的對稱點(diǎn)分別是(x,-y)、(-x,y)和(-x,-y)。因此,只要畫出第一象限的四分之一橢圓,就可以利用這三個(gè)對稱性得到整個(gè)橢圓。相應(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);三個(gè)函數(shù)參數(shù)就是目標(biāo)分別沿三個(gè)軸向平移的偏移量。這個(gè)函數(shù)表示用于這三個(gè)偏移量生成的矩陣乘以當(dāng)前矩陣。當(dāng)參數(shù)是(0.0,0.0,0.0)時(shí),表示對函數(shù)glTranslate*()的操作是單位矩陣,也就是對物體沒有影響。旋轉(zhuǎn)變換旋轉(zhuǎn)變換函數(shù)如下:VoidglRota{fd}TYPEangle,TYPEx,TYPEy,TYPEz);函數(shù)中第一個(gè)參數(shù)是表示目標(biāo)沿從點(diǎn)(x,y,z)到原點(diǎn)方向逆時(shí)針旋轉(zhuǎn)的角度,后三個(gè)參數(shù)是旋轉(zhuǎn)的方向點(diǎn)坐標(biāo)。這個(gè)函數(shù)表示用這四個(gè)參數(shù)生成的矩陣乘以當(dāng)前矩陣。當(dāng)角度參數(shù)是0.0時(shí),表示對物體沒有影響。比例變換比例變換函數(shù)如下:VoidglScale{fd}(TYPEx,TYPEy,TYPEz);單個(gè)函數(shù)參數(shù)值就是目標(biāo)分別沿三個(gè)軸方向縮放的比例因子。這個(gè)函數(shù)表示用這三個(gè)比例因子生成的矩陣乘以當(dāng)前矩陣。這個(gè)函數(shù)能完成沿相應(yīng)的軸對目標(biāo)進(jìn)行拉伸、壓縮和反射三項(xiàng)功能。以參數(shù)x為例,若當(dāng)x大于1.0時(shí),表示沿x方向拉伸目標(biāo);若x小于1.0,表示沿x軸方向收縮目標(biāo);若x=-1.0表示沿x軸反射目標(biāo)。其中參數(shù)為負(fù)值時(shí)表示對目標(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),放大和縮小,以及正方體六個(gè)面的顏色變換,除此之外,還可以選擇背景顏色的改變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)的能力,但同時(shí)也讓自己看清了自己的水平,以便在以后的生活里多加強(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ì)方案不足之三。鑒于個(gè)人能力真的有限,所以只能設(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(shí)不認(rèn)真聽課的緣故。后來經(jīng)過上網(wǎng)查詢資料,翻閱參考書,在別人做的程序的啟發(fā)下,才有了做此程序設(shè)計(jì)的眉目。在設(shè)計(jì)過程中遇到了很多的問題,在這里需要感謝王征風(fēng)老師的幫助和指導(dǎo),以及同學(xué)的幫助,最后一個(gè)個(gè)問題都被解決了,寫出了完整的程序設(shè)計(jì)。最后也發(fā)現(xiàn),其實(shí)只要努力,寫出一個(gè)設(shè)計(jì)不是很困難,重要的是自己在寫程序的過程中,要會學(xué)習(xí),會查閱資料。這次的課程設(shè)計(jì)讓我學(xué)習(xí)到了很多,以后我會努力提高自己在圖形學(xué)方面的知識水平。

圓的切點(diǎn)弦方程圓的切點(diǎn)弦方程

/圓的切點(diǎn)弦方程圓的切點(diǎn)弦方程【方法】1.設(shè)出直線,再求解;2.利用軌跡思想,用向量或平面幾何知識求解?!締栴}】對于坐標(biāo)平面內(nèi)任一點(diǎn),直線L:與圓O:究竟是什么關(guān)系呢?下面我們進(jìn)行探究:一、當(dāng)點(diǎn)M在圓O上時(shí),直線L是圓的切線。二、當(dāng)點(diǎn)M在圓O外時(shí),1.直線L不是圓O的切線,下面證明之:∵圓心O到L的距離為,由在圓O外,得∴,故直線L與圓O相交.2.此時(shí)直線L與過點(diǎn)M的圓的切線又是什么關(guān)系呢?首先研究L的特征:易知:OML。(N為L與OM的交點(diǎn))從而OAMA,MA為圓的一條切線,故直線L為過點(diǎn)M的圓的兩條切線的兩個(gè)切點(diǎn)所在的直線。事實(shí)上(另證),如圖1,設(shè)過點(diǎn)M的圓O的兩條切線為L1,L2,切點(diǎn)分別為A、B,則直線MA:,直線MB:.∵點(diǎn)M的坐標(biāo)滿足直線MA與MB的方程,∴,由此可見A、B的坐標(biāo)均滿足方程,由于兩點(diǎn)確定一條直線∴直線AB的方程為。所以此時(shí)的直線L是經(jīng)過點(diǎn)P的切點(diǎn)弦AB所在直線的方程,而不是圓O的切線?!咀ⅰ可鲜鳇c(diǎn)M、直線L實(shí)質(zhì)上是射影幾何中的極點(diǎn)和極線。特別的,當(dāng)M在圓上時(shí),極線即為切線。三、當(dāng)點(diǎn)M在圓O內(nèi)時(shí),1.直線L也不是圓O的切線。下面給出證明:∵圓心O到L的距離為,由在圓O內(nèi),得∴故直線L與圓O相離.2.此時(shí)直線L與圓的切線的關(guān)系又如何呢?首先研究L的特征:由上述探討過程易知,直線LOM,此外,L一定過點(diǎn)P(P為兩切線的交點(diǎn),ABOM),從而L就在圖2中過點(diǎn)P且與AB平行的位置處。事實(shí)上(另證),∵直線L的斜率,而直線OM的斜率,∴一方面,過點(diǎn)M與OM垂直的直線方程為即另一方面,將直線OM與L的方程聯(lián)立,得到它們的交點(diǎn)P的坐標(biāo)為,由(二)可知過點(diǎn)P的圓的切點(diǎn)弦所在直線的方程為,即,即為直線的方程。由此我們看到∥,直線L是由點(diǎn)M確定的。另外,直線L是過點(diǎn)M的弦(除O,M的弦)的兩個(gè)端點(diǎn)的圓的兩條切線的交點(diǎn)軌跡,證明如下:設(shè)由(二)可知動弦AB的方程為,又因?yàn)辄c(diǎn)M在AB上,則,以x,y分別代,則。

三年級下冊安全教育教學(xué)計(jì)劃、教學(xué)設(shè)計(jì)三年級下冊安全教育教學(xué)計(jì)劃、教學(xué)設(shè)計(jì)

/三年級下冊安全教育教學(xué)計(jì)劃、教學(xué)設(shè)計(jì)三年級下冊安全教育教案教學(xué)計(jì)劃小學(xué)生是祖國的花朵,祖國的希望和未來。但因小學(xué)生年齡偏小,自我保護(hù)的意識不夠強(qiáng),因而會受到一些安全方面的威脅。這就需要家長和老師在日常生活和學(xué)習(xí)中經(jīng)常灌輸安全的意識。安全教育工作關(guān)系到師生生命的安危,是學(xué)校開展正常教育、教學(xué)工作和社會穩(wěn)定的頭等大事,它的責(zé)任重于泰山,必須長抓不懈,時(shí)時(shí)警鐘長鳴。本學(xué)期,為切實(shí)搞好三年級安全教育教學(xué)工作,特制訂本計(jì)劃。一、指導(dǎo)思想以湖南省義務(wù)教育地方課程安全教育課程實(shí)施指導(dǎo)意見的指導(dǎo)思想為依據(jù),認(rèn)真貫徹落實(shí)各級教育安全工作的法律法規(guī)和會議精神,落實(shí)安全教育內(nèi)容,努力提高三年級學(xué)生的安全意識。二、教學(xué)內(nèi)容及目標(biāo):總目標(biāo)通過開展公共安全教育,培養(yǎng)學(xué)生的社會安全責(zé)任感,使學(xué)生逐步形成安全意識,掌握必要的安全行為的知識和技能,了解相關(guān)的法律法規(guī)常識,養(yǎng)成在日常生活和突發(fā)安全事件中正確應(yīng)對的習(xí)慣,最大限度地預(yù)防安全事故發(fā)生和減少安全事件對學(xué)生造成的傷害,保障學(xué)生健康成長。具體目標(biāo)(一)社會安全教育1.了解在公共場所活動時(shí)的安全常識,遵守公共規(guī)則,避免擾亂公共秩序行為的發(fā)生。2.認(rèn)識與陌生人交往中應(yīng)當(dāng)注意的問題,逐步形成基本的自我保護(hù)意識。3.了解社會安全類突發(fā)事故的危險(xiǎn)和危害,提高自我保護(hù)能力。引導(dǎo)學(xué)生形成基本的自我保護(hù)意識。(二)公共衛(wèi)生安全教育1.了解基本公共衛(wèi)生和飲食衛(wèi)生常識,逐步形成良好的公共衛(wèi)生和飲食衛(wèi)生習(xí)慣。2.了解本年齡段常見傳染病的預(yù)防常識,培養(yǎng)疾病預(yù)防意識。3.了解有關(guān)衛(wèi)生保健常識,養(yǎng)成良好的個(gè)人衛(wèi)生習(xí)慣。(三)意外傷害安全教育1.認(rèn)識常見的交通安全標(biāo)志,了解出行時(shí)道路交通安全常識,樹立遵守交通規(guī)則的意識。2.初步識別各種危險(xiǎn)標(biāo)志,了解簡單的居家安全常識,3.初步學(xué)會在事故災(zāi)害事件中緊急求助和自我保護(hù)的方法,學(xué)會正確使用和撥打110、119、120、122等電話。4.掌握正確的使用方法,初步具備使用電梯、索道、游樂設(shè)施等特種設(shè)備的安全意識。(四)自然災(zāi)害安全教育1.了解學(xué)校所在地區(qū)和生活環(huán)境中可能發(fā)生的自然災(zāi)害及其危險(xiǎn)性,逐步提高在自然災(zāi)害中的自我保護(hù)意識。2.學(xué)習(xí)躲避自然災(zāi)害引發(fā)危險(xiǎn)的簡單方法,初步學(xué)會在自然災(zāi)害發(fā)生時(shí)的自我保護(hù)和求助的簡單技能。(五)校園安全教育1.與同學(xué)友好相處,不打架;初步形成避免在活動、游戲中造成誤傷的意識。2.學(xué)會當(dāng)發(fā)生突發(fā)事件時(shí)聽從成人安排或者利用現(xiàn)有條件有效地保護(hù)自己的方法。三、實(shí)施措施1、在教學(xué)中,堅(jiān)持以人為本,著眼于全體學(xué)生的身心健康,安全發(fā)展。引導(dǎo)學(xué)生樹立“真愛生命,安全第一,遵紀(jì)守法,和諧共處”的意識,養(yǎng)成良好的安全行為習(xí)慣。2、深入挖掘?qū)W生已有的生活經(jīng)驗(yàn)和情感體驗(yàn),積極從生活實(shí)際和社會實(shí)際中尋找相關(guān)的教學(xué)素材。注重選取學(xué)生普遍關(guān)注和樂于交流的安全問題作為教學(xué)內(nèi)容。幫助學(xué)生掌握相關(guān)的安全知識和方法技能,并運(yùn)用到生活實(shí)際中去。3、充分利用多種途徑和方法,全方位多角度的開展安全教育。如運(yùn)用廣播、電視、計(jì)算機(jī)、網(wǎng)絡(luò)等現(xiàn)代教學(xué)手段增強(qiáng)安全教育效果;與當(dāng)?shù)毓?、消防、衛(wèi)生、交通等部門建立聯(lián)系,協(xié)助學(xué)校進(jìn)行安全教育。4、在教學(xué)中,引導(dǎo)學(xué)生主動探究,開展思考、討論、收集、辯論、防談、演習(xí)等多種活動,在合作學(xué)習(xí)和互動學(xué)習(xí)中發(fā)現(xiàn)問題,分析問題,在問題解決中,提高安全技能掌握安全知識豐富情感體驗(yàn)。5、通過開展豐富多彩的教學(xué)活動,幫助學(xué)生掌握必要的安全知識,注重培養(yǎng)學(xué)生預(yù)防和應(yīng)對安全事件和事故的能力,形成尊重生命、愛惜生命、健康向上的生活態(tài)度,全面落實(shí)課程目標(biāo)。第一課???同學(xué)相處防意外教學(xué)目標(biāo):1、引導(dǎo)學(xué)生懂得不避風(fēng)險(xiǎn)學(xué)相處要友愛謙讓,不相互打鬧,學(xué)會正確處理同學(xué)間的矛盾。2、初步形成避免在活動、游戲中贊成誤傷的意識,學(xué)會辨別具有危險(xiǎn)性的游戲。3、學(xué)會正確安排課間休息時(shí)間,課余時(shí)間做有意義的活動。教材分析:引言部分通過一段簡短的話,描述了同學(xué)相處的重要意義,并引出本課的主要任務(wù)在快樂的學(xué)習(xí)生活中、在同學(xué)相處中也存在著安全隱患。主體部分共設(shè)“和睦相處防意外”和“課間活動注意安全”兩個(gè)主題。教學(xué)過程:每天早晨,伴隨著燦爛的朝陽,傾聽著清脆的鳥叫,同學(xué)們背著書包,高高興興地來到校園,快快樂樂地學(xué)習(xí)知識、開展活動,多么幸福?。】墒?,你知道嗎?即使在美麗的校園內(nèi),我們也要注意安全,不能疏忽大意,要不就有可能發(fā)生一些意外傷害事故。因此,我們要讓安全的警鐘長鳴,請記住:“安全無小事”,處處要小心。同學(xué)們,這可不是危言聳聽哦。不相信嗎?那就趕快讀讀下面這個(gè)真實(shí)的故事吧?!竟适乱弧恳惶旆艑W(xué)后,某小學(xué)兩名學(xué)生小喬和小王在學(xué)校操場一起玩耍。小王把小喬當(dāng)作靶子,取出自制的小弓箭放上小木棍玩射擊游戲,玩得特別開心。可是,就在小王對小喬射第三箭時(shí),悲劇發(fā)生了!尖尖的小木棍飛快地往前飛去,一下?lián)糁辛诵痰挠已?,小喬捂著眼睛疼得在地上打滾,鮮血不停地從眼睛里流出來,小王嚇得目瞪口呆,趕緊去學(xué)校找老師。老師們趕來后,立刻把小喬送到了醫(yī)院,醫(yī)生竭盡全力進(jìn)行搶救治療??墒且?yàn)閭麆輫?yán)重,雖然花費(fèi)醫(yī)療費(fèi)6萬余元,小喬的那只眼睛始終沒有治好,幾乎看不見任何東西,造成了終生殘疾。同學(xué)們,讀了這個(gè)真實(shí)的故事,你的心里是不是沉甸甸的?只是因?yàn)橥瑢W(xué)之間的玩耍嬉戲,只是因?yàn)橐粫r(shí)的疏忽大意,竟然使小喬的眼睛一輩子都無法看見光明,竟然造成了終生殘疾,這真是太悲慘了!其實(shí),我們應(yīng)該知道,正是因?yàn)橥瑢W(xué)們擁有對危險(xiǎn)的模糊認(rèn)知能力、較差的防范意識、柔弱的體質(zhì)和脆弱的心理素質(zhì),才導(dǎo)致了這一類意外傷害的發(fā)生。因此,為了使自己和同學(xué)們能夠健康地、安全地快樂地學(xué)習(xí)、活動與生活,在校園內(nèi)活動時(shí),我們必須增強(qiáng)安全意識,時(shí)刻注意安全,了解一些在校內(nèi)活動時(shí)怎樣預(yù)防意外傷害的基本知識。一、什么叫校內(nèi)活動時(shí)的意外傷害???小學(xué)校內(nèi)活動致意外傷害事故,主要是指學(xué)生在?;顒訒r(shí),由于不可預(yù)見的原因或不可抵抗的力量而導(dǎo)致的人身傷害事故。二、校內(nèi)活動致意外傷害事故案例分析【案例二】2005年10月31日19點(diǎn)多鐘,某市某小學(xué)四年級的學(xué)生正在進(jìn)行晚自習(xí),老師在講臺上批改作業(yè)。19時(shí)50分左右,9歲的女生楊楊隔著過道撐著兩邊的課桌跳躍時(shí),不慎摔倒在地,頓時(shí)大哭起來。醫(yī)務(wù)室的醫(yī)生發(fā)現(xiàn)楊楊的兩顆牙齒被部分摔斷?!半m在醫(yī)院進(jìn)行了牙齒修補(bǔ)手術(shù),但這次意外對孩子未來生活可能造成的影響我們十分擔(dān)心?!睏顥畹膵寢屨f。同學(xué)們,這是一起偶然發(fā)生的普遍事故,可能在你的周圍也發(fā)生過類似的事故。楊楊在課間休息時(shí),自己隔著過道撐著兩邊的課桌跳躍時(shí),不慎摔

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論