




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
科學計算與模擬編程講稿一、平臺介紹在本平臺下學習計算與模擬編程,是按照中國數(shù)字教學工作室創(chuàng)立的獨特的學習方法和模式來進行的,與通常學院式的學習方式完全不同。這是每一個初學者必須清楚了解的,否則將事倍功半。本工作室創(chuàng)立的獨特的學習方法和模式有如下幾個要點:1. 從操作使用樣例入門,以樣例為模板進行修改或添加,為了保持原樣例文件完整無損,請使用復制后的樣例文件來做學習用的工作文件;2. 修改或添加的方法是參看輸出功能函數(shù)表或樣例文件,直接復制所需的程序段到當前使用的工作文件中,當你能熟練地成功實現(xiàn)20個樣例的修改或添加,你就會初步掌握獨立編程的技巧了;3. 右方參數(shù)及程序控制界面的設置直接在記事本文件controls 和WizSoft中輸寫漢字或數(shù)字,我們稱之為“加減法”,請記住“加減法”是學習本平臺的基本方法;4. step是本平臺自帶的當前時間,它代替了一個時間的循環(huán)運行,程序員還可以仿照 step自行定義或添加其他的自動循環(huán)變量如step1、t等等;5. 完成一個程序后,可重新命名并保存,再從樣例中選擇一個文件復制作為工作文件。在實際操作中請按如下步驟進行:1. 從樣例中選擇一個文件復制作為工作文件;2. 打開工作文件包,用鼠標雙擊WizSoft.dsw, 隨即進入VC+;3. 初學者對源程序絕對不能分散注意力,而只要專門關注繪制場景部分:/繪制場景void demoApp:RenderScene(int sceneIndex)*而其余部分可暫時不去理會它,這一點要切切記住!上面程序中大括號內(nèi)的內(nèi)容是我們必須學會的,一般來說它有四個部分: (1)變量定義;(2)變量賦值;(3)循環(huán)計算;(4)結果輸出。下面舉例說明(1)變量定義 Point3f p , q2,s100100; /定義三維的點、點組、平面網(wǎng)格點。Color4f color , color12, color2100100;/定義四維的顏色(紅、黃、藍、透明度) Orient direct; /定義方向() int i,j; /定義整型變量 float a, b, PI=3.1415926; /定義實型變量(2)變量賦值點的賦值 p= 0.0f, 0.0f, -60.0f; 或者 p.x=0.0f; p.y=0.0f; p.z=-60.0f;顏色的賦值 color = 1.0f, 0.7f, 0.8f, 1.0f; 或者color.r=1.0f; color.g=0.7f; color.b=0.8f; color.alpha=1.0f;方向的賦值 direct = 0.0f, 0.0f; 或者 direct.theta=0.0f; direct.pha=0.0f; /角度(3)循環(huán)計算for(i=0;i0) draw:Line(si-1,si,color2); / 畫軌跡glt:EnableLight();draw:Balls(1,p+int(step), X, 32, 32, color); /畫當前位置draw:Balls(1,q+int(step), X, 32, 32, color3); draw:Balls(1,s+int(step), X, 32, 32, color2);(4)結果輸出:請參看樣例或輸出函數(shù)表,并從中復制所選擇的函數(shù)到當前工作文件中。注意畫當前對象位置請在循環(huán)括號外輸出;畫軌跡請在循環(huán)內(nèi)輸出(見上(3)中的例子)。4. 選擇可調(diào)參數(shù)連接滑動條或設置控制鍵滑動條變量名為P_radius,P_omega ,V ,X = 4。如要增加,可自己取名,但要在程序最前面中定義。如:float M,H;并要在/初始化控件參數(shù)中補充初值void demoApp:InitializeParameters(int sceneIndex)P_radius =30;P_omega = 7;V = 5;X = 4; M=1;H=5;控件的設置請參考樣例。5. 運行程序及改錯寫完程序后按ctrl+F5或用鼠標點擊工作文件界面中的上方圖標 如有錯誤,可按下方提示修改,直至無錯出現(xiàn)。計算機是一個實踐的科學,要堅持經(jīng)常上機練習。編程技術是一個長期積累的過程,只要你能刻苦努力并能堅持不懈,功夫不負有心人,相信你一定能成為一位編程的高手!二、實例講解1.畫球-畫軌跡-拓展為天體運行畫球源程序:title0.Show(15.0f, 0.0f, 60.0f);Point3f c1; /定義球心Orient dir=0,0.1*P_omega*m_step,dir1=0,0; Color4f color=1,0.7,0.5,1,color1=0.,0.,0,0.5;c0.x=0; c0.y=0; c0.z=0;/球心賦值 glt:EnableLight(); glt:SetPolygonMode(GL_FILL); glt:BeginTransform(); glt:ZTransform(c0, dir, 0.0f); draw:Sphere(P_radius, color, 130, 132); glt:EndTransform(); /畫實心球 if(GetCheck(1) / 如果敲功能鍵1 glt:SetLineWidth(2); glt:SetPolygonMode(GL_LINE); glt:BeginTransform(); glt:ZTransform(c0, dir, 0.0f); draw:Sphere(P_radius+0.6, color1, 30, 12); glt:EndTransform(); 畫天體運行源程序title0.Show(20.0f, 0.0f, 60.0f);Point3f c1,p1000;int i;Orient dir=0,0; Color4f color=1,0.7,0.5,1,color1=0.,0.,0,0.5;c0.x=0; c0.y=0; c0.z=0; glt:EnableLight(); glt:SetPolygonMode(GL_FILL); glt:BeginTransform(); glt:ZTransform(c0, dir, 0.0f); draw:Sphere(12, color, 130, 132); glt:EndTransform(); glt:SetLineWidth(3); for(i=0;i0) draw:Line(pi-1,pi,color1); glt:BeginTransform(); glt:ZTransform(pint(m_step), dir, 0.0f); draw:Sphere(5, cWHITE, 30, 12); glt:EndTransform();2.畫曲面-拓展為波的干涉畫曲面源程序:float a ,b;b = 0.0005*P_radius; a= P_omega;Point3f ps200200;Color4f color=1,0.9,0.9,1;int i, j;for (i=0; i200; +i)for (j=0; j200; +j)psij.x = i * 0.5f;/ 代替半徑rpsij.y = 2 * PI * j / 199;/ 代替thetapsij.z = -20.0f +a*exp(-b*psij.x*psij.x);glt:EnableLight();draw:SurfaceC(200, 200, ps0, color); title.Show(30.0f, 0.0f, 60.0f);拓展點源波float a ,b;b = 0.01*P_radius; a= 0.1*P_omega;Point3f ps200200;Color4f color=1,0.9,0.9,1;int i, j;for (i=0; i200; +i)for (j=0; j200; +j)psij.x = i * 0.5f;/ 代替半徑rpsij.y = 2 * PI * j / 199;/ 代替thetapsij.z = -20.0f +a*sin(0.1*step-b*psij.x);glt:EnableLight();draw:SurfaceC(200, 200, ps0, color); title.Show(30.0f, 0.0f, 60.0f);3.畫曲線-拓展為偶極子的電場線點電荷組的場與勢分布模型(1)設計思路 已知電荷的分布求場強的分布,是電學中的基本問題,而依據(jù)點電荷分布作出電場線的分布圖或等勢線的分布圖是研究電學的基本重要技能。解決這一問題的要點有三:1)電場強度與電場線的關系 在平面上,某點電場強度的二個分量與電場線在該點的無窮小線元的二個分量成比例,即, 給任意一個參數(shù)則有于是 其中比例因子已包含在當中。2)實際計算中的選取 取,為常數(shù),其大小可依作圖的精度要求而定,是電場強度大小,取是因為場強大的地方偶極子的電場線較短。小的地方偶極子的電場線較長,可使從正電荷出發(fā)的電場線無論長短都能同時到達負電荷(有少數(shù)例外,利用對稱性或者添補法)。3)電場線疊代方程的初值確定 電場線的出發(fā)點及終止點分別是正電荷和負電荷,選取電場線疊代方程的初始值也應由正電荷及負電荷位置和電量大小來決定(見源程序)。至于等勢線的作圖,只需利用其與電場線垂直的條件便可得到,請讀者考慮畫等勢線的起點或初值應如何選取。實例1電偶極子的場與勢分布偶極子的等勢線圖 (1)數(shù)學建模先求勢 再求場 電場線的斜率方程為利用參數(shù)方程:選擇適當?shù)某踔担◤狞c電荷出發(fā),等角度選出發(fā)點)便可編程作出電場線的圖。(2)關于等勢線的起點選取電偶極子兩電荷連線上某處的電勢為求其增量并令它等于常數(shù),如1伏特,可求得于是從開始,每增加取一點,作為等勢線的起點。(3)參考源程序float EE,FF, A,B=100,I,x,y,z,a,d,t=0.12,S,r1,r2,dt,Ey,Ez,E,PI=3.1415926;static Point3f q2,q12,q22,q32,O3;Orient direction;int i,j,n;Color4f color200,color1;direction.phi=0;direction.theta=0; title.Show(90.0f, 0.0f, 50.0f);A=P_omega;S=P_radius;d=V;glt:DisableLight();glt:SetLineWidth(X/2);for(j=0;jint(4*A)+1;j+) I=2*PI*j/int(4*A); z=d+S*cos(I)/2; y=S*sin(I)/2; for(i=0;i0) draw:Line(q0,q1,colori);if(i=(2+int(d/10)draw:Arrow(q0,q1,5,7,color10); q0=q1; z+=Ez*dt; y+=Ey*dt; for(j=0;jint(4*A)+1;j+) I=2*PI*j/int(4*A); z=d+S*cos(I)/2; y=S*sin(I)/2;for(i=0;i0) draw:Line(q10,q11,colori);q10=q11;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國生豬養(yǎng)殖行業(yè)市場前景趨勢及競爭格局與投資研究報告
- 2025-2030年中國片式NTC熱敏電阻行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國熱熔前清洗劑行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 城市燃氣管道更新改造工程實施方案(模板范文)
- 城市內(nèi)澇治理項目實施方案(范文模板)
- 產(chǎn)教融合實訓基地建設項目可行性研究報告(參考模板)
- 科研單位質(zhì)控小組的職責與管理模式
- 2025年黃金瓜香精項目可行性研究報告
- 民辦M學院固定資產(chǎn)內(nèi)部控制優(yōu)化研究
- 基于深度學習的豬舍巡檢測溫機器人研究
- 《臨床免疫學檢測技術》課件
- 2024年河南鄭州航空港投資集團招聘真題
- 《芙蓉樓送辛漸》教學課件
- 2025-2030中國高拍儀行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 洗浴合同協(xié)議模板
- 綠化工考試試題及答案
- 醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范(153)培訓課件
- 四川宜賓環(huán)球集團有限公司招聘筆試真題2024
- 2025年北京市西城區(qū)高三一模物理試卷(含答案)
- 2025-2030全球及中國COB發(fā)光二極管行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 群眾文化知識試題及答案
評論
0/150
提交評論