3D 水墨動畫研製 劉啟東梁詠傑 許倫維 鄭景文 葉坤育 陳楷壬 朝陽科技大學資訊工程系 摘要 水墨文化在中國的文化有相當長久的歷史, 利用墨汁的濃淡以及毛筆的運用來描繪出對比極為強烈的圖, 使其產生不同的渲染效果 我們利用 opengl(open Gra
|
|
|
- 律 刘
- 7 years ago
- Views:
Transcription
1 朝陽科技大學 資訊工程系 專題成果報告 3D 水墨動畫研製 指導教授 : 劉啟東專題組員 : 梁詠傑 ( ) 許倫維 ( ) 鄭景文 ( ) 葉坤育 ( ) 陳楷壬 ( ) 中華民國一零一年一月
2 3D 水墨動畫研製 劉啟東梁詠傑 許倫維 鄭景文 葉坤育 陳楷壬 朝陽科技大學資訊工程系 摘要 水墨文化在中國的文化有相當長久的歷史, 利用墨汁的濃淡以及毛筆的運用來描繪出對比極為強烈的圖, 使其產生不同的渲染效果 我們利用 opengl(open Graphics Library) 寫一個繪圖程式, 利用程式的計算來使畫面產生模擬水墨的黑白效果, 並將儲存的檔案放置於 blender 的遊戲引擎 (blender game engine) 內來及時改變物件的紋理效果, 以達到我們實作動態貼圖 (Dynamic mapping) 的功能 遊戲引擎內再利用 python script 來控制物件的移動以及切換視角 接著使用 Blender 設計一段動畫, 從一開始的草稿到最後的分鏡圖, 紋理的部分改使用 Gimp 來繪製水墨效果, 藉此來觀察兩種不同方式的水墨效果 Abstract Ink culture in the Chinese culture has very long history. The use of ink and brush the use of shading to depict the contrast is very strong figure, to produce differentrenderings.we use open GL (Open Graphics Library) to write a drawing program, calculated using the program to make the picture black and white ink simulation results produced and save the file placed in the blender game engine (blender game engine) to make changes in an objectwithin the texture effect, we have implemented to achieve the dynamic map (Dynamic mapping) functionre-use within the game engine python script to control the movement of objects and switch perspective. Then design an animation using Blender, from the beginning to the final draft of the sub-mirror map, change the texture of some of the effect using Gimp to draw the ink, thereby to observe the effect of ink in two different ways
3 專題簡介首先使用 OpenGL 所製作的繪圖程式將圖片的水墨效果呈現出來, 再進行動態貼圖及時改變魚的紋理貼圖效果, 並將此功能應用在動畫上, 以便觀察水墨貼圖的效果 遊戲引擎內有三項主要功能 :1. 控制魚的游動方向 2. 切換多種不同的視角來觀察 3. 即時動態貼圖 分為兩大結構 : 1. 動畫部分 : 首先利用 Blender 設計動畫, 從基本的草稿 故事內容再到分鏡圖, 建構完整的動畫場景, 將物件改為 UV 模式輸出成 tga 檔, 再使用 Gimp 繪製物件紋理, 再利用 Blender 的 UV 貼圖把物件的水墨效果呈現出來, 製作成 3-5 分鐘左右的動畫影片 目的在於觀察使用 Gimp 時, 水墨效果是否符合預期 2. 遊戲引擎 : 從 Blender 設計好的場景, 加入 Python Script 來控制物件 ( 魚 ) 的移動 視角的切換 即時切換魚的紋理貼圖 ( 動態貼圖 ) 接著用 OpenGL 寫一個模擬水墨渲染的程式, 將繪製好的多張圖片載入到 Game engine 內, 以便達到動態貼圖功能, 並觀察水墨效果 - 5 -
4 1. 系統架構流程圖 設定主題 : 3D 水墨動畫研製 設計動畫草稿 分為兩 種主題 利用建立好的場景 來製作動態貼圖 建立分鏡圖 使用 python 控制 物件並切換視角 按照分鏡圖設 計場景 使用 OpenGL 製作 水墨模擬繪圖程式 使用 Gimp 來繪製紋理效果 繪製物件 紋理效果 將紋理貼至 物件上 載入至動態貼 圖內 否 觀察水 墨效果 觀察水 墨效果 否 是 輸出為影片檔 是 輸出為 EXE 檔 完成 圖
5 2. 系統功能方法 2.1 使用 OpenGL 實作模擬水墨程式 OpenGL 水墨模擬流程圖 設定目標 : OpenGL 水墨模擬 程式 建立程式框架 載入貼圖的 UVmap 檔 成功 失敗 利用程式計算 模擬水墨效果 兩種方法模 擬水墨效果 使用論文的演算 法模擬水墨效果 繪製圖片 繪製圖片 觀察水 墨效果 否 否 觀察水 墨效果 是 重新儲存繪 製完成的圖 是 圖 完成 - 7 -
6 此小節將說明 OpenGL 實做過程 首先我們在做水墨渲染時, 原先採用的方法是參考論文 [1] 所提供的演算法, 使用 OpenGL[2] 以及 NVIDIA Cg[3] 語言寫成, 模擬水的流動以及在紙張上的變化, 藉由水流變化來達到模擬水墨的效果 後來因為此演算法難度太高, 因此將模擬水墨部分修正成, 利用程式的計算來改變筆觸在紙張上的變化 步驟 1. 環境建置步驟 2. 載入 UVmap 檔步驟 3. 模擬水墨效果步驟 4. 重新儲存繪製完成的圖片 引入標頭檔 配置程式基本框架 繪圖區 控制區 主程式區 [4] 首先載入 BMP 檔, 並將圖檔設定為 RGBA,Alpha 值設為 0.5, 讓圖片有半透明遮罩的效果 1. 先替陣列配置記憶體, 設定 [RGBA] 分量值為 [ ] 圖案會畫在配置的記憶體內, 並不影響載入的圖檔 2. 將滑鼠指向此記憶體, 並在移動時重複增加 RGB 三個分量 將畫圖用的記憶體內的圖片資料回存成 BMP 檔 表 圖 2.1.2: 使用 OpenGL 模擬繪製效果 - 8 -
7 2.1.1 部分程式碼說明 : float * texture01() float * ptr = (float *)malloc(m_texheight * m_texwidth * 4 * sizeof(float)); GLuint i,j; float * reg = ptr; for( i = 0; i < m_texheight; i++) for( j = 0; j < m_texwidth; j++) *reg++ = 0.0f; *reg++ = 0.0f; *reg++ = 0.0f; *reg++ = 1.0f; return ptr; 配置空白記憶體大小為高 * 寬 *4, 圖片型別設為 RGBA 因此有 4 個分量這部分為配置一塊空白記憶體, 目的在於寫入畫圖時的資料 圖 2.1.3: 模擬效果 - 9 -
8 void MotionMouse(int x, int y) int a=4; y= m_texheight - y; int x0 = x - a; int y0 = y + a; int x1 = x + a; int y1 = y - a; if( x0 < 0) x0 = 0; if( y0 >= m_texheight) y0 = m_texheight-1; if( x1 >= m_texwidth) x1 = m_texwidth-1; if( y1 < 0) y1 = 0; for( y = y1; y <= y0; ++y) for(x = x0 ; x <= x1; ++x) one_texbuffer[y*m_texwidth*4+x*4] += 0.05; one_texbuffer[y*m_texwidth*4+x*4+1] += 0.05; one_texbuffer[y*m_texwidth*4+x*4+2] += 0.05; glutpostredisplay(); 這段是在做筆觸的疊加, 因為滑鼠座標只有一個點那樣太小了看不清楚, 所以從滑鼠的位置為中心在一個 4x4 的範圍做顏色變深 (RGB 各 + 0.1) 的處理, 滑鼠移動慢的話就會在同一個位置反覆的增加那就會變得比較清楚
9 2.2 使用 blender 製作動畫 Blender 動畫流程圖 設定目標 : Blender 水墨動畫 設計動畫 故事架構 繪畫故事版 動畫分鏡圖 建立 3D 模組 設計模組動作 否 觀察動 畫結果 是 利用 Gimp 製作水墨紋理 否 貼上水墨紋 理觀察效果 是 依照分鏡圖運鏡拍攝 圖 輸出影片
10 首先我們討論故事版, 挑選主角場景, 因為在水墨畫中最常看到竹子 魚 荷葉 蓮花這幾種東西, 所以我們選擇這幾種東西將它製作成水墨動畫 在模型完成後, 最重要的步驟是將主角接上骨架, 將魚接上骨架的過程中, 要照著魚的身型放入數根的骨架如圖 [2.2.2], 這樣才不會造成製作魚的擺動時, 身體產生奇怪的扭曲變形 場景及主角擺設好後, 開始製作魚的擺動如圖 [2.2.3], 製作過程中參考了許多網路影片魚的游動, 觀察許多胸鰭 腹鰭 尾鰭及頭的擺動後, 最後製作出優游的金魚擺動 所有模組的動作都已設定好, 接下來就是將模組加上水墨紋理, 使模組產生水墨的效果, 首先利用 Blender[5] 輸出模組的 UV face 如圖 [2.2.4], 使用 Gimp 繪圖軟體, 讓模組的 UV face 成底圖方便描繪, 利用 Gimp 淡出的功能使貼圖更具水墨的效果, 繪製好水墨紋理如圖 [2.2.5], 將紋理貼至模組, 這部份算是最難的部分 繪製好的水墨紋理與貼上模組後感覺, 具有相大的差別, 所以必須一直繪畫紋理貼上找出最符合水墨的紋理, 完成水墨紋理後如圖 [2.2.6], 接下來根據先前討論好的故事版, 將背景與竹子 荷葉 等等, 模組放置於故事版設定的位置, 並讓主角跟著故事版的流程移動, 接著在將故事版細化成分鏡圖, 來控制 blender 的鏡頭如圖 [2.2.7] 的移動讓拍攝的畫面有重點, 鏡頭的拍攝主要分為整個場景 魚 蓮花 竹子 的特寫, 還有整個主角魚擺動的方式 圖 2.2.2: 放置魚的骨架
11 圖 : 製作骨架的擺動並記錄下座標 圖 2.2.4:UV face 圖 2.2.5: 水墨紋理 圖 2.2.6: 貼圖水墨效果 圖 2.2.7: 鏡頭畫面
12 2.3 使用 Blender game engine 實作基本控制 Game Engine 架構流程圖設定主題 : Blender Game Engine 將動畫組設計好 的場景加入 PythonScript 將魚本身的 擺動做出來 加入視角 切換功能 加入動態 貼圖功能 設計魚在場景 內的移動控制 否 執行後觀察 控制效果 是 輸出為 EXE 檔 圖 完成
13 首先說明 blender 是個甚麼樣的軟體, 它是一套三維繪圖及渲染軟體 它具有跨平台的特性, 支持 FreeBSD,IRIX,GNU/Linux,Microsoft Windows,Mac OS X,Solaris Blender 的安裝後所佔空間很少以及可以運行於不同的平台 雖然它經常不連說明文檔或範例發佈, 但其擁有極豐富的功能 他的特色以及功能有 : 1. 支持不同的幾何圖元, 包括多邊形網紋, 快速表層塑模, 曲線及向量字元 2. 多用途的內部洵染及整合 YafRay 這個開源的射線追蹤套件 3. 動畫工具, 包括了反向動作組件, 可設定骨幹, 結構變形, 關鍵影格, 時間線, 非線性動畫, 系統規定參數, 頂點量重及柔化動量組件, 包括網孔碰撞偵察和一個具有偵察碰撞的粒子系統 4. 使用 Python[6] 語言來創作及製作遊戲及工作自動化腳本 5. 基本的非線性影像編輯及製作功能 6. Game Blender, 一個子計劃, 用以製作實時的電腦遊戲 功能 : 1. 在 Blender 中, 物體與數據是分離的, 這使其可以快速塑模 2. 所有場景, 物件, 材料, 材質, 聲音, 圖片, 後期製作特效均可整合至最後生成的.blend 動畫檔裡 3. 可透過.blend 檔案來自訂使用者介面 視角切換功能 : 動態貼圖 : 魚的控制 : 先在 Blender 內架設多台攝影機, 然後用 Python 程式分別切換各個攝影機 須要先載入兩個 ( 或多個 ) 紋理貼圖, 之後再用 Python 寫出切換貼圖的功能 mat = VideoTexture.materialID(obj, 'IMgfish.bmp') 此函式是指向你所需要載入的圖片先在 logic 的地方設定方向鍵功能, 接著再指向你所寫的 python 讓他會照你所寫的方式移動 表
14 2.3.1 動態貼圖程式碼說明 (Python Script): import GameLogic as logic // 載入邏輯函數 import GameKeys as events // 載入鍵盤控制 import VideoTexture // 載入影像紋理 co = logic.getcurrentcontroller() obj = co.owner a=0 sensor = co.sensors["keyboard"] keylist = sensor.events for key in keylist: if key[1] == GameLogic.KX_INPUT_JUST_ACTIVATED: if key[0] == events.rkey: // 按 R 鍵切換為 A 圖 a=1 if key[0] == events.tkey: // 按 T 鍵切換為 B 圖 a=0 if not 'texture' in obj: mat=videotexture.materialid(obj,"ma"+'texture') // 載入指定圖檔 obj['texture'] = VideoTexture.Texture(obj, mat) obj['file'] = 'gfish.bmp' obj['changed'] = 0 else: if obj['changed']: path = logic.expandpath('//'+obj['file']) obj.texture.source = VideoTexture.ImageFFmpeg(path) obj['changed'] = 0 obj.texture.refresh(true) if a == 1: obj['file'] = 'ink.bmp' // 載入 A 圖,ink.bmp obj['changed'] = 1 elif a == 0: obj['file']='gfish.bmp' // 載入 B 圖,gfish.bmp obj['changed'] = 1 利用此程式碼達到動態貼圖功能 (Dynamic maps), 如圖 [2.3.2] 和圖 [2.3.3] 藉由 Game engine 的 Python Script 來完成, 目的在於可以即時繪製各種不同的紋理, 在馬上貼圖到魚的物件上面, 以此來觀察各種不同紋理所呈現的效果
15 圖 2.3.2: 按 R 切換成此圖片 圖 2.3.3: 按 T 切換成此圖片
16 2.3.2 魚的控制 : 首先分別設定所需要控制的按鍵, 在連接到邏輯控制部分, 這裡我們只需要用到基本的 AND 就好, 最後連接到你設定好的動作 W: 向前 A: 向後 S: 向左 D: 向右 Q E: 分別為向上及向下移動 圖 2.3.4: 控制設定圖 鍵盤設定邏輯控制執行動作 圖 2.3.5: 簡單說明控制設定 執行動作的部分須要先設定骨架, 首先設定好各部位骨架名稱, 再慢慢調整所需要的動作, 讓邏輯控制連接過來時可以依照設定好的動作移動 圖 2.3.6: 骨架動作編輯
17 3. 結果與討論 關於我們這次做的專題, 許多地方與一開始的設定目標有落差, 在我們實做以後才發現, 按照既定目標下去做的話, 有許多要克服的困難點 例如 OpenGL 水墨渲染的部分, 原先是需要使用論文所提供的演算法 [1] 來做水墨的效果, 但是他是先計算水在紙張上的流動變化, 再利用許多方程式將之修改為演算法, 我們在演算法的實做上遇到許多難題 接著動畫部分, 物件模組都是網路尋找居多, 只是在轉變成讓 Blender 使用時結構都會跑掉, 需要自己再重新修改架構 再來我們對鏡頭運鏡, 動畫場景等基本技巧都不夠熟練, 在檢視成品時發現有許多地方都有些粗糙 而且在做 UV 貼圖時, 預定是用 OpenGL 來繪圖, 由於效果太差於是決定改用 Gimp 來繪製圖片 最後 Game Engine 的部分並無太大問題, 過程中遇到的難點是在製作魚的擺動, 在控制魚左轉時魚頭要往另一邊方向跟著擺動, 這部分需要把原本製作的架構重新修改過, 魚的骨幹需要做編號及命名, 讓他在擺動過程時, 每個節點的地方都會有小幅度的變化, 可是這個部分的效果最終還是沒有完成 4. 結論 這次的專題所致做出來的成果跟我們原先預定的目標有落差, 水墨這個主題我們並沒有把它完整呈現出來, 主要的核心部分在 OpenGL, 一開始是要呈現他的擬真性, 可是演算法的難度比想像中的高, 因此只好改變目標將重點放在水墨動畫的呈現上, 但是我們在之後還是會繼續修改, 希望能達成我們原先所期望的效果出來 在實做過程中所遇到的難題我們也有一一請教劉啟東老師, 老師也不吝嗇的告訴我們許多問題點, 也幫我們尋找了許多相關資料, 雖然成果並不是令他很滿意, 但是過程中我們也學到了許多東西, 學習如何把一個問題拆開來變成許多小問題, 接著大家分工將他完成在合併
18 OpenGL 程式碼附件 : //#include <GL/glew.h> // 用 glew 開啟 OpenGL 延伸模式參考 #include <GL/glut.h> #include <math.h> #include <malloc.h> #include <stdlib.h> #include <string.h> #include <windows.h> #include <wingdi.h> #include <stdio.h> char BMP_Header[54]; #define BMP_Header_Length 54 void WindowSize(int, int ); void Keyboard(unsigned char, int, int ); void MotionMouse(int,int ); void Display(void); void grab(void); void SetMaterial(void); void texture(void); // 負責視窗及繪圖內容的比例 // 獲取鍵盤輸入 // 獲取滑鼠按下期間的訊息 // 設定材質屬性 // 處理材質貼圖的相關指令 unsigned char *LoadBitmapFile(char *, BITMAPINFO *); // 用來讀取 BMP 圖檔 unsigned char *hbmp; /////////////// // 宣告全域變數 GLuint m_texid[2] = 0,1; GLuint m_texwidth = 256; GLuint m_texheight = 256; float * one_texbuffer ; unsigned char * two_texbuffer ; unsigned char *bottomup_pixel; unsigned char *image; bool DisplayUV = true; // 材質編號 // 設定材質的寬度 // 設定材質的高度 // 材質陣列的指標 // 材質陣列的指標 // 得到圖案, 能直接讓 OpenGL 使用的資料
19 void QUADS(void) glbegin(gl_quads); gltexcoord2f(0,0); glvertex2f(0,0); gltexcoord2f(1,0); glvertex2f(256,0); gltexcoord2f(1,1); glvertex2f(256,256); gltexcoord2f(0,1); glvertex2f(0,256); glend(); // 繪製畫面 void Display(void) glclearcolor(1.0, 0.0, 0.0, 1.0); // 背景顏色 glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glviewport(0,0,m_texwidth,m_texheight); glloadidentity(); glenable(gl_texture_2d); glbindtexture(gl_texture_2d, m_texid[0]); glteximage2d(gl_texture_2d, 0, 4, m_texwidth, m_texheight, 0, GL_RGBA, GL_FLOAT, one_texbuffer); QUADS(); if (DisplayUV) glbindtexture(gl_texture_2d, m_texid[1]); glteximage2d(gl_texture_2d, 0, 0, m_texwidth, m_texheight,0, GL_RGBA, GL_UNSIGNED_BYTE, two_texbuffer); QUADS(); glutswapbuffers();
20 // 處理螢幕尺寸變更 void ChangeSize(GLsizei w, GLsizei h) glmatrixmode(gl_projection); glloadidentity(); gluortho2d(0,256,0,256); // 參數代表 ( 左下角 x 座標, 右上角 x 座標, 左下角 y 座標, 右上角 y 座標 ) glmatrixmode(gl_modelview); glloadidentity(); float * texture01() // 替陣列配置記憶體大小是相當於 float m_texbuffer[m_height][m_width][4]; float * ptr = (float *)malloc(m_texheight * m_texwidth * 4 * sizeof(float)); // 歸零 GLuint i,j; float * reg = ptr; for( i = 0; i < m_texheight; i++) for( j = 0; j < m_texwidth; j++) *reg++ = 0.0f; *reg++ = 0.0f; *reg++ = 0.0f; *reg++ = 1.0f; return ptr;
21 void SetupRC(void) one_texbuffer = texture01(); glenable(gl_texture_2d); // 宣告一個材質 glgentextures(2, m_texid); glbindtexture( GL_TEXTURE_2D, m_texid[0]); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_CLAMP); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_CLAMP); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glteximage2d(gl_texture_2d, 0, 4, m_texwidth, m_texheight, 0, GL_RGBA, GL_FLOAT, one_texbuffer); void MotionMouse(int x, int y) int a=4; y= m_texheight - y; int x0 = x - a; int y0 = y + a; int x1 = x + a; int y1 = y - a; if( x0 < 0) x0 = 0; if( y0 >= m_texheight) y0 = m_texheight-1; if( x1 >= m_texwidth) x1 = m_texwidth-1; if( y1 < 0) y1 = 0;
22 for( y = y1; y <= y0; ++y) for(x = x0 ; x <= x1; ++x) one_texbuffer[y*m_texwidth*4+x*4] += 0.1; one_texbuffer[y*m_texwidth*4+x*4+1] += 0.1; one_texbuffer[y*m_texwidth*4+x*4+2] += 0.1; glutpostredisplay(); void SetMaterial() float material_ambient[] = 0.2, 0.2, 0.2, 1.0; float material_diffuse[] = 0.3, 0.3, 0.3, 1.0; float material_specular[] = 0.2, 0.2, 0.2, 1.0; glmaterialfv( GL_FRONT, GL_AMBIENT, material_ambient); glmaterialfv( GL_FRONT, GL_DIFFUSE, material_diffuse); glmaterialfv( GL_FRONT, GL_SPECULAR, material_specular); void texture(void) BITMAPINFO bmpinfo; // 用來存放 HEADER 資訊 image = LoadBitmapFile("gfish.bmp", &bmpinfo); m_texwidth = bmpinfo.bmiheader.biwidth; m_texheight = bmpinfo.bmiheader.biheight; glbindtexture( GL_TEXTURE_2D, m_texid[1]); glteximage2d(gl_texture_2d,0,4,m_texwidth,m_texheight,0,gl_rgba,gl _UNSIGNED_BYTE,two_TexBuffer); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_CLAMP); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_CLAMP); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER,
23 GL_NEAREST); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_NEAREST); unsigned char *LoadBitmapFile(char *filename, BITMAPINFO *bitmapinfo) FILE *fp; BITMAPFILEHEADER bitmapfileheader; // Bitmap file header unsigned char *bitmapimage; // Bitmap image data unsigned int linfosize; // Size of information unsigned int lbitsize; // Size of bitmap unsigned char *ptr; int pixel; int p=0; fp = fopen(filename, "rb"); fread(&bitmapfileheader, sizeof(bitmapfileheader), 1, fp); 取 bitmap header // 讀 linfosize = bitmapfileheader.bfoffbits - sizeof(bitmapfileheader); //Info 的 size fread(bitmapinfo, linfosize, 1, fp); pixel = (bitmapinfo->bmiheader.biwidth)*(bitmapinfo->bmiheader.biheight); lbitsize = pixel*3; bitmapimage = new BYTE[lBitSize]; fread(bitmapimage, 1, lbitsize, fp); // 讀取影像檔 fclose(fp); // 此時傳回 bitmapimage 的話, 顏色會是 BGR 順序, 下面迴圈會改順序為 RGB two_texbuffer = (unsigned char *)malloc(pixel * 4 * sizeof(char)); ptr = two_texbuffer;
24 for( int i=0 ; i<pixel ; i++, p+=3 ) *ptr++ = bitmapimage[p+2]; *ptr++ = bitmapimage[p+1]; *ptr++ = bitmapimage[p]; *ptr++ = 128; delete[] bitmapimage; return two_texbuffer; void Init() glenable(gl_blend); glblendfunc(gl_src_alpha, GL_ONE_MINUS_SRC_ALPHA); void MyKey(unsigned char key, int x, int y) if (key == ' ') // 按空白鍵來開關 load 進來的 BMP 檔 DisplayUV =!DisplayUV; glutpostredisplay(); if(key=='a') grab(); exit(0); // 按 a 把畫面上的圖案儲存成 BMP 檔
25 void grab(void) FILE* poriginfile = fopen("gfish.bmp", "rb"); // 設定並打開兩個 bmp 檔 FILE* pgrabfile = fopen("grab.bmp", "wb"); FILE* pdummyfile; FILE* pwritingfile; GLubyte* ppixeldata; GLubyte BMP_Header[BMP_Header_Length]; GLint i, j; GLint PixelDataLength; i = m_texwidth * 3; // 計算 PixelData while( i%4!= 0 ) ++i; PixelDataLength = i * m_texheight; // 配置記憶體 ppixeldata = (GLubyte*)malloc(PixelDataLength); if( ppixeldata == 0 ) exit(0); pdummyfile = fopen("gfish.bmp", "rb"); if( pdummyfile == 0 ) exit(0); pwritingfile = fopen("grab.bmp", "wb"); if( pwritingfile == 0 ) exit(0); // 讀取 PixelData glpixelstorei(gl_unpack_alignment, 4); glreadpixels(0, 0, m_texwidth, m_texheight, GL_BGR_EXT, GL_UNSIGNED_BYTE, ppixeldata);
26 // 把 dummy.bmp 的標頭檔複製到新檔案 fread(bmp_header, sizeof(bmp_header), 1, pdummyfile); fwrite(bmp_header, sizeof(bmp_header), 1, pwritingfile); fseek(pwritingfile, 0x0012, SEEK_SET); i = m_texwidth; j = m_texheight; fwrite(&i, sizeof(i), 1, pwritingfile); fwrite(&j, sizeof(j), 1, pwritingfile); // 寫入 PixelData fseek(pwritingfile, 0, SEEK_END); fwrite(ppixeldata, PixelDataLength, 1, pwritingfile); fclose(pdummyfile); fclose(pwritingfile); free(ppixeldata); int main(int argc, char* argv[]) glutinitdisplaymode(glut_double GLUT_RGBA GLUT_DEPTH); glutcreatewindow(" 水墨筆觸 "); glutdisplayfunc(display); // 設定處理繪製的函數 glutreshapefunc(changesize); // 設定處理視窗尺寸變更的函數 glutmotionfunc(motionmouse); glutkeyboardfunc(mykey); SetMaterial(); glutreshapewindow(m_texwidth, m_texheight); // 要求將視窗尺寸切換到 256 x 256 Init(); SetupRC(); texture(); glutmainloop(); return 0;
27 參考文獻 [1] CHU SIU HANG Making Digital Painting Organic, August 2007, Hong Kong [2] OpenGL 3.3 Reference Pages [3] The Cg tutorial [4] OpenGL 超級寶典 ( 簡 ) 人民郵電出版社譯 [5] Blender [6] Python [7] 陳鐘誠的網站 [8] 阿杰老師 [9] 中文教學網站 [10] Iwantpass 中文教學網站
C/C++ - 文件IO
C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;
CC213
: (Ken-Yi Lee), E-mail: [email protected] 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++
高级计算机图形学
高级计算机图形学 讲授 : 董兰芳研究方向 : 科学计算可视化图形 图像处理模式识别 Telephone:0551-3603484 Email:[email protected] Homepage: http://staff.ustc.edu.cn/~lfdong 中国科学技术大学视觉计算与可视化实验室 1 第四章几何对象和变换 (3)( 4.9 变换的级联 4.10 OpenGL 变换矩阵 4.11
The golden pins of the PCI card can be oxidized after months or years
Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/
輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4
JAVA Extension 0..\Example\Ch0\ \ T.html..\Example\Ch0\ \ T.txt T.txt..\Example\Ch0\ \ T_Ok.html 提示 :. Marquee Marquee Font Color #FFFFFF BG Color #867bf Width 90 Height 50. T.txt Ctrl+C your scrolling
46 2011 11 467 數位遊戲式學習系統 7 2011 11 467 47 3 DBGameSys 48 2011 11 467 正規化資料模組 如何配置並儲存電子化資料 以 便減少資料被重覆儲存的程序 DBGameSys的主要功能模組包 學習者 審核評分模組 含 正規化資料模組 審核評分 模組 高分列表模組3大區塊 系統資料庫 在正規化資料模組的執行 高分列表模組 過程中 先要求學習者瀏覽遊戲
投影片 1
軟體說明書繁體中文 RGB A 目錄 - CONTENTS 01 09 15 17 22 軟體主介面 巨集設定說明 主介面概觀 個人設定檔 (Profiles) 一般模式 / 遊戲模式 按鍵功能分配 巨集管理器概觀 巨集管理器 巨集錄製設定 巨集錄製時間列表 插入指令 閃移系統 - I.S.S (Instant Shift System) 燈光設定更新韌體 閃移系統啟動鈕設定說明 燈光設定介面 介面區域一
高级计算机图形学
高级计算机图形学 讲授 : 董兰芳研究方向 : 科学计算可视化图形 图像处理模式识别 Telephone:0551-3603484 Email:[email protected] Homepage: http://staff.ustc.edu.cn/~lfdong 中国科学技术大学视觉计算与可视化实验室 1 第四章几何对象和变换 (3)( 4.5 OpenGL 中的标架 4.6 建模一个彩色立方体
PowerPoint 簡報
Paint 繪圖板 JAVA 程式設計 指導老師 : 鄞宗賢 組員 : 4A3G0901 劉彥佐 4A3G0907 韓偉志 畫面預覽 匯入參數 package paint; import java.awt.*; import java.awt.event.*; import javax.swing.*; 主程式 public class paint{ public static void main(string[]
Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136
漸層填色與圖樣填色 08 8-1 漸層填色 8-2 漸層填色編輯 8-3 油漆桶填色 8-4 編輯圖樣 Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 8-1 8-2 8-3 8-4 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop 8-1-1 Photoshop 8 136 漸層填色與圖樣填色 漸層填色
C 1
C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=
Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2
Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790
FY.DOC
高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主
C++ 程式設計
C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004
C
C 14 2017 5 31 1. 2. 3. 4. 5. 2/101 C 1. ( ) 4/101 C C ASCII ASCII ASCII 5/101 C 10000 00100111 00010000 ASCII 10000 31H 30H 30H 30H 30H 1 0 0 0 0 0 ASCII 6/101 C 7/101 C ( ) ( ) 8/101 C UNIX ANSI C 9/101
投影片 1
資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection
新・明解C言語入門編『索引』
!... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177
epub 33-8
8 1) 2) 3) A S C I I 4 C I / O I / 8.1 8.1.1 1. ANSI C F I L E s t d i o. h typedef struct i n t _ f d ; i n t _ c l e f t ; i n t _ m o d e ; c h a r *_ n e x t ; char *_buff; /* /* /* /* /* 1 5 4 C FILE
Microsoft Word - ACL chapter02-5ed.docx
第 2 章神奇的質數 2.1.1 什麼是質數 1 1 1 打下好基礎 - 程式設計必修的數學思維與邏輯訓練 1 1 0 10 2 3 5 7 4 6 8 9 10 4 10000 1229 1000 168 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131
主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new
ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,
1
守大學電機系 電腦視覺 報告 單元一 數位影像 : 格式和操作 參考解答 MIAT( 機器智慧與自動化技術 ) 實驗室 中華民國 93 年 9 月 29 日 1. (a) 如果指紋影像 finger300x300 的取像面積是 14(mm)x14(mm), 請計算取像系統的 dpi (b) 如果 kaoshiung512x512 遙測影像的覆蓋面積是 5(Km)x5(Km), 請計算該影像的解析度
* 2
* 2 1. A 3. A 2. B A. 1. 1 2. 1 3 4 4 6 p 123456 7 bk bl bm bn 7 bo cm 9 8 cl ck bt bs br bp bq 1 2 3 4 5 6 7 8 9 bk bl bm 0 bn bo bp bq br bs bt p ck 8 2 4 6 cl cm cq cp co cn cn co cp cq 10 . [8]
Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp
01 1.6 Spyder Anaconda Spyder Python Spyder Python Spyder Spyder 1.6.1 Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Spyder Python File
untitled
1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;
Microsoft PowerPoint - Class5.pptx
C++ 程式初探 V 2015 暑期 ver. 1.0.1 C++ 程式語言 大綱 1. 大量檔案讀取 & 計算 2. 指標 3. 動態記憶體 & 動態陣列 4. 標準函式庫 (STL) vector, algorithm 5. 結構與類別 2 大量檔案讀取 & 計算 若目前有一個程式將讀取純文字文件 (.txt) 中的整數, 並將該文件中的整數有小到大排序後, 儲存到另外一個新的純文字件中 假設有
C/C++程序设计 - 字符串与格式化输入/输出
C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int
mvc
Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication
1. SDK 概述 Arcsoft Photo Styling SDK 可以将输入图像转化为具有指定风格的图像 图像风格主要是指色调 笔触 线条等图像的特异性表现形式 存储某一艺术图像风格模板的文件将按需要发布给 SDK 使用者 借助 SDK 和风格模板文件, 用户可以开发图像风格化等图像美化类应用
Arcsoft Photo Styling SDK 开发文档 目录 Arcsoft Photo Styling SDK 开发文档... 1 1. SDK 概述... 2 2. SDK 运行环境及相关指标... 2 2.1 运行环境... 2 2.2 运行指标... 3 3. API 说明... 3 3.1 函数... 3 APS_FSDK_Get_Version... 3 APS_FSDK_InitEngine...
新版 明解C++入門編
511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,
Microsoft Word - LP doc
第七組顯示卡規範書及答標單 1. Nvidia 繪圖晶片 1-1. 1-1-1. 繪圖晶片 : GeForce 8400 系列 ( 含 ) 以上 ( 請註明採用商品之廠牌及型號, 並於型錄標示對 應到主要規格之項次 ) GeForce 1-1-2. 繪圖介面 : 支援 PCI Express 介面 16X( 含 ) 以上高速繪圖晶片 8400 低階顯 1-1-3. 提供 512MB DDR2 SDRAM(
電腦設備LP _第七組顯示卡規範書
第七組顯示卡規範書 1. Nvidia 繪圖晶片 1-1. 1-1-1. 繪圖晶片 : GeForce 210 系列 ( 含 ) 以上 ( 請註明採用商品之廠牌及型號, 並於型錄標示對 GeForce 1-1-2. 繪圖介面 : 支援 PCI Express 2.0( 含 ) 以上高速繪圖晶片 210 低階顯 1-1-3. 提供 512MB DDR2 SDRAM( 含 ) 以上顯示記憶體, 具 2560
BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2
PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native
C/C++语言 - C/C++数据
C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;
Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089
Photoshop CC Camera Raw Photoshop Camera Raw Step 1 3 1 2 3 SCOTT KELBY Step 2 B Camera Raw 088 Chapter 3 Camera Raw Chapter 3 Camera Raw Step 3-4 -100 negative clarity +25 ] P / -75-50 Step 4 0 ( 下一頁
Adobe Photoshop CS6 完美呈現 CHAPTER Black & White 黑白 如何製作出色的黑白影像 Camera Raw 的黑白轉換 三點速成黑白轉換 在 Photoshop 中
Scott Photoshop UserLight It Grid podcast NAPP TV Scott Kelby Scott Photoshop National Association of Photoshop Professionals NAPP Kelby Media Group Scott Adobe Photoshop Lightroom 4 Photoshop -- Photoshop
桌上型個人電腦採購規格說明表
第三組顯示卡規範書 1. Nvidia 繪圖晶片 1-1. 1-1-1. 繪圖晶片 :NVIDIA GeForce 8400 系列 ( 含 ) 以上 ( 請註明採用商品之廠牌及型號, 並於型錄標示對 NVIDIA 應到主要規格之項次 ) GeForce 1-1-2. 繪圖介面 : 支援 PCI Express 介面 16X( 含 ) 以上高速繪圖晶片 8400 低階顯 1-1-3. 提供 256MB
int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;
Memory & Pointer [email protected] 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,
Microsoft Word - ACI chapter00-1ed.docx
前言 Excel Excel - v - 財務管理與投資分析 -Excel 建模活用範例集 5 相關 平衡 敏感 - vi - 前言 模擬 If-Then 規劃 ERP BI - vii - 財務管理與投資分析 -Excel 建模活用範例集 ERP + BI + ERP BI Excel 88 Excel 1. Excel Excel 2. Excel 3. Excel - viii - 前言 1.
摘 要 本 校 多 媒 體 設 計 系 與 上 海 戲 劇 學 院 創 意 學 院 在 多 次 聯 繫 交 流 之 下, 已 簽 署 合 作 備 忘 錄, 積 極 尋 求 兩 校 合 作 教 學 與 共 同 創 作 之 機 會 藉 由 本 系 學 生 作 品 腦 殘 公 寓 入 圍 第 五 屆 中
出 國 報 告 ( 出 國 類 別 : 其 他 - 國 際 競 賽 ) 中 國 獨 立 遊 戲 節 國 際 學 生 競 賽 及 上 海 戲 劇 學 院 合 作 洽 談 服 務 機 關 : 國 立 臺 中 科 技 大 學 多 媒 體 設 計 系 姓 名 職 稱 : 金 啟 平 專 案 講 師 派 赴 國 家 : 中 國 出 國 期 間 :102.9.14 102.9.17 報 告 日 期 :102.11.20
<4D F736F F D20A7EBBCD0B6B7AABEAAFEA5F3322D3935A67EB2C432A6B8B2C433B2D5C5E3A5DCA564B357BD64AED12E646F63>
第三組顯示卡規範書 1. Nvidia 繪圖晶片 1-1. 1-1-1. 繪圖晶片 :NVIDIA GeForce 6600 系列 ( 含 ) 以上 ( 請註明採用商品之廠牌及型號, 並於型錄標示對應低階顯示卡到主要規格之項次 ) ( 備註 : 對應 1-1-2. 繪圖介面 : 支援 AGP 介面 8X( 含 ) 以上高速繪圖晶片項次為第 1 1-1-3. 提供 128MB 64 位元 DDR SDRAM(
電腦設備LP 第七組顯示卡規範書
第七組顯示卡規範書 1. Nvidia 繪圖晶片 1-1. 1-1-1. 繪圖晶片 : GeForce 8400 系列 ( 含 ) 以上 ( 請註明採用商品之廠牌及型號, 並於型錄標示對 應到主要規格之項次 ) GeForce 1-1-2. 繪圖介面 : 支援 PCI Express 介面 16X( 含 ) 以上高速繪圖晶片 8400 低階顯 1-1-3. 提供 512MB DDR2 SDRAM(
桌上型個人電腦採購規格說明表
第三組顯示卡規範書 1. Nvidia 繪圖晶片 1-1. 1-1-1. 繪圖晶片 :NVIDIA GeForce 7600 系列 ( 含 ) 以上 ( 請註明採用商品之廠牌及型號, 並於型錄標示對低階顯示卡應到主要規格之項次 ) ( 備註 : 對應 1-1-2. 繪圖介面 : 支援 AGP 介面 8X( 含 ) 以上高速繪圖晶片項次為第 1 1-1-3. 提供 128MB 64 位元 DDR SDRAM(
系所名稱 證照代碼 證照名稱 國內 / 級數 / 分國外數 證照類別 發照單位 Adobe Certified Associate in Web Communication Adobe Certified Associate in Web Communication using A
畢業門檻 - 專業證照列表 系所名稱 證照代碼 證照名稱 國內 / 級數 / 分國外數 證照類別 發照單位 50068987 Autodesk Certified Professional: 3ds Max 2014 國外 專業級 國際證照 Autodesk[ 歐特克有限公司 ] 500610671 Autodesk 3ds Max 2015 Certified Professional Certificate
任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class
踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld
JLX
PRODUCT:LCD MODULE. Model No.: JLX177-006 Product Type: 1.77 inch QVGA TFT Modoule. 产品规格书 晶联讯研发研发部 : Written By Checked By Approved By 客户名称 : 结构电子核准 地址 : 深圳市宝安区西乡宝安大道东华工业区 A3 栋 6 楼电话 :0755-29784961 Http://www.jlxlcd.cn
Microsoft Word - 实用案例.doc
计 算 机 系 统 应 用 2009 年 第 12 期 嵌 入 式 Linux 下 温 湿 度 传 感 器 的 设 计 与 实 现 1 Design and Implementation of Temperature and Humidity Sensor Based on Embedded Linux 陈 博 刘 锦 高 ( 华 东 师 范 大 学 电 子 科 学 技 术 系 上 海 200241)
0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1
0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0
C C
C C 2017 3 8 1. 2. 3. 4. char 5. 2/101 C 1. 3/101 C C = 5 (F 32). 9 F C 4/101 C 1 // fal2cel.c: Convert Fah temperature to Cel temperature 2 #include 3 int main(void) 4 { 5 float fah, cel; 6 printf("please
Microsoft Word - 01.DOC
第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的
現在人類獲取地球內部訊息的方法, 是從可能影響我們身家性命安全的地震, 用數學模型把地震資料轉換成地震波速度, 進而獲得地底物質密度與深度的關係 地下世界知多少 km/s g/cm 3 P Gpa km S P S 3,000 3,000 ak K 透視地底 Percy Bridgma
透視地球深處 的窗戶? extreme condition extreme environment 94.5 1 270 21 3.9 12.3 6,400 300 4,000 1864 Jules Gabriel Verne 1959 2008 1990 Paul Preuss 2003 24 2013 2 482 現在人類獲取地球內部訊息的方法, 是從可能影響我們身家性命安全的地震, 用數學模型把地震資料轉換成地震波速度,
第二節 研究方法 本論文第一章 緒論 說明研究動機與目的 研究方法及研究的範圍及限制 並對 飲食散文的義界 作一觀念的釐清 第二章 文獻探討 就將本研究的理 論建構中的概念作釐清 分別為 現代文學 飲食文學的重要論著 等兩個部 分來描述目前文獻的研究成果 並探討其不足待補述的地方 本研究以 文化研 究 為主要研究基礎 統攝整個研究架構 在不同章節裡 佐以相關研究方法進 行論述 茲圖示如下 研究方法
untitled
A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (
[改訂新版]C言語による標準アルゴリズム事典
iii C 1991 SEND + MORE = MONEY C 100 2003 Java 2003 27 PC-9800 C BMP SVG EPS BMPSVG WindowsMacLinux Web iv int main() int main(void) EXIT_SUCCESS 0 https://github.com/okumuralab/ algo-c TEX TEX PDF PDF
高级计算机图形学
高级计算机图形学 讲授 : 董兰芳研究方向 : 科学计算可视化图形 图像处理模式识别 Telephone:0551-3603484 Email:[email protected] Homepage: http://staff.ustc.edu.cn/~lfdong 中国科学技术大学视觉计算与可视化实验室 1 第三章输入和交互 (2)( 3.8 拾取 3.9 CAD 示例 3.10 建立交互模型 3.11
APA Preliminaries Text Reference 1. Cover Page 2. Title Page 3. Signature Page 4. Advisor s recommendation letter 5. Approval page 6. Copyri
1 研究報告與論文的寫作格式 CHAPTER 1-1 1-2 專 題 研究報告, 乃至論文寫作都 有一定的標準與規範, 而寫作的 工具, 除了堪稱石器時代所用的筆與紙 外, 打字機及電動打字機仍是至今尚未完 消失的機具, 然而, 步入雲端世紀之後, 電腦文書處理的軟體早已是不可或缺的必備利器 這裡首推大家耳熟能詳的 Microsoft Word 1-2 1-2-2 APA Preliminaries
ebook50-11
11 Wi n d o w s C A D 53 M F C 54 55 56 57 58 M F C 11.1 53 11-1 11-1 MFC M F C C D C Wi n d o w s Wi n d o w s 4 11 199 1. 1) W M _ PA I N T p W n d C W n d C D C * p D C = p W n d GetDC( ); 2) p W n
1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File
51 C 51 51 C C C C C C * 2003-3-30 [email protected] C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test
全国计算机技术与软件专业技术资格(水平)考试
全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明
ISSN 1021-4542
背景圖像動態化對文字視認性的影響研究 151 國 立 高 雄 師 範 大 學 高雄師大學報 007,,151-166 背景圖像動態化 對文字視認性的影響研究 楊清田 1 黃睿友 摘要 視覺設計者往往為了吸引觀者的注意 而一味地賦予圖像動態效果 對 於觀者而言 動態化的圖像雖能引起注意 卻也增加文字辨識上的困擾 致 使文字訊息讀取不易 甚至產生認知上的誤解 為了更有效地運用動態圖像 的特性 本研究採取
使用手冊
使用手冊 版權所有 2013 年 Microtek International, Inc. 保留所有權利 商標 Microtek MII MiiNDT ScanWizard Microtek International, Inc. Windows Microsoft Corporation 重要須知 Microtek Microtek Windows Microsoft Windows I49-004528
第3章.doc
3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo
untitled
不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int
國立中山大學學位論文典藏.PDF
國立中山大學教育研究所 碩士論文 Amabile 創造力成分模式與共識評量技術之驗證 以國小五年級繪畫為例 研究生 : 賴足菁撰 指導教授 : 鄭英耀 中華民國九十五年七月 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 B1
10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD
10 SCJD 簡介 Java 10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD 10 SCJD 10-3 Java Java SCJD 7 Swing RMI 10.1.1 The Assignment The Essay 9 10 10-4 SCJP SCJD 90 10.1.2 SCJP Java 90 120 Swing 10
02 2 成立 Facebook 粉絲專頁 Facebook Facebook Facebook 1, Facebook Facebook 1 Facebook 2-21
賺更多 24 24 2-10 我就是沒錢! 所以我只能利用免費的資源來獲取網路流量, 怎麼做比較好? 1 透過 Facebook 貼文在自己的個人頁面, 讓好友看見 Facebook Facebook 2-20 02 2 成立 Facebook 粉絲專頁 Facebook Facebook Facebook 1,000 100 Facebook Facebook 1 Facebook 2-21 賺更多
C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha
CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc
AutoCAD 用戶如何使用 ArchiCAD
AutoCAD 用戶如何使用 ArchiCAD AutoCAD用戶如何使用ArchiCAD ( 中文版 ) 由 Scott MacKenzie, Simon Gilbert, Geoffrey Moore Langdon, David Byrnes, Ralph Grabowski 編寫 龍庭資訊有限公司 1/73 - 2. 3. 4. -
CC213
: (Ken-Yi Lee), E-mail: [email protected] 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,
彩色地图中道路的识别和提取
9310016, i ii Abstract This thesis is on the researching of recognizing the roads in map image by computer. Based on the theory of Pattern Recognition, there is a method to be discussed, which can recognize
高级计算机图形学
高级计算机图形学 讲授 : 董兰芳研究方向 : 科学计算可视化图形 图像处理模式识别 Telephone:0551-3603484 Email:[email protected] Homepage: http://staff.ustc.edu.cn/~lfdong 中国科学技术大学视觉计算与可视化实验室 1 第二章图形学编程 2.1 OpenGL 简介 2.2 Siepinski 镂垫 2.3 编写二维图形应用程序
Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc
References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2
Microsoft Word - 3D手册2.doc
第 一 章 BLOCK 前 处 理 本 章 纲 要 : 1. BLOCK 前 处 理 1.1. 创 建 新 作 业 1.2. 设 定 模 拟 控 制 参 数 1.3. 输 入 对 象 数 据 1.4. 视 图 操 作 1.5. 选 择 点 1.6. 其 他 显 示 窗 口 图 标 钮 1.7. 保 存 作 业 1.8. 退 出 DEFORMTM3D 1 1. BLOCK 前 处 理 1.1. 创 建
Microsoft Word - ACG chapter00c-3ed.docx
Python 好好玩, 趣學電玩遊戲程式設計 Python Python BASIC Java JavaScript PHP C++ BASIC Python Python Python Xbox PlayStation Nintendo - 2 - 簡介 : 互動式 Python Shell : 編寫程式 Python File editor : 猜數字 : 腦筋急轉彎 : 龍域 ( ) : 使用
Microsoft Word - _m30.doc
1 2 3 4 5 6 7 8 公式 2 4 2 1 能 整除 因此後玩 者贏 且關鍵數 字為3 的倍數 3 0 3 1 不能整除 所 以先拿餘數 2 關鍵數字是 4的倍 數 2 先玩者贏 4 0 4 1 能整除 因此 後玩者贏 且 關鍵數字為 5 的倍數 5 0 5 1 不能整除 所 以先拿餘數 2 關鍵 數字是 6的倍 數 2 先玩者贏 7 0 6 1 能整除 因此 後玩者贏 且 關鍵數字為7
840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00
Excel - - Excel - -4-5 840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 ( 0 ) 智慧標籤 相關說明提示 -5 -- Excel 4 5 6 7 8 + - * / % ^ = < >= & 9 0 (:) (,) ( ) Chapter - :,
27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f
27 1 Vol.27 No.1 CEMENTED CARBIDE 2010 2 Feb.2010!"!!!!"!!!!"!" doi:10.3969/j.issn.1003-7292.2010.01.011 OPC 1 1 2 1 (1., 412008; 2., 518052), OPC, WinCC VB,,, OPC ; ;VB ;WinCC Application of OPC Technology
epub83-1
C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C
untitled
Ogre Rendering System http://antsam.blogone.net [email protected] geometry systemmaterial systemshader systemrendering system API API DirectX OpenGL API Pipeline Abstraction API Pipeline Pipeline configurationpipeline
高级计算机图形学
高级计算机图形学 讲授 : 董兰芳研究方向 : 科学计算可视化图形 图像处理模式识别 Telephone:0551-3603484 Email:[email protected] Homepage: http://staff.ustc.edu.cn/~lfdong 中国科学技术大学视觉计算与可视化实验室 1 第三章输入和交互 (2)( 3.8 拾取 3.9 CAD 示例 3.10 建立交互模型 3.11
Microsoft Word - well_game.doc
智慧型系統控制 趙春棠老師 四技機電四甲 49422019 黃秉宏 井字遊戲並沒有什麼必勝的著法, 但只要適當的回應, 就可保持不敗 也 1 2 3 4 5 6 7 8 9 法則 手玩家的最佳著法其第一步最好下在四個角落 ( 即 2 4 6 8 號位置 ), 因為後手玩家除了下在中央的 5 號位置之外必敗 即使對手下了該位置, 只要回以馬步佈局或對角佈局也還有一半的勝算 先手玩家第一步的次佳選擇在
EX-Z80
C 4 6 R P r p 快速入門基礎知識 什麼是數位相機 數位相機可以將影像儲存在記憶卡中 讓您能夠不限次數地拍攝和刪除影 像 拍攝 刪除 顯示 您可以使用各種不同方式處理拍攝的影像 將影像儲存在電腦上 列印影像 9 附加影像到電子郵件 快速入門基礎知識 1. + - 2. 1. 1 2 2. 3. 2 1 * * * * * *? [8] [4] [2] [6] [SET] 1. 2.
untitled
1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override
C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9
201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void
書面
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 5.4 互動功能畫面 程式碼請參考附件-程式三 在進入互動頁面時 會執行setAllText()依寵物狀態數值來 設定狀態文字與頭像 並且依心情決定是否要不要播放音效 觸摸的區域 由於是自己寫的 view 所以並未透過xml來設置 而是透過Layut.addview()來動態新增
投影片 1
計算機程式及實習 期末報告 題目 : 六宿炒翻天 班級 : 奈米一乙姓名 : 陳洋翼學號 :4A514050 老師 : 謝慶存 程式說明 設計結帳系統, 選擇數量後, 在按下計算, 將會顯示總金額 若是老人或小孩, 將可享 8 折或 9 折的優惠 程式畫面 填選數量 在火腿蛋炒飯的數量選擇 1, 並按下計算, 可得總金額 50 元 程式畫面 打折 填選完後, 若客人是小孩或老人, 選擇欲打折項目,
附錄C.doc
C C C-1 C -2 C -3 C -4 C -5 / C -6 2 C/C++ C-1 FILE* fopen(const char* filename, const char* mode) filename NULL FILE* freopen(const
