Time of Update: 2018-12-05
問題最近學習C++碰到這樣一個問題,while(cin>>s){},這樣的一個語句用什麼樣的輸入能夠結束運行,到網上一查,大家給出的答案是ctrl+z,可以使該程式結束。但是,對於ctrl+z的作用和ctrl+z的實質是什麼卻都沒有深刻的剖析。於是,翻書找到了些內容,認為自己解決了這個問題。現將學習到的內容記錄如下。首先,先瞭解一下,究竟能是一個輸入資料流停止工作的有哪些條件。流的狀態流有正常的狀態和錯誤的狀態。流只有在正常的狀態下,才能夠正常的工作。輸入資料流在正常的工作狀態下,才
Time of Update: 2018-12-05
OpenGL是一套圖形標準,它嚴格按照電腦圖形學原理設計而成,符合光學和視覺原理,非常適合可視化模擬系統。首先,在OpenGL中允許視景對象用圖形方式表達,如由物體表面頂點座標集合構成的幾何模型,這類圖形資料含有豐富的幾何資訊,得到的模擬映像能充分表達出其形體特徵;而且在OpenGL中有針對三維座標表示的頂點的幾何變換,通過該變換可使頂點在三維空間內進行平移和旋轉,對於由頂點的集合表達的物體則可以實現其在空間的各種運動。其次,OpenGL通過光照處理能表達出物體的三維特性,其光照模型是整體光照模
Time of Update: 2018-12-05
在前一節中我們有幾個例子中提到了cin函數出錯,以致不再執行讀操作(程式8)。而且我們經常會看到程式中會出現cin.clear(),cin.ignore(), cin.fail()等函數。這些函數都是與cin的錯誤處理有關的。這一節我們來分析一下cin的錯誤處理機制,並且學習幾個重要的函數:cin.fail(), cin.bad(), cin.good(), cin.clear(),
Time of Update: 2018-12-05
當命令進入流程時,可以選用兩種方法對它們進行處理:一種是通過流程立即執行這些命令;令一種是將其中一些命令組織到一個“顯示列表”,過一段時間再執行它們。流程中的“求值器”階段通過將輸入值賦給多項式命令提供了一種非常有效方法來產生幾何曲面和曲面的近似值。接下來的“各頂點操作及圖元集”階段主要是處理OpenGL的幾何圖元——點、線段和多邊形。所有這些圖元均由頂點來描述。頂點可以被轉換和照亮。接下來圖元被剪下到視口,為下一階段做好準備。“光柵化”產生了一系列的幀緩衝地址以及相應的用於描述點、線段或多邊形
Time of Update: 2018-12-05
1. 必須下載:vtk-5.6.0-win32.exevtk-5.6.0.zip 來源程式vtkdata-5.6.0.zip 資料(vtk相關安裝程式下載:http://vtk.org)cmake-2.8.2-win32-x86.zip(cmake程式下載:http://www.cmake.org/HTML/Index.html) 2. 安裝 vtk-5.6.0-win32.exe 到d:\VTK 5.6, 安裝完成後 vtk5.6 檔案夾同時會產生 bin、include、lib子檔案夾。 3
Time of Update: 2018-12-05
很多初學者都認為cin函數是一個很簡單的函數,其實不然!cin函數有很多需要瞭解的知識(比如:cin的傳回值是什麼,cin提供了哪些成員函數且分別是什麼作用,如cin.clear(), cin.ignore(), cin.fail(), cin.good()等等),如果沒有很好的掌握,在使用的時候很可能會出問題卻不知其原因!而且很多人也確確實實遇到過不少問題,以下是幾個簡單的例子:程式1:#include <iostream>using namespace std;int main(
Time of Update: 2018-12-05
基於順序圖表像的三維體繪的視線投射演算法(Ray
Time of Update: 2018-12-05
開始工作後,慢慢便想著自己嘗試著做兩個菜。綜合考慮自己的烹飪水平、自己的飲食習慣及食物的營養之後,決定嘗試做一下麻辣豆腐。材料:豆腐+購買的配料。。。(個人覺得菜的味道配料相當關鍵) 第一次做的時候,所採用的配料是重慶胖子牌的麻辣豆腐,其後附做法如下: 1.將炒菜鍋或平底鍋用植物油熱鍋,放入絞肉熱炒。 2.將胖子麻辣豆腐調料倒入鍋中加熱煮沸。 3.將瀝幹水分的豆腐500克等分切成小丁,放入鍋中,輕輕攪拌,邊用中火將豆腐煮透即可。
Time of Update: 2018-12-05
lib和dll lib和dll檔案的區別和聯絡 .dll是在你的程式啟動並執行時候才串連的檔案,因此它是一種比較小的可執行檔格式,.dll還有其他的檔案格式如.ocx等,所有的.dll檔案都是可執行。.lib是在你的程式編譯串連的時候就串連的檔案,因此你必須告知編譯器串連的lib檔案在那裡。一般來說,與動態串連檔案相對比,lib檔案也被稱為是靜態串連庫。當你把代碼編譯成這幾種格式的檔案時,在以後他們就不可能再被更改。如果你想使用lib檔案,就必須:1
Time of Update: 2018-12-05
在OpenGL中有兩個比較重要的投影變換函數,glViewport和glOrtho。glOrtho是建立一個正交平行的視景體。 一般用於物體不會因為離螢幕的遠近而產生大小的變換的情況。比如,常用的工程中的製圖等。需要比較精確的顯示。 而作為它的對立情況, glFrustum則產生一個透視投影。這是一種類比真是生活中,人們視野觀測物體的真實情況。例如:觀察兩條平行的火車到,在過了很遠之後,這兩條鐵軌是會相交於一處的。還有,離眼睛近的物體看起來大一些,遠的物體看起來小一些。glOrtho(left,
Time of Update: 2018-12-05
Opengl是圖形硬體的一種軟體介面。這個介面包含的函數超過700個,這些函數可以用於指定物體和操作,建立互動三維應用程式。Opengl的設計目標就是作為一種流線型的,獨立於硬體的介面,在許多不同的硬體平台上實現。為了實現這個目標,Opengl並未包含用於執行視窗任務或者擷取使用者輸入之類的函數。反之,必須通過具體的視窗系統來控制OpenGL應用程式所使用的特定硬體。OpengGL並沒有提供用於描述三維物體模型的進階函數。在OpenGL中,程式員必鬚根據一些為數不多的基本幾何圖元(點,直線和多邊
Time of Update: 2018-12-05
體繪製(VolumeRendering)之光線投射演算法(RayCasting)The four basic steps of volume ray casting: (1) Ray Casting (2) Sampling (3)Shading (4) Compositing.Inits basic form, the volume ray casting algorithm comprises four steps:Ray casting. For each pixel of
Time of Update: 2018-12-05
VTK(Visualization ToolKit)是一個開放源碼、自由擷取的軟體系統,全世界的數以千計的研究人員和開發人員用它來進行3D電腦圖形,影像處理,可視化。VTK(Visualization ToolKit)是一個開放源碼、自由擷取的軟體系統,全世界的數以千計的研究人員和開發人員用它來進行3D電腦圖形,影像處理,可視化。VTK包含一個c++類庫,眾多的翻譯介面層,包括Tcl/Tk,Java,Python。 Visualization Toolkit
Time of Update: 2018-12-05
/*#include "vtkRenderer.h"#include "vtkRenderWindow.h"#include "vtkRenderWindowInteractor.h"#include "vtkSphereSource.h"#include "vtkShrinkFilter.h"#include "vtkElevationFilter.h"#include "vtkDataSetMapper.h"#include "vtkActor.h"#include
Time of Update: 2018-12-05
GLUT (pronounced like the glut in gluttony) is the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. It implements a simple windowing application programming interface (API) for OpenGL. GLUT makes it
Time of Update: 2018-12-05
解決的主要問題是灰階圖究竟在電腦中是怎麼表示的。在討論該問題之前,要知道這樣一個事情。即顯示器究竟是怎麼沒成像的,是有rgb三個通道,在三個通道中我們根據每個rgb的值,操縱硬體,點亮螢幕。因此,無論是什麼圖,如果要到顯示出來這一步,一定要有一組rgb的值。所以要明確的一點是最終灰階還是要表示成rgb的形式進行儲存。如0%的灰階RGB數值是255,255,255;1%灰階的RGB數值是253,253,253;2%灰階RGB值為250,250,250。而將一副彩色圖轉換成為一副灰階圖。實質就是通過
Time of Update: 2018-12-05
POJO = pure old java object or plain ordinary java object or what ever. PO = persisent object 持久對象 就是說在一些Object/Relation Mapping工具中,能夠做到維護資料庫表記錄的persisent object完全是一個符合Java Bean規範的純Java對象,沒有增加別的屬性和方法。全都是這樣子的: Java代碼 public class User { private
Time of Update: 2018-12-05
OpenGL是一個狀態機器,尤其是使用固定功能的管線。可以設定它的各種狀態(或模式),然後讓這些狀態一直生效,直到再次修改它們。每個狀態變數(或模式)都有一個預設值。在任何時候都可以向系統查詢每個狀態變數的當前值。一般情況下,可以使用glGetBooleanv(),glGetDoublev(),glGetIntegerv(),glGetfloatv(),glGetPointerv(),或glIsEnabled(),之一來完成這個任務。具體選擇的函數取決於希望返回的結果的資料類型。有些狀態變數還有
Time of Update: 2018-12-05
什麼是編譯性語言、解釋性語言和指令碼語言 電腦不能直接理解進階語言,只能直接理解機器語言,所以必須要把進階語言翻譯成機器語言,電腦才能值型進階語言編寫的程式。 翻譯的方式有兩種,一個是編譯,一個是解釋。兩種方式只是翻譯的時間不同。編譯型語言寫的程式執行之前,需要一個專門的編譯過程,把程式編譯成為機器語言的檔案,比如exe檔案,以後要啟動並執行話就不用重新翻譯了,直接使用編譯的結果就行了(exe檔案),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程式執行效率高。
Time of Update: 2018-12-05
實體幾何模型主要通過組成該幾何體的邊介面所形成的半空間表示一個物體。物體內部的所有屬性都是相同的。所謂平面或曲面的半空間是指一個空間平面或曲面將空間分為兩部分,如果一部分位於物體的內部,則另一部分位於物體的外部。實體幾何模型理論的發展可以追溯到20世紀70年代,最初是利用構造實體幾何的(Constructive Solid Geometry