![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机图形学
文章平均质量分 74
wblong_cs
GIS,CAD ,3D ,BIM
展开
-
VTK 三角剖分 Delaunay2D(九)—— 篱笆图(等距切割)
VTK 三角剖分 Delaunay2D(九)—— 篱笆图(等距切割)Description对输入的三维模型在某个方向等间距提取模型的切面轮廓线,并分别提取轮廓线生成截面。关键点:计算切割的Range分离轮廓线轮廓线的三角剖分(等高线的三角剖分)vtkContourTriangulatorCodeCreate Test Model/* 构建封闭表面(上下三角网和侧面三角网)...原创 2020-04-14 18:24:10 · 1885 阅读 · 1 评论 -
判断一个点是否在圆内(三点确定一个圆)
/// /// Returns true if the point (p) lies inside the circumcircle made up by points (p1,p2,p3) /// /// /// NOTE: A point on the edge is inside the circumcircle /// /// Point to check转载 2015-09-05 19:03:50 · 11121 阅读 · 0 评论 -
2D 凸包-2D Convex Hulls
本章描述了`CGAL`中用于生成二维凸包的函数,以及用于检查点集是否为强凸的函数。还有许多用于计算特殊极值点和包点子序列的函数,如一组点的下包和上包。原创 2024-09-02 20:44:44 · 696 阅读 · 0 评论 -
CGAL 2D Polygons
简单概述 `CGAL 2D Polygons`使用。原创 2024-09-01 09:27:02 · 792 阅读 · 0 评论 -
CavalierContours 二维线操作
用于偏移、交并补等组合等操作的 2D 多折段线库。原创 2024-03-29 20:10:59 · 1089 阅读 · 1 评论 -
多边形边的插值
使用ChatGPT-中文版 VSCode,基本可以写出一个简单的算法,但是正确与否还需要个人Debug及修改,可以节省一部分时间和精力。原创 2023-07-06 21:30:57 · 406 阅读 · 0 评论 -
3D 模型渲染
3D 模型渲染及UE4 模型渲染原创 2023-03-28 17:37:18 · 632 阅读 · 1 评论 -
UE4 Geometry Polygon
在计算几何中处理多边形的时候,经常会遇到这么一个问题,即给定多边形顶点,确定其顶点环绕顺序及计算多边面积。原创 2022-08-14 11:11:47 · 1115 阅读 · 0 评论 -
图形渲染管线
图形渲染管线温故知新,可以为师已。参考现代计算机图形学入门-闫令琪原创 2022-04-10 16:29:48 · 294 阅读 · 0 评论 -
拟合仿射变换
Fit an affine transformation to given points给定点拟合仿射变换The following Python function finds, by least squares fitting, an affine transformation that (approximately) transforms given set of points/vertices/vectors (from_pts) to another (to_pts). It works wit原创 2020-10-09 17:26:50 · 738 阅读 · 1 评论 -
“圆柱”曲面展开
“圆柱”曲面展开沿轴向展开,展开后横坐标为弧长,纵坐标为轴向坐标,高程为曲面到参考圆柱曲面的距离。定义参考圆柱//!轴enum AXIS { AXIS_X, AXIS_Y, AXIS_Z};//! 投影圆柱struct GEO_CYLINDER{ //!轴向 AXIS Axial; //!径向:横/纵 ,横向弧长,纵向偏差 AXIS RadialTran; AXIS RadialLong; //!径向截面圆心中心 double CenterTran; double Ce原创 2020-06-24 18:19:35 · 5345 阅读 · 5 评论 -
3D structural geological modelling particularly in sparse data environments
Surfe’s Inputs and Outputs 输入和输出Definitions 定义Interface: a boundary surface separating two different regions. E.g. interface that separates two lithologies, a fault surface that separates two contin...原创 2020-04-25 12:21:24 · 382 阅读 · 0 评论 -
VTK Learning Thirteen - VTK Label Three
VTK Learning Thirteen - VTK Label ThreeDescription使用vtkLabeledDataMapper显示属性标签。相关类vtkIdFilter和vtkCellCenters。Code#include<vtkRenderWindow.h>#include<vtkSmartPointer.h>#include<vtk...原创 2020-04-12 14:14:20 · 334 阅读 · 0 评论 -
VTK Learning Twelve - VTK Label Two
VTK Learning Twelve - VTK Label TwoDescription使用vtkVectorText构建标签(Label),将标签合并成一个vtkPolyData进行渲染。Code#include<vtkSmartPointer.h>#include<vtkPoints.h>#include<vtkMath.h>#inclu...原创 2020-04-12 13:44:37 · 227 阅读 · 0 评论 -
VTK Learning Eleven - VTK Label One
VTK Learning Eleven - VTK Label OneDescription属性标签的显示。vtkTextProperty设置文字属性。vtkPointSetToLabelHierarchy、vtkLabelPlacementMapper和vtkActor2D渲染文字。Code#include<vtkRenderWindow.h>#include<vt...原创 2020-04-12 13:42:11 · 260 阅读 · 0 评论 -
VTK 编译安装配置
VTK 编译安装配置编译环境cmake + visual studio 2015 Win64安装编译生成安装库,如下图配置打开D:\thirdparty\vtk\lib\cmake\vtk-8.2\VTKConfig.cmake查看并修改成当前路径,如下图所示:环境变量配置VTK_DIR 和并将%VTK_DIR%\bin添加到 path。测试编写HelloWorld.c...原创 2020-04-01 20:57:10 · 615 阅读 · 0 评论 -
VTK Learning Ten - VTK Drawing Points
VTK Learning Ten引言鼠标交互式绘制点。涉及的主要VTK 对象 vtkInteractorStyleTrackballCamera 和vtkPointPicker。Code#include <vtkSmartPointer.h>#include <vtkActor.h>#include <vtkProperty.h>#include...原创 2020-03-30 15:54:53 · 238 阅读 · 0 评论 -
VTK Learning Nine
VTK Learning Nine引言选取高亮Code#include <vtkVersion.h>#include <vtkSmartPointer.h>#include <vtkMath.h>#include <vtkActor.h>#include <vtkProperty.h>#include <vtkS...原创 2020-03-29 19:55:59 · 171 阅读 · 0 评论 -
VTK Learning Eight
VTK Learning Eight引言VTK事件回调演示。第一种回调函数模式;第二种继承并实现vtkCommand。回调函数模式#include <vtkCallbackCommand.h> long cntPress = 0;void MyCallbackFunc(vtkObject* object, unsigned long eid, void* clientda...原创 2020-03-26 18:23:07 · 157 阅读 · 0 评论 -
VTK Learning Seven
医疗图像显示之切片提取引言切片是指三维图像中的一个切面对应的图像。切面可以是过图像内部一点且平行于XY、YZ、XZ平面的平面,也可以是任意的过三维图像内部一点任意方向的平面。通过提取切片可以方便的浏览和分析图像内部组织结构,是医学图像浏览软件中的一个重要的功能。在VTK中vtkImageReslice类实现图像切片提取功能。Code#include <vtkSmartPointer....原创 2020-03-25 18:36:24 · 301 阅读 · 0 评论 -
VTK 三角剖分 Delaunay2D(八)—— 细分
VTK 三角剖分 Delaunay2D(八)—— 细分引言对剖分后的三角网进行细分vtkSubdivisionFilter。Code SnippetvtkSmartPointer<vtkLinearSubdivisionFilter>subdivision = vtkSmartPointer<vtkLinearSubdivisionFilter>::New...原创 2020-03-25 11:43:46 · 994 阅读 · 0 评论 -
ImageMagick图像处理
合并图像dir命令行使用//示该目录下的所有文件名列表,并以A至Z字母顺序及数字顺序进行排列dir /o:ndir /o:-n//按创建日期的顺序进行排列dir /o:ddir /o:-d//按从小到大的顺序进行排列dir /o:sdir /o:-s//按文件的上次访问时间和修改时间排序dir /t:adir /t:w//包含子目录 dir /s //不显示摘要信息...原创 2020-03-22 17:52:44 · 241 阅读 · 1 评论 -
VTK Learning Six
VTK Learning Six引言生成圆锥vtkCone、球vtkSphere、圆柱vtkCylinder和超二次曲面vtkSuperquadric等隐函数描述的几何体。vtkExtractPoints从这些隐函数中抽取点集。vtkGlyph3DMapper 3D 符号化点集。多个vtkRenderer设置视口。视口坐标(x轴向右,y轴向上)。代码#include <vtkB...原创 2020-03-22 17:45:26 · 289 阅读 · 0 评论 -
VTK 三角剖分 Delaunay2D(七)—— 选择切割区域
VTK 三角剖分 Delaunay2D(七)—— 选择切割区域引言通过设置vtkClipPolyData的函数SetGenerateClippedOutput(true)控制显示切割后保留的部分。false默认值保留inside区域,true保留outside区域。代码 vtkSmartPointer<vtkPolyLine> PolyLine = vtkSmartPointe...原创 2020-03-22 11:16:10 · 1540 阅读 · 1 评论 -
VTK Learning Five
VTK Learning Five引言绘制一个盘子,提取边界红色显示,同时标注边界点的索引值。代码#include <vtkSmartPointer.h>#include <vtkFeatureEdges.h>#include <vtkPolyData.h>#include <vtkDiskSource.h>#include <...原创 2020-03-20 17:17:34 · 249 阅读 · 0 评论 -
VTK Learning Four
VTK Learning Four引言生成一个圆柱,并设置颜色、角度。设置窗口背景颜色和窗口大小。代码#include "vtkCylinderSource.h"#include "vtkPolyDataMapper.h"#include "vtkActor.h"#include "vtkProperty.h"#include "vtkRenderer.h"#include "...原创 2020-03-19 17:52:35 · 148 阅读 · 0 评论 -
VTK Learning Three
VTK Learning Three引言生成规则格网vtkStructuredGrid,并用平面vtkPlane或者多段面vtkPolyPlane进行切割vtkCutter。切割获得的平面或多段面黄色显示。规则格网以线框模式显示RepresentationToWireframe。代码#include <vtkActor.h>#include <vtkIntersect...原创 2020-03-19 17:27:44 · 354 阅读 · 4 评论 -
VTK 三角剖分 Delaunay2D(六)—— 改进的折线裁剪封闭曲面
VTK 三角剖分 Delaunay2D(六)—— 改进的折线裁剪封闭曲面引言由vtkPolyLine生成vtkPolyPlane,作为vtkClipPolyData的裁剪函数输入,对vtkPolyData进行裁剪,并对截面进行填补。截面的填补采用上下两条折线点的集合,依次比较形成的四边形对角线的长度来生成三角网。具体步骤裁剪数据源的生成/*=======================...原创 2020-03-19 16:18:44 · 1967 阅读 · 6 评论 -
VTK Learning Two
VTK 图形vtkIntersectionPolyDataFilter使用引言`vtkIntersectionPolyDataFilter`计算两个`vtkPolyData`对象的交集。第一个输出两个`vtkPolyData`对象相交部分的线段集合。描述计算两个球体的交线。CMakeLists.txtcmake_minimum_required(VERSION 3.3 FATAL...原创 2020-03-18 18:01:45 · 523 阅读 · 3 评论 -
VTK 三角剖分 Delaunay2D(五)—— 折线裁剪封闭曲面
引言vtkClipClosedSurface使用一组平面集合剪切闭合曲面。输入vtkPolyData闭合曲面和vtkPlaneCollection一组剪裁平面。输出vtkPolyData新多边形闭合曲面。描述通过画折线的方式来裁剪封闭的多边形曲面。效果如下:实现模拟交互式生成折线//裁剪多段线 double pt0[3] = { -2.0, 2.0, 2.0}...原创 2020-03-18 17:08:51 · 2732 阅读 · 1 评论 -
VTK Learning One
VTK 图形vtkPolyData数据生成与显示引言多变形数据集vtkPolyData由顶点(Vertex)、多顶点(Polyvertex)、线(Line)、折线(Polyline)和三角形条带(Triangle Strip)等单元构成,多边形数据是不规则结构的,并且多边形数据集的单元再拓扑维度上有多种类型。vtkPolyData数据生成与显示几何结构数据:组成模型的点集;拓扑结构数...原创 2020-03-17 17:37:59 · 222 阅读 · 0 评论 -
VTK 三角剖分 Delaunay2D(四)—— 切面(cut)与切割(clip)
切面(cut)Code vtkSmartPointer<vtkPlane>plane = vtkSmartPointer<vtkPlane>::New(); plane->SetOrigin(5, 0, 0); //设置平面的位置 plane->SetNormal(1, 0, 0); //设置平面的法向量(参见平面的点法式方程) vtkSma...原创 2020-03-17 11:19:41 · 4767 阅读 · 2 评论 -
VTK 三角剖分 Delaunay2D (三)—— 自定义Filter类
Filter类定义了RequestData()函数,当Filter调用Update()后,响应RequestData()函数。VTK管线机制VTK中通过管线机制来实现组合各种算法处理数据。每一种算法是一个Filter,多个Filter连接一起形成了VTK管线。每个Filter可以分为两个组成部分:一个是算法部分,继承自vtkAlgorithm,主要负责处理输入的数据和信息;另一个是执行对象,...原创 2020-03-15 19:19:55 · 1619 阅读 · 0 评论 -
VTK 三角剖分 Delaunay2D (二)
Description随机生成上下两个三角网,由两个三角网的边界生成侧面三角网,组合成封闭的三角网。Code#include <vtkSmartPointer.h>#include <vtkPoints.h>#include <vtkPolyData.h>#include <vtkCellArray.h>#include <...原创 2020-03-15 12:22:08 · 1789 阅读 · 1 评论 -
VTK 三角剖分 Delaunay3D (一)
描述空间不规则点集,生成四面体网格。vtkSmartPointer<vtkNamedColors> color =vtkSmartPointer<vtkNamedColors>::New(); vtkSmartPointer<vtkPoints> ps = vtkSmartPointer<vtkPoints>::New(); unsi...原创 2020-03-13 12:34:17 · 4370 阅读 · 3 评论 -
VTK 三角剖分 Delaunay2D (一)
Description随机生成一系列网格点,进行三角剖分。同时获取边界点集,进行边界的缝合。CodeDelaunay2D.cxx#include <vtkSmartPointer.h>#include <vtkDelaunay2D.h>#include <vtkCleanPolyData.h>#include <vtkCellArray.h...原创 2020-03-12 08:56:50 · 2247 阅读 · 0 评论 -
空间范围内剪切盒的生成
#define ZERO_VALUE 0#define PI 3.14159265358979//点pos绕中心点CenterPos旋转anglefloat2 RotateCenterPoint(float2 CenterPos,float angle,float2 pos){ return float2( (pos.x - Cen...原创 2019-12-06 10:07:47 · 296 阅读 · 0 评论 -
详解方差协方差矩阵
协方差的定义 对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给定则X表示x轴可能出现的数,Y表示y轴可能出现的。注意这里是关键,给定了4转载 2014-10-30 19:24:30 · 2446 阅读 · 0 评论 -
齐次坐标的理解
一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做“三百年 重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”—— F.S. Hill转载 2014-10-05 19:31:57 · 527 阅读 · 0 评论