Time of Update: 2018-12-03
我們在做和映像有關的項目時,很多情況下我們會"量身定做"一個映像類。以下就是我在做項目中總結的一些經驗。(註:以CImgWrapper為例) 1.映像的Width和Height使用的頻率很高,我們應該提供介面讓使用者很容易獲得它們,如: public: int getWidth() const; int getHeight() const;
Time of Update: 2018-12-03
這種題也挺有意思的!題目:找規律:-2 ,-2 ,-1 ,3, 21, ( ),括弧中應該是什麼數字? 解: 首先觀察數字序列,但是很遺憾,這樣的題通常是不容易直接看出規律的,但可以肯定的是這是一個遞增序列,那麼我們先分析他們的差: à做差:-2 - -2 = 0 -1 - -2 = 1 3 - -1 = 4 21 - 3 = 18
Time of Update: 2018-12-03
:這裡總結的是一些在OpenGL中做紋理貼圖需要注意的問題,並不是完整的教你如何在OpenGL中使用紋理貼圖,因為已經有很好的資料可供我們選擇,比如<OpenGL Super Bible>,<OpenGL Programming Guide>.在OpenGL
Time of Update: 2018-12-03
經典題目,做個記錄。題目: 有16個硬幣,其中一個偽造較輕,給一個天平,最少多少次可以找出? 解: 1)拿出2個硬幣,剩下14個分成兩組放在天平上: A)若天平相等,則稱拿出的2個,輕的就是,總共2次! B)若天平不相等,則偽幣在輕的一組7個硬幣中,1次 2)7個硬幣拿出1個,剩下6個分成兩組放在天平上: A)若天平相等,則拿出的1個就是,總共2次!
Time of Update: 2018-12-03
在《OpenGL之紋理貼圖(2):Basic》中我們瞭解了一些關於紋理貼圖的基礎知識。在隨後的學習中,我又意識到這樣的問題:如何在不同紋理之間自由的切換,即如何給不同的物體映射不同的紋理。在OpenGL 1.1中引入的新特性Texture Objects可以很好的解決這個問題。Texture Object的主要思想是用Texture Object來維護某些紋理狀態,在渲染階段將Texture Object和某個Texture Target(OpenGL維護三個Texture Target:GL_
Time of Update: 2018-12-03
OpenGL擴充機制(OpenGL Extensions)是OpenGL的亮點之一。顯卡的更新,帶來了更多,更炫的新特性,使我們能夠利用硬體的出色發揮來繪製出令人驚歎的3D畫面。利用OpenGL的擴充機制,任何硬體廠商提供的新特性可以用方便的被我們的OpenGL程式所使用。(在這裡不得不提一下OpenGL最強有力的對手Direct3D,Direct3D的更新機制是通過升級DirectX
Time of Update: 2018-12-03
第一部分:VS2010+Boost:(一)下載安裝Boost庫:http://www.boost.org/安裝到指定目錄下,例如:E:\boost_1_51(二)在VS2010中使用Boost庫配置Boost庫配置include路徑 Visual Studio -> 項目名稱上單擊右鍵 -> 屬性 -> 配置屬性 -> VC++ 目錄 -> Include 目錄 -> 點擊編輯填入內容:E:\boost_1_51配置lib路徑 Visual Studio -
Time of Update: 2018-12-03
註:看了許多關於Pipeline的資料,對於Pipeline也有一定的瞭解,但是總覺得還是模模糊糊的,似懂非懂的樣子,對於Pipeline中各個階段,仍然沒有理清它們之間的相互關係,所以下決心寫一些關於Pipeline的東西,寫的過程也是一個加深理解的過程,我需要達到的目標是當我閉上眼睛的時候,我能很從容的講出整個3D
Time of Update: 2018-12-03
在瞭解了OpenGL的擴充機制以後,我又想到了一個新的問題:在OpenGL中,若某些特性硬體沒有實現,能否用軟體實現?Direct3D為我們提供了一個"硬體抽象層(Hardware Abstraction
Time of Update: 2018-12-03
註:這些練習都來源於C經典教程《The C Programming Language,2nd》。做這些練習目的是培養一種編程思想(效率,重用...),而不是簡單的實現功能。Ex: Exercise 1-12 Write a program that prints its input one word per line.Date: 2005.1.6Solution 1: 1.判斷每一個輸入的字元,若輸入的字元是' '或'/t',將此字元轉化成'/n'; 2.合并連續的'/n'為一個'/n';
Time of Update: 2018-12-03
Ex: 字串中刪除子字串Date:Jan. 8th,
Time of Update: 2018-12-03
我一直在試圖尋找OpenGL應用程式的一般架構,有了這個模板,以後就可以像MFC中建立Dialog-based, SDI,MDI應用程式那樣建立OpenGL應用程式。下面就是我在這方面總結的一些經驗,我以OpenGL+glut為例:整個應用程式最少應該包含下列函數: Init():OpenGL是個狀態機器(State Machine),在整個渲染過程中保持不變的狀態應該在這裡設定。如果需要的 話,這裡還應該設定視窗系統。
Time of Update: 2018-12-03
註:大學畢業後,我就進入到一家軟體公司從事AutoCAD應用程式開發。在隨後的日子裡我想通過BLOG的方式記錄下我在實際工作中學習到的東西(也就是人們常說的"經驗",很寶貴的喲!),然後和大家分享我的經驗,也希望能和大家對相關問題進行深入的討論。寫這些的另外的一個目的記錄下我成長的曆程。標題:Learn From Real Coding -
Time of Update: 2018-12-03
引子:網上對MFC的批評不絕於耳,說MFC這樣,那樣不好,甚至有網友直接用“爛”來形容MFC。我學習MF C也有一段時間了,我自己感覺我的MFC水平也就是中等偏下,離熟練運用MFC還有一段距離。我深刻體會到學習MFC的“痛苦”,所以在工作中我一般都盡量避免使用MFC。前幾天在CSDN中看到關於MFC中用到了那些設計模式的討論,頓時覺得這是一個很有意義的討論。為什麼我們不可以換一個角度,從實現者的角度來分析和學習MFC?MFC作為一個龐大的應用程式架構(Application Framework)
Time of Update: 2018-12-03
是使用MATLAB函數inv求逆結果和本文介紹的神經網路演算法的MATLAB版的結果是c/c++實現的從結果的比較來看,該演算法是很好的 MATLAB版源碼function C=inverse_1(A)learning_rate=0.065;epoch=2500;C=zeros(size(A));I=eye(size(A));for i=1:epoch
Time of Update: 2018-12-03
下面是介紹映像檢索的一些評估方法。轉載自:http://blog.csdn.net/sxy0082002/article/details/7305917本文介紹映像檢索領域中一些常用的評判標準,首先的兩個是比較常用的查准率precision和查全率recall,然後介紹的是MPEG-7中推薦的方法Average Normalized Modified Retrieval Rank (ANMMRR)--------------------------------------------------
Time of Update: 2018-12-03
Time of Update: 2018-12-03
自動機匹配演算法常使用鏈表表示,這裡使用數組,佔用的空間太大了些,有時間詳細說說#include <iostream>using namespace std;const int alphabet_len=128;//construct an automation/*int*/void preAuto(int* automation,const char* pattern,const int pattern_len){//int state=0;for (int
Time of Update: 2018-12-03
引言在解決某個演算法問題的時候,我們經常會遇到這樣的情況:單純解決這個問題本身並不難,但是如果在解決問題的同時我們還需要考慮到時間複雜度和空間複雜度,這時候情況就顯得稍微複雜一點。那麼對於某個具體的問 題,我們如何才能設計出高效的演算法呢?本文通過對一個具體問題的分析試圖闡述一個這樣的觀點:對題目已知條件的充分挖掘和理解是設計出高效演算法的前提。近日在CSDN上看到一個關於單鏈的演算法題:
Time of Update: 2018-12-03
前言C++物件模型經常會受到大家的關注,這個可以從論壇中大量的和C++物件模型有關的文章就可以看出來,但是我卻很少看到討論COM組件模型的討論和文章。我現在正在作一些和COM有關的工作,對這個問題也比較感興趣,我就想自己寫一篇關於這個主題的文章。本文的名字是借用一本非常著名的書的名字,那就是<Inside C++ Object Model>。選擇這個名字是不是有藉助<Inside C++ Object