原创 Centos7.2系統下,在Qt5.0中嵌入OSG

最近也是因爲項目需求,需要在Centos7.2系統下用Qt5.0(現在最新版本已經到達Qt5.10.1),然後進行二三維場景的開發。對一個Linux系統和Qt的小白來講,這是一件很痛苦的事,網上在Linux系統下用Qt的資源太少了,後來靜

原创 Linux下 OSG開發,影像沒有紋理問題

今天在Centos下用OSG加載影像和三維場景,一直沒有紋理,在QT上通過後臺查看發現一個警告“detected Opengl error:'invalid enumerant' at after randerer::compile”,發

原创 解決Qt中GCC支持C++11標準問題

想必看到這篇博客的人都是奔着問題來的,所以這裏就不做關於什麼是GCC、C++11的介紹了。 1、什麼是C++0x C++0x是C++最新標準標準化過程中的曾用名,在這一系列文章中我們將介紹最新標準添加的一系列新的語言特性。在2011年9月

原创 Linux下使用GDAL/OGR

1、下載GDAL庫(以下命令語句,直接打開終端輸入即可) wget http://download.osgeo.org/gdal/2.3.0/gdal-2.3.0.tar.gz tar -xzvf gdal-2.3.0.tar.gz

原创 Linux上安裝ArcGIS Engine詳解

ArcGIS Engine的優勢之一就是其跨平臺性,既可以在Windows操作系統上使用,也可以在Linux操作系統上使用。由於都多數用戶都是在window上使用的,因此Linux系統下如何安裝ArcEngine的教程非常少,最近查閱各種

原创 OSG中讀取shp數據

OSG(OpenSceneGraph)主要被用來展示三維,但目前需要在Qt5.0中顯示二三維地圖並進行開發,所以就想到了OSG。上網查了一下OSG支持的數據格式:大量常用的2D 圖形文件格式,包括.bmp,.dds,.gif,.jpeg,

原创 QtCreator在控制檯輸出結果

在使用QtCreator的時候,有時希望能夠像VS一樣能在控制檯輸出信息,便於調試,其實也很簡單,只需做如下修改就好:1、項目->運行 界面下做如下修改2、在.pro文件中添加CONFIG +=console3、添加頭文件#include

原创 GDAL讀取查詢shp數據

用GDAL讀取shp數據都是基於OGR庫的,需要提前編譯好GDAL庫,配置好環境變量。這裏的代碼是在Linux系統下基於Qt5編寫和運行的,親測能成功運行。GDAL編譯可以查看之前的文檔,代碼及部分說明如下: #include "wid

原创 Win7下安裝Centos7.2

雖然這樣的博客網上有很多,但最近系統崩了,重裝的時候沒找對參考博客還是入坑了,這才決定寫一下,避免以後再犯同樣錯誤。安裝前準備:centos7.2系統ultraISO(軟碟通)不小於8G的U盤一個(建議16爲好,避免不必要的麻煩)一、啓動

原创 八大排序算法(一)--------插入排序、Shell排序

一、插入排序(Insertion  Sort) 1、原理:如同整理橋牌的方法,將每一張牌插入到其他已經有序的牌中的適當位置,直到全部記錄插入完畢爲止。 2、思路:(1)首先需要明確待排序的數列由兩部分組成,已排好序的部分(有序表)和待排序

原创 八大排序算法(一)--------冒泡排序、選擇排序

一、冒泡排序(Bubble Sort) 1、原理:比較相鄰的兩個元素,將值大的元素交換至右端。 2、思路:(1)比較相鄰的元素。將小數放在前面,大數放在後面;                 (2)對每一對相鄰元素作同樣的工作,從開始第一

原创 八大排序算法總結

概述說明: 即使大多數語言提供排序函數,但學習排序算法仍然有三大實際意義: 對排序算法的分析將有助於全面理解其他比較算法性能的方法; 類似的技巧也能有效解決其他類型的問題; 排序算法常常是我們解決其他問題的第一步。 (1)排序的定義:就是

原创 Qt獲取文件夾下的文件個數

先看代碼: QDir *dir=new QDir("D:\"); QStringList filter; //filter<<"*.dat"; //dir->setNameFilters(filter

原创 OSG實現類似arcgis中製圖的圖例效果

主要是通過osg的HUD來實現。 所謂HUD節點,就是無論三維場景怎麼樣變動,它都能在屏幕中固定的位置顯示的節點,即不隨場景和視點的變換而變換。 實現步驟: 1.創建相機,它的子節點繪製到這個HUD中 2.設置投影矩陣,這個就是投影到場

原创 osg顯示文字

在osg中顯示文字的時候,遇到了兩個問題: 1、編譯好的osg居然缺少插件,一看果然少了osgdb_freetype插件; 2、中午字體無法顯示,最後查到是需要轉成寬字節。   以下是Text文本節點的相關屬性和設置,字體設置那裏,有些字