国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

這篇具有很好參考價值的文章主要介紹了【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

??三維數(shù)字地球系列相關(guān)文章如下??:
1 【小沐學(xué)GIS】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)第一期
2 【小沐學(xué)GIS】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)第二期
3 【小沐學(xué)GIS】基于OpenSceneGraph(OSG)繪制三維數(shù)字地球Earth
4 【小沐學(xué)GIS】基于C++繪制太陽系SolarSystem(OpenGL、glfw、glut)
5 【小沐學(xué)GIS】基于C#繪制三維數(shù)字地球Earth(OpenGL)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

1、計算公式

球的三維坐標(biāo)表示為:
x 2 + y 2 + z 2 = R 2 x^2 + y^2 + z^2 = R^2 x2+y2+z2=R2

引入球的參數(shù)坐標(biāo)方程進(jìn)行離散化。以(u,v)表示球面上某一點(diǎn)的坐標(biāo),且u,v的取值范圍為[0 , 1],定義(u,v)到(x,y,z)的轉(zhuǎn)換如下:

{ x = R × s i n ( π × v ) c o s ( 2 π × u ) y = R × s i n ( π × v ) s i n ( 2 π × u ) z = R × c o s ( π × v ) \begin{cases} x=R×sin(\pi×v)cos(2\pi×u) \\ y=R×sin(\pi×v)sin(2\pi×u) \\ z=R×cos(\pi×v) \end{cases} ? ? ??x=R×sin(π×v)cos(2π×u)y=R×sin(π×v)sin(2π×u)z=R×cos(π×v)?

2、繪圖接口

在OpenGL中,所有圖形都是通過分解成三角形的方式進(jìn)行繪制。
glDrawArrays 和 glDrawElements 的作用都是從一個數(shù)據(jù)數(shù)組中提取數(shù)據(jù)渲染基本圖元。

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

  • GL_POINTS:把每一個頂點(diǎn)作為一個點(diǎn)進(jìn)行處理,頂點(diǎn)n即定義了點(diǎn)n,共繪制N個點(diǎn)。
  • GL_LINES:連接每兩個頂點(diǎn)作為一個獨(dú)立的線段,頂點(diǎn)2n-1和2n之間共定義了n條線段,總共繪制N/2條線段。
  • GL_LINE_STRIP:繪制從第一個頂點(diǎn)到最后一個頂點(diǎn)依次相連的一組線段,第n和n+1個頂點(diǎn)定義了線段n,總共繪制n-1條線段。
  • GL_LINE_LOOP:繪制從第一個頂點(diǎn)到最后一個頂點(diǎn)依次相連的一組線段,然后最后一個頂點(diǎn)和第一個頂點(diǎn)相連,第n和n+1個頂點(diǎn)定義了線段n,總共繪制n條線段。
  • GL_TRIANGLES:把每三個頂點(diǎn)作為一個獨(dú)立的三角形,頂點(diǎn)3n-2、3n-1和3n定義了第n個三角形,總共繪制N/3個三角形。
  • GL_TRIANGLE_STRIP:繪制一組相連的三角形,對于奇數(shù)n,頂點(diǎn)n、n+1和n+2定義了第n個三角形;對于偶數(shù)n,頂點(diǎn)n+1、n和n+2定義了第n個三角形,總共繪制N-2個三角形。
  • GL_TRIANGLE_FAN:繪制一組相連的三角形,三角形是由第一個頂點(diǎn)及其后給定的頂點(diǎn)確定,頂點(diǎn)1、n+1和n+2定義了第n個三角形,總共繪制N-2個三角形。

其中:
GL_TRIANGLES:V0V1V2, V3V4V5, V6V7V8……
GL_TRIANGLE_FAN:V0V1V2, V0V2V3, V0V3V4……
GL_TRIANGLE_STRIP:V0V1V2, V1V2V3, V2V3V4……

2.1 glDrawArrays

The glDrawArrays function specifies multiple primitives to render.

void WINAPI glDrawArrays(
   GLenum  mode,
   GLint   first,
   GLsizei count
);
mode:
GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON.

first:
The starting index in the enabled arrays.

count:
The number of indexes to render.

2.2 glDrawElements

The glDrawElements function renders primitives from array data.
The glDrawElements function is only available in OpenGL version 1.1 or later.

void WINAPI glDrawElements(
         GLenum  mode,
         GLsizei count,
         GLenum  type,
   const GLvoid  *indices
);
mode:
The kind of primitives to render. It can assume one of the following symbolic values: GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON.

count:
The number of elements to be rendered.

type:
The type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.

indices:
A pointer to the location where the indices are stored.

綁定VAO時也會自動綁定EBO。
不要在解綁VAO之前解綁EBO(GL_ELEMENT_ARRAY_BUFFER)。

3、代碼實(shí)現(xiàn)

#pragma once
#include "Point3d.h"
#include <vector>

class EarthGrid3d
{
public:
	EarthGrid3d();

	void generalSphereGrid();
	void generalSphereLines();

	int _uStepsNum;
	int _vStepNum;

	float *_verticesArr;
	int _verticesNum;

	int *_indicesArr;
	int _indicesNum;

	float *_linesArr;
	int _linesNum;
};
#include "EarthGrid3d.h"

EarthGrid3d::EarthGrid3d()
{
	_uStepsNum = 120;
	_vStepNum = 120;
}

void EarthGrid3d::generalSphereGrid()
{
	double ustep = 1 / (double)_uStepsNum, vstep = 1 / (double)_vStepNum;
	int np = 0;
	int nf = 0;

	_verticesNum = (_vStepNum*_uStepsNum + 1)*(3 + 2);
	_verticesArr = new float[_verticesNum];
	
	_indicesNum = (_uStepsNum * 2 + _uStepsNum * 2 * (_vStepNum - 2)) * 3;
	_indicesArr = new int[_indicesNum];
	
	//
	// 北極的一個點(diǎn)
	{
		Point3d pt0 = getSpherePoint(0, 0);
		_verticesArr[5 * np] = pt0.x;
		_verticesArr[5 * np + 1] = pt0.y;
		_verticesArr[5 * np + 2] = pt0.z;
		_verticesArr[5 * np + 3] = 0.5;
		_verticesArr[5 * np + 4] = 0;
		np++;
	}

	// 中間的點(diǎn)
	for (int j = 1; j < _vStepNum; j++) //v-1個點(diǎn)(共v+1個點(diǎn))
	{
		for (int i = 0; i <= _uStepsNum; i++) //u+1個點(diǎn) (共u+1個點(diǎn))
		{
			Point3d pt = getSpherePoint(ustep*i, vstep*j);
			_verticesArr[5 * np] = pt.x;
			_verticesArr[5 * np + 1] = pt.y;
			_verticesArr[5 * np + 2] = pt.z;
			_verticesArr[5 * np + 3] = 1 - ustep * i;
			_verticesArr[5 * np + 4] = vstep * j;
			np++;
		}
	}

	// 南極的一個點(diǎn)
	{
		Point3d pt1 = getSpherePoint(1, 1);
		_verticesArr[5 * np] = pt1.x;
		_verticesArr[5 * np + 1] = pt1.y;
		_verticesArr[5 * np + 2] = pt1.z;
		_verticesArr[5 * np + 3] = 0.5;
		_verticesArr[5 * np + 4] = 1;
		//np++;
	}

	//
	// 上下2行的三角形組
	for (int i = 0; i < _uStepsNum; i++) { 
		//第一層u個三角形
		_indicesArr[nf++] = 0;
		_indicesArr[nf++] = 1 + i;
		_indicesArr[nf++] = 2 + i;
		
		//最后一層u個三角形
		_indicesArr[nf++] = np - 1;
		_indicesArr[nf++] = np - 2 - i;
		_indicesArr[nf++] = np - 3 - i;
	}

	// 中間的v-2行的三角形組
	for (int j = 0; j < _vStepNum - 2; j++) {  //共v-2行
		for (int i = 0; i < _uStepsNum; i++) { //共u列

			/*
			*       |\
			*       | \
			*       |__\
			*/
			_indicesArr[nf++] = (_uStepsNum + 1)*j + 1 + i;
			_indicesArr[nf++] = (_uStepsNum + 1)*(j + 1) + 1 + i;
			_indicesArr[nf++] = (_uStepsNum + 1)*(j + 1) + 2 + i;

			/*
			*       __
			*       \  |
			*        \ |
			*         \|
			*/
			_indicesArr[nf++] = (_uStepsNum + 1)*j + 1 + i;
			_indicesArr[nf++] = (_uStepsNum + 1)*(j + 1) + 2 + i;
			_indicesArr[nf++] = (_uStepsNum + 1)*j + 2 + i;
		}
	}
}

void EarthGrid3d::generalSphereLines()
{
	double ustep = 1 / (double)_uStepsNum, vstep = 1 / (double)_vStepNum;
	int np = 0;

	_linesNum = (_vStepNum*_uStepsNum)*6;
	_linesArr = new float[_linesNum];

	// 繪制24條經(jīng)線
	for (int i = 0; i < _uStepsNum; i+= _uStepsNum/24)
	{
		for (int j = 0; j < _vStepNum; j++)
		{
			Point3d pt = getSpherePoint(ustep*i, vstep*j, 1.01f);
			_linesArr[3 * np] = pt.x;
			_linesArr[3 * np + 1] = pt.y;
			_linesArr[3 * np + 2] = pt.z;
			np++;

			Point3d pt2 = getSpherePoint(ustep*i, vstep*(j+1), 1.01f);
			_linesArr[3 * np] = pt2.x;
			_linesArr[3 * np + 1] = pt2.y;
			_linesArr[3 * np + 2] = pt2.z;
			np++;
		}
	}

	// 繪制1條緯線(赤道)
	for (int i = 0; i < _uStepsNum; i++)
	{
		int j = _vStepNum / 2;
		//for (int j = 0; j < _vStepNum; j++)
		{
			Point3d pt = getSpherePoint(ustep*i, vstep*j, 1.01f);
			_linesArr[3 * np] = pt.x;
			_linesArr[3 * np + 1] = pt.y;
			_linesArr[3 * np + 2] = pt.z;
			np++;

			Point3d pt2 = getSpherePoint(ustep*(i+1), vstep*j, 1.01f);
			_linesArr[3 * np] = pt2.x;
			_linesArr[3 * np + 1] = pt2.y;
			_linesArr[3 * np + 2] = pt2.z;
			np++;
		}
	}
}

4、運(yùn)行結(jié)果(3d整體地球)

4.1 opengl / glut / c++ (3d)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

4.2 opengl / glfw / glad / stb_image / c++ (3d)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

4.3 opengl / glfw / glad / stb_image /c++ (3d,天空盒,高度貼圖)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

4.4 opengl / win32/ glew / FreeImage / c++ (3d,大氣層)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

4.5 opengl / freeglut / glew / FreeImage / c++ (3d,法線貼圖)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

4.6 opengl / glfw / glad / stb_image / freetype / c++ (2d/3d,加載geojson)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)
【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

4.7 opengl / glfw / glad / FreeImage / c++ (3d,白天層/黑夜層/云層)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)
【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

4.8 opengl / glut / gl3w / c++ (3d,太陽系)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

4.9 opengl / glut / glew / glm / openssl / c++ (3d,在線地震數(shù)據(jù)顯示)

GeoJSON 是一種用于對各種地理數(shù)據(jù)結(jié)構(gòu)進(jìn)行編碼的格式。 GeoJSON 對象可以表示幾何、要素或 特征。GeoJSON 使用 JSON 標(biāo)準(zhǔn)。 GeoJSONP 源使用相同的 JSON 響應(yīng),但 GeoJSONP 響應(yīng) 包裝在函數(shù)調(diào)用中,eqfeed_callback。

  • 在線地震數(shù)據(jù)的請求結(jié)果json如下:
{
  type: "FeatureCollection",
  metadata: {
    generated: Long Integer,
    url: String,
    title: String,
    api: String,
    count: Integer,
    status: Integer
  },
  bbox: [
    minimum longitude,
    minimum latitude,
    minimum depth,
    maximum longitude,
    maximum latitude,
    maximum depth
  ],
  features: [
    {
      type: "Feature",
      properties: {
        mag: Decimal,
        place: String,
        time: Long Integer,
        updated: Long Integer,
        tz: Integer,
        url: String,
        detail: String,
        felt:Integer,
        cdi: Decimal,
        mmi: Decimal,
        alert: String,
        status: String,
        tsunami: Integer,
        sig:Integer,
        net: String,
        code: String,
        ids: String,
        sources: String,
        types: String,
        nst: Integer,
        dmin: Decimal,
        rms: Decimal,
        gap: Decimal,
        magType: String,
        type: String
      },
      geometry: {
        type: "Point",
        coordinates: [
          longitude,
          latitude,
          depth
        ]
      },
      id: String
    },
    …
  ]
}

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)
中國地震臺網(wǎng)中心:
http://news.ceic.ac.cn/index.html?time=1674619089

  • 顯示最近三天內(nèi)的地震情況:
    【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

  • 顯示最近一個月內(nèi)的地震情況:
    【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

4.10 opengl / fltk / glew / curl / openssl / c++ / geojson (3d,在線地震數(shù)據(jù)顯示2)

  • 顯示最近小時內(nèi)的地震情況:
    【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)
  • 顯示最近一個月內(nèi)的地震情況:
    【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

5、運(yùn)行結(jié)果(3d瓦片地球)

5.1 opengl / glfw / glew / curl / proj4 / gdal / stb_image / c++ (3d,瓦片貼圖)

  • 加載衛(wèi)星影像圖
    【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

  • 加載行政地圖
    【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

  • 加載shp(shapefile)文件和顯示:
    【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

  • 繪制自定義的圖形元素(線、面等)
    【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

  • 切換地球底圖的瓦片圖源

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

5.2 opengl / glfw / glad / boost::asio / proj4 / stb_image / c++ (3d,瓦片貼圖)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

6、運(yùn)行結(jié)果(2d瓦片地球)

6.1 opengl / sdl / boost::asio / c++ (2d,瓦片貼圖)

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)

以上章節(jié)所有地球代碼,均在VS2017開發(fā)環(huán)境編譯通過。

結(jié)語

如果您覺得該方法或代碼有一點(diǎn)點(diǎn)用處,可以給作者點(diǎn)個贊,或打賞杯咖啡;╮( ̄▽ ̄)╭
如果您感覺方法或代碼不咋地//(ㄒoㄒ)//,就在評論處留言,作者繼續(xù)改進(jìn);o_O???
如果您需要相關(guān)功能的代碼定制化開發(fā),可以留言私信作者;(????)
感謝各位童鞋們的支持!( ′ ▽′ )? ( ′ ▽′)っ!??!

【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)
文章來源地址http://www.zghlxwxcb.cn/news/detail-416291.html

到了這里,關(guān)于【GIS開發(fā)】基于C++繪制三維數(shù)字地球Earth(OpenGL、glfw、glut)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 三維GIS開發(fā):利用Cesium加載 M3D 地質(zhì)體模型(附代碼)

    三維GIS開發(fā):利用Cesium加載 M3D 地質(zhì)體模型(附代碼)

    實(shí)現(xiàn)步驟 Step 1.? 引用開發(fā)庫 : 本示例引用 local 本地【include-cesium-local.js】開發(fā)庫,完成此步驟后才可調(diào)用三維 WebGL 的功能; Step 2.? 創(chuàng)建布局 : 創(chuàng)建 id=\\\'GlobeView\\\' 的 div 作為三維視圖的容器,并設(shè)置其樣式; Step 3.? 構(gòu)造三維場景控件 : 實(shí)例化 Cesium.WebSceneControl 對象,完成

    2024年02月10日
    瀏覽(86)
  • 基于C++開發(fā)的醫(yī)院醫(yī)學(xué)影像PACS 可二次開發(fā),三維重建

    基于C++開發(fā)的醫(yī)院醫(yī)學(xué)影像PACS 可二次開發(fā),三維重建

    醫(yī)學(xué)影像PACS系統(tǒng)源碼,集成三維影像后處理功能,包括三維多平面重建、三維容積重建、三維表面重建、三維虛擬內(nèi)窺鏡、最大/小密度投影、心臟動脈鈣化分析等功能。系統(tǒng)功能強(qiáng)大,代碼完整。有演示。 本套PACS系統(tǒng)專門針對醫(yī)院工作流程設(shè)計的,完全符合醫(yī)院需要,配置

    2023年04月23日
    瀏覽(24)
  • 愛心代碼html或c++調(diào)用opengl庫兩種實(shí)現(xiàn)(二維三維動態(tài)也可鍵盤交互)

    愛心代碼html或c++調(diào)用opengl庫兩種實(shí)現(xiàn)(二維三維動態(tài)也可鍵盤交互)

    最近打火機(jī)與公主裙電視劇追瘋了!??!誰還沒有李峋愛心代碼!!快來領(lǐng)?。〕两阶穭〈髮W(xué)生今天午覺沒睡怒干愛心代碼現(xiàn)有三分資源如下: 效果: 1)、公主兩個for循環(huán)二維C++控制臺輸出愛心; 2)、原創(chuàng)C++語言利用openGL庫實(shí)現(xiàn)三維動態(tài)旋轉(zhuǎn)粉色愛心; 以上兩者可以在

    2024年02月13日
    瀏覽(28)
  • 手機(jī)上獲取地圖某個定位的經(jīng)緯度坐標(biāo)的方法 - 查詢經(jīng)度、緯度 - 百度地圖app、高德地圖app、Earth地球

    手機(jī)上獲取地圖某個定位的經(jīng)緯度坐標(biāo)的方法 - 查詢經(jīng)度、緯度 - 百度地圖app、高德地圖app、Earth地球

    拖動、定位、獲得左上角的 東經(jīng)、北緯等信息,就是經(jīng)度、緯度了。 手機(jī)安裝app 蘋果: Earth-地球 安卓、鴻蒙: Earth地球 ? 打開軟件,拖動地圖 ? 左上角的坐標(biāo)就是 經(jīng)度、緯度 ? ? 百度地圖app、高德地圖app都無法獲取坐標(biāo)、經(jīng)度、緯度 ? 手機(jī)也可以用 網(wǎng)頁版坐標(biāo)拾取系

    2024年02月09日
    瀏覽(25)
  • GIS工具maptalks開發(fā)手冊(四)01——渲染地圖信息框之添加繪制工具、獲取點(diǎn)的坐標(biāo)數(shù)據(jù)信息框進(jìn)行展示

    GIS工具maptalks開發(fā)手冊(四)01——渲染地圖信息框之添加繪制工具、獲取點(diǎn)的坐標(biāo)數(shù)據(jù)信息框進(jìn)行展示

    GIS工具maptalks開發(fā)手冊(四)01——渲染地圖信息框之添加繪制工具、獲取點(diǎn)的坐標(biāo)數(shù)據(jù)信息框進(jìn)行展示 1、官網(wǎng)示例 官網(wǎng)示例-地圖信息框——https://maptalks.org/examples/cn/ui-control/ui-map-infownd/#ui-control_ui-map-infownd 效果 代碼 index.html 2、官網(wǎng)示例改造版 效果 index.html 3、獲取圖層的坐標(biāo)

    2024年02月05日
    瀏覽(170)
  • Unity WebGL三維地球

    Unity WebGL三維地球

    1.支持arcgis,天地圖,bingmap,谷歌地圖,高德地圖等影像加載 2.支持高程三維地形加載 3.支持在線,離線數(shù)據(jù)加載 4.支持unity坐標(biāo)和經(jīng)緯度坐標(biāo)互相轉(zhuǎn)換 5.支持fbx模型放置在地球上 6.支持傾斜攝影數(shù)據(jù)放置在地球上 7.支持pc,webgl平臺發(fā)布 weixin:huazaikv 相關(guān)視頻: unity三維地球_W

    2024年02月12日
    瀏覽(19)
  • 自主三維GIS引擎筆記-實(shí)現(xiàn)三維球045

    自主三維GIS引擎筆記-實(shí)現(xiàn)三維球045

    最小GIS迷你地球?qū)崿F(xiàn)(實(shí)現(xiàn)一套最小的三維GIS球體)? V1.0.0.0版本 數(shù)據(jù)加代碼比較大(主要是數(shù)據(jù),數(shù)據(jù)有1G多,代碼約5000行), 無法上傳,如需要微信聯(lián)系(17381925156) 效果圖: ? 相機(jī)推進(jìn)后: 1.1 實(shí)現(xiàn)基本的衛(wèi)片數(shù)據(jù)瀏覽 1.2 實(shí)現(xiàn)高程數(shù)據(jù)的瀏覽 1.3? ?實(shí)現(xiàn)基本的三維操作,平

    2024年02月08日
    瀏覽(20)
  • GIS數(shù)據(jù)格式坐標(biāo)轉(zhuǎn)換(地球坐標(biāo)WGS84、GCJ-02、火星坐標(biāo)、百度坐標(biāo)BD-09、國家大地坐標(biāo)系CGCS2000)

    GIS數(shù)據(jù)格式坐標(biāo)轉(zhuǎn)換(地球坐標(biāo)WGS84、GCJ-02、火星坐標(biāo)、百度坐標(biāo)BD-09、國家大地坐標(biāo)系CGCS2000)

    地理信息系統(tǒng) (GIS) 是一個創(chuàng)建、管理、分析和繪制所有類型數(shù)據(jù)的系統(tǒng)。GIS 將數(shù)據(jù)連接到地圖,將位置數(shù)據(jù)(事物所在位置)與所有類型的描述性信息(事物在該位置的情況)集成到一起。這可以為適用于自然科學(xué)和幾乎所有行業(yè)的制圖和分析提供基礎(chǔ)。GIS 幫助用戶了解模

    2023年04月16日
    瀏覽(24)
  • 基于Solidworks的三維光路結(jié)構(gòu)示意圖繪制實(shí)例演示-技術(shù)細(xì)節(jié)

    基于Solidworks對光路結(jié)構(gòu)進(jìn)行繪制,最重要的一步是如何 獲取光學(xué)元件的三維模型 。當(dāng)準(zhǔn)備好三維模型后,第二步則是需要 激光光束 的繪制。最后一步是

    2024年02月11日
    瀏覽(163)
  • 【Lidar】基于Python的三維點(diǎn)云數(shù)據(jù)轉(zhuǎn)二維平面+散點(diǎn)圖繪制

    【Lidar】基于Python的三維點(diǎn)云數(shù)據(jù)轉(zhuǎn)二維平面+散點(diǎn)圖繪制

    ? ? ? ? 最近一直在搞點(diǎn)云相關(guān)的操作,有時候在處理點(diǎn)云數(shù)據(jù)時需要查看處理后的數(shù)據(jù)是否滿足需求,所以就想著寫一套展示點(diǎn)云的代碼。之前已經(jīng)分享過如何可視化點(diǎn)云了,感興趣的可以自己去看下:【Lidar】基于Python的Open3D庫可視化點(diǎn)云數(shù)據(jù)。但是這個是3維展示,不滿

    2024年02月21日
    瀏覽(44)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包