Time of Update: 2018-12-07
#include <QApplication>#include "yu.h"#include "QWidget.h"#include "QMenuBar.h" #include <QMenu>#include "QAction.h"#include "QLCDnumber.h"#include "QSlider.h"#include "QObject.h"int main(int argc, char *argv[]){ QApplication a(argc,
Time of Update: 2018-12-07
情境從全局座標往螢幕座標上轉化的過程:1.全局座標形成模型視圖矩陣2.然後用glOrtho()形成一個觀察體。同時形成一個矩陣3,只有在實際觀察體內的情境才能顯示。4。然後乘以投影矩陣,直接到正常化投影體。 注釋:glOrtho()實際上給出了兩個資訊,一個是投影觀察體,在opengl 裡面是在觀察座標系中定義的,不過其位置也可以用全局座標來表示,這樣只有在觀察體內的情境才能顯示,然後再乘以投影矩陣, 直接轉化到(-1,-1,-1),(1,1,1)為對角的正常化視景體,如果此時設定視口為(400
Time of Update: 2018-12-07
在程式中包含相應的標頭檔,STL中提供了新舊兩種形式的標頭檔,一種是以.h結尾的老式標頭檔,一種是新式的標頭檔 #include <vector.h>//老式標頭檔,使用此檔案時不用顯式的是用名字空間,比如using namespace std;//可以不用這句 #include <vector>//新式的標頭檔,使用此類標頭檔的時候必須使用using 語句指明將要使用的名字空間,如using namespace std;
Time of Update: 2018-12-07
COpenGLDC,此類和CDC類相似,暫時添加畫點函數和畫線函數,也可以添加其它函數 class COpenGLDC : public CObject {public: COpenGLDC(HWND hWnd); virtual ~COpenGLDC();private: HWND m_hWnd; HGLRC m_hRC; HDC m_hDC;public: GCamera m_Camera; CVector3D m_vecLight; COLORREF m_mat_clr;
Time of Update: 2018-12-07
為了實現撿選,平稱及旋轉命令,必需對實體進行這些動作的操作分別開發了線,圓及矩形類 class CMyrect;class CLine : public CSolid{public: CLine(); CLine(CPosition &pos1, CPosition &pos2); CSolid *CopySolid(){ return new CLine(this->m_begin, this->m_end);}//深複製直線 virtual
Time of Update: 2018-12-07
for_each可以遍曆list,vecotr中值,同時把其中之一的值傳入函數對象,調用()操作符進行重載,並把最終的運算結果放入一個函數對象中返回.這個功能是其它的演算法所沒有的,使用方法如下. #include <iostream.h>#include <iterator> #include <string> #include <vector>#include <deque>#include
Time of Update: 2018-12-07
怎麼閱讀原始碼2009-04-16 10:43代碼閱讀的必要性 閱讀別人的代碼作為研發人員是一件經常要做的事情。一個是學習新的程式設計語言的時候通過閱讀別人的代碼是個最佳的學習方法,另外是積累編程經驗。如果你有機 會閱讀一些作業系統的代碼會協助你理解一些基本的原理。更有就是在你作為一個品質確保人員或一個小領導的時候如果你要做白盒測試的時候沒有閱讀代碼的能力 是不能完成相應的任務。最後一個就是如果你中途接手一個項目的時候或給一個項目做售後服務的時候是要有閱讀代碼的能力的。
Time of Update: 2018-12-07
開發一個對資料集進行操作的類後,實現全刪功能就相當容易class CAllDelete : public CComand{public: CAllDelete(); virtual ~CAllDelete();public: void AllDelete();private: CHandleCG* m_hand; //對資料集進行操作的類 }; CAllDelete::CAllDelete(){ m_hand = new
Time of Update: 2018-12-07
/******************************************************************************** Copyright (C) 2004-2007 Trolltech ASA. All rights reserved.**** This file is part of the example classes of the Qt Toolkit.**** Licensees holding a valid Qt License
Time of Update: 2018-12-07
兩個不同的類相互引用的情況下標頭檔包含問題 2008-06-02 15:45:36 標籤:標頭檔 不同類 相互引用 解決方案 [推送到技術圈] 轉載自http://www.cnblogs.com/sunnyjones/archive/2008/03/10/1099521.html 所謂超前引用是指一個類型在定義之前就被用來定義變數和聲明函數。
Time of Update: 2018-12-07
上一步開發了對實體和選擇集進行操作的類後,再實現撿選,刪除就很簡單了刪除圖形只要把圖形從選擇集中刪掉就可以了(1)選擇class CSelect : public CComand{public: CSelect(); virtual ~CSelect();public: void OnLButtonDown(UINT nFlags, CPosition pos); void OnMouseMove(UINT nFlags, CPosition
Time of Update: 2018-12-07
#include <iostream.h>#include <iterator> #include <string> #include <vector>#include <deque>#include <list>#include <algorithm> #include <map>#include <set>using namespace std;void
Time of Update: 2018-12-07
要實現撿選只要把實體集中的實體選擇到撿選集中即可滑鼠經過實體集中是一種豔色,滑鼠選中實體後又是一種豔色,把實體從實體中選擇出來,然後再放入選擇集中因此開發一個對實體庥和選擇集進行操作的類 typedef struct //與實體指標相關的索引{ CSolid *m_pickSolid; int index;//與指標相關聯的索引} PINDEX;typedef CTypedPtrArray<CObArray, CSolid *>
Time of Update: 2018-12-07
土石壩網格剖分程式在vc++開發平台上,用c++和vtk開發,主要分兩部分 第一,程式剖分核心,剖分演算法用的是遞推斷面法,
Time of Update: 2018-12-07
對於圖形的輸入最重要的是,要瞭解要輸出的圖形的格式,而基礎的方法是一樣的,在本部落格的vc++分類裡面已經有了位元影像的輸出方式,本文再提供一個用vtk輸入jpg圖片的c++類 #include "vtkRenderWindow.h"#include "vtkWindowToImageFilter.h"#include "vtkBMPWriter.h"class CPutOutImage {public: CPutOutImage(); virtual
Time of Update: 2018-12-07
對於電腦圖形學來說,位元影像的讀寫是一個非常重要方面,位元影像是電腦圖形和映像的橋樑在電腦圖形處理中,著色後形成的圖形就轉變為映像,可以用成熟的影像處理演算法來處理.是真實感圖形繪製的基礎 對位元影像的處理主要是瞭解位元影像的資料結構,有了對位元影像的資料結構的瞭解後,其它的一切就是一般的讀寫檔案的方向,下面提供一個讀寫的類 #if !defined(AFX_FG_DIB_H__873E62A0_D6E8_4151_9F0F_815768446735__INCLUDED_)#define
Time of Update: 2018-12-07
二叉樹的使用方法及遍曆 #include "iostream.h"template<class T>class CTree{public: CTree(const T &item, CTree<T>*lp = NULL, CTree<T>*rp = NULL); CTree<T> *GetLp(void) const; CTree<T> *GetRp(void) const; CTree<T>
Time of Update: 2018-12-07
glDepthRange(0.0, 1.0); glClearDepth(1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.0, 0.0, 0.0, 1.0); AUX_RGBImageRec *textureImage[1]; textureImage[0] = auxDIBImageLoadA(TEXT("D:/aaa.bmp"));
Time of Update: 2018-12-07
ttttttttt在無網格法中,畫離散點,如果點比較多的話,就不能用小球表示,具我的測試,小球的數量如果超出一百個,速度就慢得無法忍受,解決辦法是用點精靈,或者glsl著色語言#include "vtkCamera.h"#include "vtkRenderWindow.h"#include "vtkRenderWindowInteractor.h"#include "vtkInteractorStyleSwitch.h"#include "vtkPolyData.h"#include
Time of Update: 2018-12-07
QT與VTK的結合開發2008/07/16 15:26最近,由於項目的需要,我打算使用VTK來開發程式,VTK全名是VisualizationToolKit,它是一套跨平台的C++庫,對 OpenGL作了較全面的封裝,將各種3D 模型的儲存,運算,顯示,互動等內容全都以類的方式封裝起來了,並且提供比OpenGL強大得多的功能。可惜 VTK最大的缺點是,沒有免費的教程,它只提供免費的API手冊,其中只是對各個類的功能羅列而已,而參考書籍則需要花幾十美元去購買,所以學習VTK只