Time of Update: 2018-12-05
java.lang.UnsupportedClassVersionError: Bad version number in .class file出現這個問題時,要注意三個方面,網上都是簡單的說了一下,現總結如下:1、你所用的代碼的jdk與目前的編譯環境的jdk不一樣,在當前工程上點右鍵選擇"屬性",進去後在Java build path進去修改即可。2、進到當前工程的屬性後,選擇"Java Compiler"進去後將"Compiler Compliance level"改成當前jdk的版本3、
Time of Update: 2018-12-05
在大多數軟體項目中,要末不作詳細設計,要麼開發完成後再補詳細設計文檔,品質也不容樂觀,文檔與系統往往不能同步,使詳細設計文檔完全流於形式,對工作沒有起到實際的協助。那到底應不應該寫詳細設計文檔呢,怎麼使詳細設計文檔起到他應有的作用呢,下面就讓我們來認識一下詳細設計及寫詳細設計文檔的好處和問題。·
Time of Update: 2018-12-05
eclipse 常用快速鍵1. 【ALT+/】此快速鍵為使用者編輯的好幫手,能為使用者提供內容的輔助,不要為記不全方法和屬性名稱犯愁,當記不全類、方法和屬性的名字時,多體驗一下【ALT+/】快速鍵帶來的好處吧。2. 【Ctrl+O】顯示類中方法和屬性的大綱,能快速定位類的方法和屬性,在尋找Bug時非常有用。3. 【Ctrl+/】快速添加註釋,能為游標所在行或所選定行快速添加註釋或取消注釋,在調試的時候可能總會需要注釋一些東西或取消注釋,現在好了,不需要每行進行重複的注釋。4.
Time of Update: 2018-12-05
get和post這是http協議的兩種方法,另外還有head, delete等 這兩種方法有本質的區別,get只有一個流,參數附加在url後,大小個數有嚴格限制且只能是字串。post的參數是通過另外的流傳遞的,不通過url,所以可以很大,也可以傳遞位元據,如檔案的上傳。 在servlet開發中,以doGet()和doPost()分別處理get和post方法。 另外還有一個doService(),
Time of Update: 2018-12-05
題目: 已知strcpy函數的原型是: char * strcpy(char * strDest,const char * strSrc); 1.不調用庫函數,實現strcpy函數。 2.解釋為什麼要返回char *。解說: 1.strcpy的實現代碼 char * strcpy(char * strDest,const char * strSrc) { char * strDestCopy=strDest; //[3] if
Time of Update: 2018-12-05
#include <iostream.h>#include <stdlib.h>#define LIST_INIT_SIZE 100#define OK 1#define OVERFLOW -2#define ERROR 0typedef int Status;typedef int ElemType;typedef struct LNode{ ElemType data;struct LNode *next;} LNode,*LinkList;Status
Time of Update: 2018-12-05
用myEclipse -> Export 產生.class檔案,然後再用 exe4j 打包工具選擇剛匯出的 .class 檔案之前用exe4j打包有過樣本,按照之前的部落格文檔http://blog.csdn.net/tming_1985/archive/2009/12/24/5070540.aspx 一定能打包成功。我用的exe4j版本是4.1
Time of Update: 2018-12-05
(1)GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR屬性。這三個屬性與光源的三個對應屬性類似,每一屬性都由四個值組成。GL_AMBIENT表示各種光線照射到該材質上,經過很多次反射後最終遺留在環境中的光線強度(顏色)。GL_DIFFUSE表示光線照射到該材質上,經過漫反射後形成的光線強度(顏色)。GL_SPECULAR表示光線照射到該材質上,經過鏡面反射後形成的光線強度(顏色)。通常,GL_AMBIENT和GL_DIFFUSE都取相同的值,可以達到比較真實的效果。使用GL_A
Time of Update: 2018-12-05
#define MAX(a,b) (abs((a)-(b))==((a)-(b))?(a):(b))#define MAX4(a,b) (((a)-(b)) & 0x80000000 ) ? (b) : (a) 若a > b
Time of Update: 2018-12-05
今天將ogre配置好了,下面分享一下我在這次配置過程中的體會。首先去官網http://www.ogre3d.org/tikiwiki/Home下載sdk,由於有多個版本的sdk,而我的電腦上是裝的vs2008,所以選擇下載OGRE 1.7.2 SDK for Visual C++ .Net 2008
Time of Update: 2018-12-05
今天寫了一個讀取位元影像的類,體會到了一個類的分裝性,當一個資料成員是protected類型時,我們在類中專門寫了一個函數來訪問這個變數,如同c#中的屬性與方法。//// 這是位元影像類的標頭檔Dib.h: interface for the CDib class.////////////////////////////////////////////////////////////////////////#if
Time of Update: 2018-12-05
ORA-00054: 資源正忙, 但指定以 NOWAIT 方式擷取資源, 或者逾時失效解決方案如下:=========================================================SQL> select session_id from v$locked_object;1.尋找出已被鎖定的資料庫表及相關的sid、serial#及spidselect object_name as 對象名稱,s.sid,s.serial#,p.spid as
Time of Update: 2018-12-05
c_str函數的傳回值是const char*的,不能直接賦值給char*,所以就需要我們進行相應的操作轉化,下面就是這一轉化過程。 c++語言提供了兩種字串實現,其中較原始的一種只是字串的c語言實現。與C語言的其他部分一樣,它在c++的所有實現中可用,我們將這種實現提供的字串對象,歸為c-串,每個c-串char*類型的。 標準標頭檔<cstring>包含操作c-串的函數庫。這些庫函數表達了我們希望使用的幾乎每種字串操作。 當調用庫函數,客戶程式提供的是string型別參數,
Time of Update: 2018-12-05
今天看書學習了opengl狀態機器,以及opengl的屬性壓棧。opengl把各類有屬性的變數稱為管線的狀態。狀態機器是一個抽象模型,是一組狀態變數的集合。當一個狀態變數被設定後,他會一直保持直到下一次改變。例如,void glEnable(GLenum capability);//開啟此類型void glDisable(Glenum capability);//關閉此類型void glIsEnable(GLenum capability);//檢測變數的狀態void
Time of Update: 2018-12-05
今天看了看opengl的融合技術,聯絡前一段時間老師讓我改的一個用他自己的架構實現的3d物體透明融合的程式,感覺到老師說的思路,不可以實現。因為三維的透明物體,簡單的使用融合功能和融合因子是不夠的,三維物體有遠近,因此三維物體的繪製過程是利用的是深度緩衝技術。這樣的話,對於繪製透明物體與不透明物體,順序是十分關鍵的。一般來說,應該先畫不透明物體,因為透明物體的繪製需要opengl的融合功能, glEnable(GL_BLEND);,但是融合功能一旦啟動,會影響後繼物體的著色。但是先畫不透明物體,
Time of Update: 2018-12-05
文章目錄 10.2.3 模板測試10.2.4 深度測試10.3.3 景深 在OpenGL視窗中, 左下角的像素為(0, 0). 一般而言, 像素(x, y)佔據的矩形地區左下角為(x, y), 右上方為(x+1, y+1).10.1 緩衝及其用途 1) 顏色緩衝, 左前,右前,左後,右後和任意數量的輔助顏色緩衝;2) 深度緩衝3) 模板緩衝4) 累積緩衝
Time of Update: 2018-12-05
此文轉自別人部落格,感謝原作者1:當無法列出傳遞函數的所有實參的類型和數目時,可用省略符號指定參數表 void foo(...); void foo(parm_list,...);2:函數參數的傳遞原理 函數參數是以資料結構:棧的形式存取,從右至左入棧.eg:先介紹一下可變參數表的調用形式以及原理: 首先是參數的記憶體存放格式:參數存放在記憶體的堆棧段中,在執行函數的時候,從最後一個開始入棧。因此棧底高地址,棧頂低地址,舉個例子如下: void func(int x, float y,
Time of Update: 2018-12-05
今天老師讓做一個圓柱面的表面模型,由於需要添加光照,所以需要求得每個點的法向量,但是同時由於圓柱面是可以旋轉變換的所以不能單純的用CP3(x,y,z),與CP3(0,y,0)的差擷取法向量。後來想到,由於圓柱面具有前後對稱性,所以,可以利用前後兩個相對的頂點相差得到某個點的法向量。具體如下:上表是一個圓柱面側面的展開圖,假設我們現在將圓柱面沿著周向分為N1段,沿著高度方向分為N2,V點的兩個分量分別代表高度方向和周向,則兩個相對的點的座標分別為VS(X,(Y+N1/2)%N1),VE(X,Y)。
Time of Update: 2018-12-05
今天將映像縮放的雙線性插補法弄完了,主要的思想如下:對於一個目的像素,通過靶心圖表像與源映像的比值進行反向變換得到一個浮點座標,如fx(x+u,y+v)其中為非負整數,u,v為區間[0,1]上的浮點數。則目的像素的顏色值可以由源映像的點fx(x,y)與其相鄰的四個點的顏色值決定。公式為:fx(x+u,y+v)=(1-u)(1-v)fx(x,y)+(1-u)(v)fx(x,y+1) +(u)(1-v)fx(x+1,y)+uvfx(x+1,y+1);下面是我自己寫的一個縮放映像的函數。 void
Time of Update: 2018-12-05
今天,用opengl實現bezier曲線的繪製,但是當我將控制點增加到九個的時候,程式死活繪製不出映像。後來經過一番折騰,終於知道,是xp系統的問題,程式在win7上可以正常運行。下面我附上我的主要程式第一段是利用glEvalCoord1f() 函數先產生離散點,然後用直線連結。 glShadeModel(GL_FLAT); glColor3f(1.0,0.0,0.0);GLfloat controlPoint[9][3] =