作者:朱金燦來源:http://blog.csdn.net/clever101/ 這裡講述的二維圖形是指諸如三角形、多邊形圍繞某一中心點進行指定角度的旋轉。二維圖形其實是由一系列的離散點組成的,離散點放在特定的座標系就是向量。因此二維圖形的旋轉的基礎就是向量的旋轉。 首先考慮一個向量 p = (x,y) , 那麼它寫成座標的形式就是x+iy,這個就是P點在複平面的座標.問題: 假設現在有一個角度d,並且使向量p沿逆時針方向旋轉d角度並且不改變其模的大小.請問旋轉後
作者:朱金燦來源:http://blog.csdn.net/clever101/ 最近在看《3D數學基礎:圖形與遊戲開發》。該書第六章實現了一個簡單三維向量類。我看了一下代碼,發現有些地方是錯的,於是做了一些小修改。該三維向量類實現了一些常用的向量運算,如點乘、叉乘等。對此不熟悉的同學可以參考相關線性代數教材。現把源碼貼上:#include <float.h>//@brief 浮點數比較宏,採用VC的浮點數單精確度FLT_EPSILON#define FLOAT_EQ(x,
作者:朱金燦來源:http://blog.csdn.net/clever101 隨著源碼工程越來越龐大,花在編譯上面的時間越來越多。我們開始研究如何減少編譯時間。 一是執行每日自動構建。每日自動構建的原理很簡單:安裝每日構建工具CCNET(不熟悉該工具的同學可以去搜尋下)。然後在源碼伺服器上安裝編譯環境。源碼伺服器每天擷取最新代碼,每天下班後開始編譯最新代碼,經過一個晚上基本上就能把庫和應用程式都編好,到了第二天開發人員只需下載最新的庫檔案和代碼檔案而不須自己重新編譯。這樣就能大大節省時間了。
作者:朱金燦來源:http://blog.csdn.net/clever101/ 在二維圖形編輯中,滑鼠操作估計是最常用的操作。在一般的圖形操作中,一般的常用操作包括滑鼠點選取。這裡的點選取是指移動滑鼠點到指定的繪圖物件上,指定的繪圖物件進行高亮顯示(中的紅色顯示),意在提示使用者該繪圖物件出於選中的範圍,類似於:
作者:朱金燦來源:http://blog.csdn.net/clever101/ 儘管以前接觸過一下GDI+,但決心從現在開始系統學習GDI+,所用的教材為《精通GDI編程》。在VS 2010以下版本的VS 編譯器使用GDI+都需要對GDI+環境進行初始化操作(VS 2010中的MFC 10依賴GDI+,故不用初始化)。 VS 2003、VS 2005和VS 2008的GDI+環境初始化操作步驟一樣。
作者:朱金燦來源:http://blog.csdn.net/clever101/ 我發現使用GDI+來製作畫圖工具的調色盤極為方便(這個工作如果讓GDI來做不知要寫多少代碼)。下面我們學習一下GDI+的線性漸層畫刷:LinearGradientBrush類的用法,具體代碼如下: CDC *pDC = pView->GetDC(); // 定義一個畫圖對象Gdiplus::Graphics graphics(pDC->m_hDC); // 擷取視圖客戶區大小
概述最近在Winform的開發中用到了Flash動態圖表FusionCharts Free,這是個開源的flash組件。商業版可以使用FusionCharts V3,免費版本的是FusionCharts Free
作者:朱金燦來源:http://blog.csdn.net/clever101 得知晚上有月全食,到戶外和同事拍了幾張,供大家欣賞。 上面一張是直接拍的,效果不好,一半白一半紅。我戲稱:這讓我想起了火星的紅色土壤,傳到網上就說這是火星照片。 後來我們想到一個辦法,把一個望遠鏡擱到相機鏡頭,於是就有了下面一張: 大家覺得是不是有點效果呢?
1.添加Global.asax<br /> 2.註冊重寫方法 void Application_Start(object sender, EventArgs e) { // 在應用程式啟動時啟動並執行代碼 //註冊url重寫 RegisterRoutes(System.Web.Routing.RouteTable.Routes); }3.註冊用的方法 /// <summary> ///
void ReceiveTest() { //1 建立套節字 System.Net.Sockets.Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); s.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket,
作者:朱金燦來源:http://blog.csdn.net/clever101 公司要辦藝術節,要求每個人都要提交作品。想來想去自己小時候愛玩的一個玩具是蠟丸。那時候家裡大人吃的一種藥用蠟丸包著,吃完蠟丸就沒用了。這時它便變成了我最好玩的玩具(小時候真正稱得上的玩具很少)。我用它捏十八般兵器(其實不止十八種)。記憶中的得意之作是有一次我用蠟丸捏了個輕機槍,可以稱得上唯妙唯俏,機槍的槍管、彈夾和準星現在依稀在腦海裡浮現。可以說蠟丸陪伴了我童年一段快樂的時光!
作者:朱金燦來源:http://blog.csdn.net/clever101 最近台式機電源壞了(電源送去保修),從別處搞了個筆記本作業餘學習開發之用。筆記本開發程式,不用不知道,一用之下才明白那是相當的難用。一是鍵盤難用,筆記本的鍵盤的易用性難比台式機,難怪上大學時我的一些愛玩遊戲的同學在筆記本上搞個外接鍵盤;二是筆記本的配置難比台式機。想起以前做的一個項目,帶著台式機到甲方單位進行現場開發,甲方單位負責人笑我所在的公司摳門,怎麼不配個筆記本,現在哥不禁笑了。
作者:朱金燦來源:http://blog.csdn.net/clever101 公司內部交流郵箱使用的是263收費郵箱。我對同事說“以我這種非專業的產品設計人員的眼光來看,263郵箱是我見到過的做得最爛的商業郵箱。” 我說這句話是有依據的。首先263郵箱缺乏鮮明的標識。讓我們看看一些網站和263郵箱的對比吧: 2
1 空間資料庫的準確性研究 地理資訊資料中誤差處理和不確定性錯誤處理的方法和技術,包括: ● 不確定性誤差模型● 誤差跟蹤並對誤差進行編碼的方法● 計算和表達在GIS應用中的誤差● 資料精度的評估● 資料品質、中繼資料、資料標準等問題研究 2 空間關係語言研究 ● 以地理空間概念的正常化形式為基礎,利用自然語言和數學方法,形成空間關係表達的理論● 關於定位表達的計算模型● 空間概念的擷取和表達● 拓撲關係的定義● 空間資訊的可視化● GIS的使用者介面 3 空間資料的多種表達方式研究 ●
FlexPaper實現文檔線上瀏覽(附源碼)轉自:http://www.cnblogs.com/sobne/articles/1822479.html 園子裡也有關於FlexPaper的文章,但都不怎麼詳細。 沒有較全的參數說明。就連官方網站都沒有。沒法,最後只得將swf檔案反編譯後查看了源碼才將裡面的參數全部弄出來。 好了,廢話不多說,開始正題。 1. 概述
作者:朱金燦來源:http://blog.csdn.net/clever101 應該說這不是一個高深的問題,不過研究下來還是有一點收穫。首先說說為什麼要擷取字串的精確繪製範圍,這個主要是為了提高繪圖效率,比如我們繪圖時只是修改某個地區的字串,在這種情況下更新整個客戶區肯定是不合理,因此擷取精確的範圍進行更新是一種通行的做法。
目前項目上有一個需求.需要從兩個點和到線路的走向. 這個主要應用在地圖和GIS方面在網上搜尋 了一大把也沒有正確的. 結果圖2 代碼如下: public double GetAngle(MapPoint pntFirst, MapPoint pntNext) { double dRotateAngle = Math.Atan2(Math.Abs(pntFirst.X - pntNext.X), Math.Abs(pntFirst.Y - pntNext.Y)
作者:朱金燦來源:http://blog.csdn.net/clever101 Boost庫就不多做介紹了。我的編譯環境為:Win
作者:朱金燦來源:http://blog.csdn.net/clever101 今天編一個程式,release版編譯連結均成功,運行時出錯,使用GetLastError擷取錯誤,錯誤資訊為記憶體位置訪問無效。經過上網搜尋及自己分析,發現是release版連結了debug版本的第三方庫造成的。一般來說,debug版程式連結release版庫沒有問題,但是release版連結了debug版本的會有問題,而且問題隱蔽,錯誤難以尋找。debug版和release版具體區別可以看這篇文章:
作者:朱金燦來源:http://blog.csdn.net/clever101 首先請先編譯或安裝boost庫,使用CodeBlocks編譯boost庫具體見:Boost庫在CodeBlocks環境下的編譯。以下內容主要翻譯自:BoostWindows Quick Ref ,我所用的編譯環境為Win 7家庭版,CodeBlocks V10.05, mingw32 v4.4.1,boostv1.42 1.