随笔分类 - 图形学 & GIS算法
学习计算机图形学和GIS算法的心得体会及整理!
摘要:近几日研究了CGAL的surface_mesh生成和分割, 有些注意事项: 1.网格的三角网要一个接一个邻接着插入,不断验证定向(orient),不然最后可能就有的三角形缺失了。 2.采用四个点的面元插入,实际并不是三角形,无法进行Polygon_mesh_processing中的分割(split)
阅读全文
摘要:1. 软件环境 Visual Studio Ultimate 2013安装包 QT 5.6.2安装包 Qt-vs-addin-1.2.5安装包(Qt用于VS开发环境的菜单配置等的插件) Boost 1.69安装包 压缩文件CGAL-4.13 (编译好的版本,链接库在文件夹的sdk目录中。可以直接解压
阅读全文
摘要:1.三点求圆心和半径 https://blog.csdn.net/liyuanbhu/article/details/52891868 2.最小二乘拟合圆
阅读全文
摘要:Bezier曲线、B样条和NURBS,NURBS是Non-Uniform Rational B-Splines的缩写,都是根据控制点来生成曲线的,那么他们有什么区别了?简单来说,就是: Bezier曲线中的每个控制点都会影响整个曲线的形状,而B样条中的控制点只会影响整个曲线的一部分,显然B样条提供了
阅读全文
摘要:读取shp中的点,读取shp中的线, (1)读取shp中的多边形,修改属性字段的值。 类库版本:geos3.6.2,shapelib1.3 添加引用: #include "geos.h"using namespace geos; 定义类变量: GeometryFactory::unique_ptr
阅读全文
摘要:CGAL带岛多边形三角化,并输出(*.ply)格式的模型 模型输出的关键是节点和索引 #include <CGAL/Triangulation_vertex_base_with_id_2.h>#include <CGAL/Triangulation_face_base_with_info_2.h>
阅读全文
摘要:概念 (1)Piecewise linear complex (PLC) 分段线性复合形 (2)Cell complex 单元复形 [1] (胞腔复形? 元胞复形) A separable space that is a union of non-intersecting cells. Here,
阅读全文
摘要:环境:Window10,VS2013 ,QT5.6.2 64bit 1.按装boost_1_64_0 boost_1_64_0-msvc-12.0-64.exe 2.zlib-1.2.11.tar.gz编译很容易 3.QGLViewer编译2.6 4.CGAL-4.10-Setup.exe安装包中自
阅读全文
摘要:接了一个任务,要处理DEM原始数据中的高程异常值,如图中的异常亮点。想了一下,以前处理过建筑物附近的DEM铲平,那么高程异常值应该如何处理呢?显然直接铲平时不太合理的,需要利用异常值周围的高程进行内插(没有高精度的DEM)。思路如下:1、首先建立一个面图层,手工圈出异常值的区域。2、建立一个点图层,...
阅读全文
摘要:任意多边形求交: private void btnPolygon_Click(object sender, EventArgs e) { double[] Xs = new double[] { 30, 260, 130, 350, 250, 330, 320, ...
阅读全文
摘要:用DotSpatial.Topology进行的测试,即使用NetTopologySuite类库进行测试:
阅读全文
摘要:Comparison of the different algorithms for Polygon Boolean operations.Michael Leonov 1998http://www.angusj.com/delphi/clipper.php#screenshotshttp://ww...
阅读全文
摘要:http://miconvexhull.codeplex.com/可以生成2、3维的最小凸包。可以进行狄洛尼三角剖分,生成Voronoi多边形。This project is a convex hull algorithm and library for 2D, 3D, and higher dim...
阅读全文
摘要:线性四叉树十进制Morton码计算,具体算法描述龚健雅《地理信息系统基础》P108
阅读全文
摘要:每次都以为自己理解了Dijkstra这个算法,但是过没多久又忘记了,这应该是第4、5次重温这个算法了。 这次是看的胡鹏的《地理信息系统》,看完之后突然意识到用数学公式表示算法流程是如此的好理解,堪称完美。内容摘抄如下: 网络中的最短路径是一条简单路径,即是一条不与自身相交的路径,最短路径搜索...
阅读全文
摘要:1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using ESRI.ArcGIS.Geometry; 6 using RGeos.Geome...
阅读全文
摘要:在RGEOS项目中,投影变换是通过Proj.Net来实现的。支持的投影主要包括AlbersProjection、TransverseMercator、Mercator、Krovak、Lambert Conformal Conic 2SP,自己扩展了一个GaussKruger投影。以下实现了一个WGS...
阅读全文
摘要:SharpMap真的很强大,这里通过改造GdalRasterLayer类实现了在RGeos项目中支持栅格图像的读取和显示,同时支持影像的无级缩放。GdalRasterLayer通过读取FWTools环境变量找到下面对应的GDAL类库。这里直接采用GDAL1.9的.net 32封送类库实现。不过好像不...
阅读全文
摘要:蓝色为地理坐标系XOY,记为坐标系A;黄色为屏幕坐标系xoy,记为坐标系B。地图的左下角点为(X0,Y0)可很容易的平移到坐标原点。因此这里只考虑地图位于坐标原点的情况,如图二也记为坐标系A。设地理坐标系X’OY’中任意一点为A(X1,Y1),对应于屏幕坐标系B中的点A’为a(x1,y1);屏幕坐标以像素为单位,地理坐标以米为单位,两者之间存在固定的比例关系。屏幕高度为H。假设1像素对应1m,此时缩放比例Zoom=1。可以建立简单的关系:(1)如图三,认为两个坐标系固定,首先在屏幕坐标系将所有的地图左下角移动到屏幕中心(W/2,H/2)。平移向量(W/2,-H/2),此时A点屏幕坐标系坐标:(
阅读全文