自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (4)
  • 收藏
  • 关注

原创 C++UDP使用示例

C++UDP使用示例。

2024-04-20 19:40:54 264

原创 C++学习笔记

【代码】【无标题】

2024-04-20 18:58:26 177

原创 osgEarth加载在线数据

lyrs=s@189&gl=cn&x={x}&y={y}&z={z}(或者http://mt1.google.cn/vt/lyrs=s&x={x}&y={y}&z={z})lys参数可选值包括:h(街道图)、m(街道图)、p(街道图)、r(街道图)、s(影像无注记)、y(影像含注记)、t(地形图)Y-瓦片行号,从北向南(有些也可能是从南向北),依次0,1,2,……X-瓦片列号,从西向东(0->360),依次0,1,2,街道:(z>=3才有数据)矢量底图:(z>=1)影像图:(z>=1)

2023-08-25 15:49:26 670

原创 【无标题】

cessna->addChild( osgDB::readNodeFile("cessna.osg.0,0,90.rot") );加载模型并旋转。 代码中为沿Z轴旋转90度

2022-03-31 14:28:35 126

原创 C++ 生成随机数

#include <vector>#include <iostream>#include <random>#include <ctime>int main(){ std::default_random_engine e(time(0)); std::uniform_real_distribution<double> u(0, 1); //std::uniform_int_distribution<double> u(0

2022-03-21 15:29:05 1020

原创 OsgEarth节点跟随

osgEarth::Viewpoint vp;//设置视点参数,focalPoint()函数返回的是一个点_point,然后调用set()函数进行设置,第一个参数是空间参考参数,第二个是经度,第三个是纬度,第四个是Z值//最后一个参数用来描述Z是怎么解释的,有两种,ALTMODE_ABSOLUTE是绝对高程,从椭球体(?)开始算的,ALTMODE_RELATIVE是相对高程,从地形的标高以上开始算的,就是基准点在那个经纬度对应的点的最高处vp.focalPoint()->set(mapNode-

2022-01-14 11:02:50 615

原创 Python拼图

import PIL.Image as Imageimport os IMAGES_PATH = '王者荣耀图片爬取\\' # 图片集地址IMAGES_FORMAT = ['.jpg', '.JPG'] # 图片格式IMAGE_WIDTH = 882 # 每张小图片的大小IMAGE_HEIGHT = 1920 # 每张小图片的大小IMAGE_ROW = 21 # 图片间隔,也就是合并成一张图后,一共有几行IMAGE_COLUMN = 21 # 图片间隔,也就是合并成一张图后,一共

2022-01-07 17:34:58 927

原创 Python使用openCV生成素描图

import cv2, numpy img = cv2.imread('1.jpg', 1 )cv2.imshow('img', img)height = img.shape[0]width = img.shape[1]gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#首先我们需要用opencv将图片读取,生成图片的灰度图并反色。dst = 255 - gray dst_gauss = cv2.GaussianBlur(dst, (9, 9), 0

2022-01-07 10:46:26 3160

原创 osgEarth根据MatrixTransform获取经纬度、欧拉值

//根据matrixTransform获取经纬度osg::Vec3d getModelPosition(osg::ref_ptr<osg::MatrixTransform> m_pModelNode){ osg::Vec3d posXYZ = osg::Vec3d(); osg::Vec3d currentPosition = osg::Vec3d(); if (m_pModelNode) { osg::Matrix mat = m_pModelNode->getMatri

2022-01-06 15:58:08 1728

原创 python读取不同编码的文本

with open(filePath,"r",encoding='gb18030', errors='ignore') as fr:

2022-01-06 10:08:22 369

原创 osgEarth 局部坐标系用法

//节点osg::ref_ptr<osg::Node> nd = new osg::Node;//全局geometryosg::ref_ptr<osg::Geometry> geometry = new osg::Geometry;//矩阵相关osg::Matrix _BasePointMat;osg::Matrixd _BasePointInverseMat;osg::ref_ptr<osg::MatrixTransform> matTrans1 =

2022-01-06 10:01:36 656

原创 Python 图片处理

-- coding: utf-8 --from PIL import Imageimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties#引入本地字体文件,用于下面title的打印,不然中文会有乱码font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)#打开图片(这里替换成你自己电脑本地的图片)img

2021-12-31 14:48:33 1468

原创 C++ 遍历文件夹下所有文件,包括子目录

#include <iostream> #include <io.h> #include <string> #include <vector> using namespace std;void getFiles(const std::string & path, std::vector<std::string> & files){ //文件句柄 intptr_t hFile = 0; //文件信息,

2021-12-20 09:58:29 1652

原创 C++ 数据写入char*

class DataConverter{public: DataConverter(unsigned int numBytes) : _startPtr(0), _endPtr(0), _swapBytes(false), _currentPtr(0) { _currentPtr = _startPtr = new char[numBytes]; _endPtr = _startPtr + numBytes; _numBytes = numBytes; } c

2021-12-06 14:28:43 1816

原创 double转std::string 保留小数点

template < class T>std::string ConvertToString(T value){ std::stringstream ss; ss << setiosflags(ios::fixed)<< setprecision(4) << value; //保留4位小数点 避免科学计数 return ss.str();}

2021-12-01 14:57:07 978

原创 osgEarth::Util::Controls::LabelControl 显示汉字

//记得加上头文件#include <Windows.h>//转换为中文字符进行显示void gb2312ToUnicode(const string& src, wstring& result){int n = MultiByteToWideChar(CP_ACP, 0, src.c_str(), -1, NULL, 0);result.resize(n);::MultiByteToWideChar(CP_ACP, 0, src.c_str(), -1, (LPW

2021-11-30 17:58:27 453

原创 编码。。。。。。。。。

英文字母和中文汉字在不同字符集编码下的字节数英文字母:字节数 : 1;编码:GB2312字节数 : 1;编码:GBK字节数 : 1;编码:GB18030字节数 : 1;编码:ISO-8859-1字节数 : 1;编码:UTF-8字节数 : 4;编码:UTF-16字节数 : 2;编码:UTF-16BE字节数 : 2;编码:UTF-16LE中文汉字:字节数 : 2;编码:GB2312字节数 : 2;编码:GBK字节数 : 2;编码:GB18030字节数 : 1;编码:ISO-8859-

2021-11-12 17:37:29 78

原创 齐次坐标记录

由 August Ferdinand Möbius(不错,就是那个莫比乌斯圈的那位) 提出的齐次坐标,使图形和几何学的计算在投影空间中成为可能。齐次坐标是用N+1个数来表示N维坐标的一种方式。要制作二维齐次坐标,我们只需在现有坐标中增加一个额外的变量w。因此,笛卡尔坐标中的一点,(X,Y)在齐次坐标中就变成了(x,y,w)。而笛卡儿坐标中的X和Y在齐次坐标中的x、y和w则重新表达为X = x/wY = y/w齐次坐标在计算机图形学中是非常有用的基本概念,通过增加一个额外的维度W后,可以用来对几何体进

2021-11-12 14:23:16 376

原创 QT5 OSG汉字显示

OSG中的汉字显示需要传入宽字符,调试的时候看到的变量值如下图所示的时候才是对的:注意字符串值前面的L。Qt5转宽字符的方法:QString name = QString::fromLocal8Bit("123321我");std::wstring sfs = name.toStdWString();const wchar_t* wText = sfs.c_str();将wText传入OSG的Text即可...

2021-10-27 14:28:40 233

原创 执行Install的时候出错。

VS2015编译完osg osgEarth后,执行Install的时候出错。用管理员的方式打开VS2015 即可

2021-08-23 15:12:45 217

原创 osgEarth坐标转换

```cpp// 屏幕坐标转世界坐标osg::Vec3d ScreenToWorld(const osg::Vec3d screen){ osg::Camera* camera = _global->Viewer->getCamera(); osg::Matrix VPW = camera->getViewMatrix() * camera->getProjectionMatrix() * camera->getViewport()->computeWindo.

2021-08-09 14:09:40 599

原创 高程生成TMS切片

高程生成TMS切片osgearth_package out.earth --tms --max-level 12 --out d:/tms out.earth的内容<map name="xinjiangdem" version="2"> <heightfield name = "xindem" driver = "gdal"> <url>D:/dev/gctest/gc2.tif</url> <ti

2021-08-05 11:07:25 403

原创 osgEarth 生成并加载mbtiles

osgEarth 生成并加载mbtiles生成mbtiles命令:osgearth_conv --in driver gdal --in url 1.tif --out driver mbtiles --out filename world.db --out format png注意:末尾处若用jpg格式会有奇怪的问题,png正常加载mbtiles<image name="影像图" driver="mbtiles" base="true" group="影像图"> <file

2021-08-05 10:21:37 1164 3

原创 OSG eye center up说明

auto eye = osg::Vec3d(50.0, 0.0, 0.0);auto center = osg::Vec3d(0.0, 0.0, 0.0);auto up = osg::Vec3d(0.0, 1.0, 1.0);viewer.getCamera()->setViewMatrixAsLookAt(eye, center, up);while (!viewer.done())//这里不能写成return viewer.run()这个函数会对场景中是否有漫游器进行判断,如果没有,就会

2021-07-26 10:51:19 870

转载 SQLite3 编译

概述 “最新版GDAL源码下载 ”一文中,我们为大家分享了最新版本的GDAL源码,而GDAL是需要依赖PROJ投影转换库的。 因此,在最新版投影转换工具PROJ源码 ”一文中,我们又为大家分享了PROJ的源码,如果你对PROJ源码进行编译,会发现它会需要SQLite的支持。 这里,我们再为大家分享SQLite的源码下载与编译的方法,你可以通过关注微信公众号“水经注GIS”...

2021-07-22 17:04:24 3162 1

原创 osg物体绕自身轴旋转

如果一个模型不在场景的中心点,这时候使用 osg::Matrix::rotate旋转的话,这个对象会围绕场景的中心点进行旋转,会转一个大圈,那么怎么做才能让他在任何位置的时候,围绕自己的轴心进行旋转?可以使用osg::PositionAttitudeTransform这个类来实现。 代码如下: #include <windows.h>#include <osgViewer/Viewer>#include <osgViewer/ViewerE...

2021-07-21 15:17:16 1303

转载 2021-07-21

如果一个模型不在场景的中心点,这时候使用 osg::Matrix::rotate在这里插入代码片旋转的话,这个对象会围绕场景的中心点进行旋转,会转一个大圈,那么怎么做才能让他在任何位置的时候,围绕自己的轴心进行旋转?解决思路如下:先保存物体在世界坐标系下的坐标,即物体在世界坐标系下的中心点坐标再将物体移动到世界坐标系的原点。在世界坐标系的原点旋转好后,再移动回原来的位置,即步骤1中的提到的坐标。const osg::BoundingSphere& loaded_bs = m_spTran

2021-07-21 13:45:58 45

原创 osg嵌入osgQOpenGLWidget 无法接收键盘事件

osgQOpenGLWidget已经做了对键盘事件的解析。嵌入QT后键盘没反应,osgQOpenGLWidget没有获取到键盘焦点,调用setFocus()函数即可,如下示例:ui.setupUi(this);QHBoxLayout* hboxLayout = new QHBoxLayout(this);osgQOpenGLWidget *pOsgW = new osgQOpenGLWidget;hboxLayout->addWidget(pOsgW);hboxLayout->setM

2021-07-20 17:18:01 982 4

原创 osg shader雷达

#include <windows.h>#include <osg/Geometry>#include <osg/Geode>#include <osgUtil/SmoothingVisitor>#include <osgViewer/Viewer>#include <osg/LineWidth>#include <osg/PolygonMode>//顶点着色器static const char* vertS

2021-07-20 17:01:36 908 2

原创 Windows 服务器生成Dump文件

故障转存文件生成添加头文件:#pragma once#include <tchar.h>#include <Windows.h>#include <DbgHelp.h>#pragma comment(lib, "user32.lib")int GenerateMiniDump(PEXCEPTION_POINTERS pExceptionPointers){ // 定义函数指针 typedef BOOL(WINAPI * MiniDumpWri

2021-01-29 10:11:22 419 1

原创 Shader实现雷达扫描效果

使用OSG和shader实现了雷达扫描效果#include <windows.h>#include <osg/Geometry>#include <osg/Geode>#include <osgUtil/SmoothingVisitor>#include <osgViewer/Viewer>#include <osg/LineWidth>#include <osg/PolygonMode>//顶点着色器s

2020-09-23 23:29:27 1306 1

world.geo.json

全球国界数据,包括中文名称,英文名称,国家简写。由本人亲自整理比较齐全。

2019-08-27

MFC实现TCP数据传输

VS2010 用MFC实现TCP文件传输

2015-05-30

MFC基础文字讲解及代码

MFC基础适合新手学习 详细的文字讲解 以及近百个实例 你值得拥有!

2014-06-14

VS2010 OpenGl 配置文件

Vs2010下的 OPenGl配置文件 本人测试通过 适合新手使用

2014-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除