自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (2)
  • 收藏
  • 关注

原创 三维点坐标绕任意轴旋转后坐标

【代码】三维点坐标绕任意轴旋转后坐标。

2023-03-01 14:02:27 1056

原创 CGAL数据结构转VtkPolyData

【代码】CGAL数据结构转VtkPolyData。

2023-01-14 12:35:30 421

转载 vtkAreaPicker删除选中的cell

【代码】vtkAreaPicker删除选中的cell。

2022-12-18 19:53:03 423 2

原创 CGAL带洞剖分

CGAL带洞剖分。

2022-10-07 15:15:37 67

原创 C++实现四叉树索引

它将已知范围的空间划分为四个相等的子空间,如此递归下去,直至树的层次达到一定深度或者满足某种要求后停止分割。这里介绍的四叉树结构中,所有的点位置信息都存储在叶子节点上,中间节点以及根结点不存储点信息。3.四叉树结点数据结构:四叉树结点是四叉树结构的主要组成部分,主要用于存储点的最小外包矩形,深度,子节点指针等,也是四叉树算法操作的主要部分。(1)判断结点是否已经分裂,已分裂的选择合适的子节点,进行插入;(2)未分裂的查看是否过载,过载的分裂结点,重新插入;(1)通过父节点获取子节点的深度和范围;...

2022-08-10 14:48:23 1606 1

原创 受约束的 Delaunay 2D

输入点集和一个洞多边形边界,输出受约束的三角网信息。

2022-08-07 14:46:36 554 1

原创 Vtk设置背景渐变色及vtkCubeActor

代码】Vtk设置背景渐变色。

2022-08-04 19:10:39 985

原创 判断三维空间中三点是否共线

海伦公式 S=sqrt(p(p-a)(p-b)(p-c))利用海伦公式计算三角形面积,从而判断三点是否共线。其中a,b,c为三角形三边长度。

2022-08-04 11:39:03 3002

原创 计算三维空间中 点到直线的垂足

代码】计算三维空间中 点到直线的垂足。

2022-08-03 23:18:17 660

原创 QString转枚举类型

Qstring转枚举类型(RenderFeatureActorActorType)最后的Item即为转换的枚举类型。

2022-07-30 18:44:27 1020 1

原创 vtkStructuredPoints转vtkPolyData

输入vtkStructuredPoints,输出vtkPolyData。

2022-07-19 15:14:52 438

原创 vtkQuadricDecimation测试

vtkQuadricDecimation网格抽取(简化)

2022-07-16 14:15:42 239

原创 vtkCookieCutter测试

vtkCookieCutter用一个或多个多边形切割二维平面上定义的vtkPolyData。这里只设置了一个多边形进行切割。

2022-07-16 14:11:16 184

原创 vtkConvexHull2D计算凸包

vtkConvexHull2D围绕一组点生成凸包。红色点为输入的点集,灰色部分为求解的凸包。

2022-07-16 14:05:49 392

转载 VTK修炼之道52:图形基本操作进阶_多分辨率策略(模型抽取的三种方法)

原文链接:https://blog.csdn.net/shenziheng1/article/details/54850678vtkDecimatePro接收一个单元为三角网格的vtkPolyData数据,其中函数SetTargetReduction()用于设置变量TargetReduction的大小,将网格面片抽取的比例控制在0~1.这里设置为0.6,说明有60%的三角面片单元将被移除。使用这个函数可以得到不同程度的简化网格模型,不过,为确保函数效果,一般需要满足下面四个条件:在满足这四个条件情况下,可

2022-07-14 18:08:47 274

原创 vtkpolyline代码修改

修改为一条线一个cell

2022-07-03 10:39:57 185

原创 js解析文件

利用JavaScript解析.flt文件,并将其保存为json格式解析后效果:

2022-06-27 09:21:56 602

原创 C++读取数据存为vtkpolydata的线类型

读取数据的前4列

2022-06-22 16:04:40 427

转载 vtkpolydata

调用函数SetVerts将vtkCellArray按照离散点拓扑结构处理;  调用vtkPointSet类提供的SetPoints函数,设置几何数据点的坐标通过InsertNextCell(int)指定点的个数count,然后使用InsertCellPoint()方法一次添加一个点来创建单元。如果最初不知道计数,使用UpdateCellCount()方法更新单元个数,返回单元的单元id。调用函数SetLines将vtkCellArray按照线拓扑结构处理;  调用vtkPointSet类提供的Set

2022-06-21 16:42:03 340

原创 c++读取文件的某列

读取文件的1,2,4列

2022-06-21 14:58:15 607

转载 OpenGL——VAO与VBO

转载自链接: 这里注: VAO和VBO都是用来存储顶点信息的,并把这些信息送入顶点着色器。至于什么是顶点和顶点着色器,这里就不多说了,不了解的读者可自行CSDN。VBO的B为Buffer之意,用来存储顶点数据;VAO的A为Array,但我认为理解为 Attribute(属性) 之意更好,意思是 Buffer(VBO)的属性。即,我们用VBO来存储数据,而用VAO来告诉计算机这些数据分别有什么属性、起什么作用。VBO是 CPU 和 GPU 之间传递信息的桥梁,我们把数据存入VBO(这一步在CPU执行),然后V

2022-05-31 21:32:08 2825

原创 矩阵变换(位移、缩放、旋转)

下载glm将glm解压到指定位置在VS进行配置进行位移变换:#include<iostream>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <glm/gtc/type_ptr.hpp>using namespace std;int main(){ glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f); .

2021-08-24 22:40:14 815

原创 OpenGL颜色插值

绘制四边形的时候,实际上是绘制两个三角形,即6个点,但是实际上有两个点重复存储了,解决点重复存储的方法是使用EBO,详细见代码部分。Shader.h#pragma once#include<string>#define GLEW_STATIC //glew32s.lib#include<GL\glew.h>#include<GLFW\glfw3.h>class Shader{public: Shader(const char* vertexPath

2021-08-11 13:01:58 643

原创 OpenGL画三角形

步骤1:VERTEX SHADER处理顶点,专门对顶点进行操作步骤2: SHAPE ASSEMBLY将图1输进来的顶点组成线、面,哪些点连成线,哪些点连成面,哪些点单独存在步骤3:GEOMETRY SHADER在图2的基础上可以插入点,补点进去步骤4:RASTERIZATION光栅化:(矢量转栅格)步骤5:FRAGMENT SHADER着色:给格子上色步骤6:TESTS AND BLENDING深度测试和混合#include<iostream>//opengl调.

2021-08-09 17:38:53 249

原创 用C++写VTK程序

用C++写VTK程序主要使用的是VTKprefix文件夹里面的文件.(F:\VTK\VTKprefix)在C++程序中,将VTKprefix->bin文件夹中的所有.dll文件都复制到新建的C++项目目录下;然后再新建的项目中设置“附加包含目录”:F:\ VTKprefix \ include \ vtk-8.2然后再“链接器”下找到 ‘输入’,“附加依赖库”:F:\ VTK \ VTKprefix \ lib \ *.lib......

2021-08-09 10:42:20 1453

原创 OpenGL创建空白窗口

OpenGL创建一个窗口#include<iostream>//opengl调用的glew分为动态库和静态库,当你在链接器中添加的是glew32s.lib时,说明你编译的是静态库。//此时你要在#include <GL/glew.h>前添加 #define GLEW_STATIC#define GLEW_STATIC //glew32s.lib#include<GL\glew.h>#include<GLFW\glfw3.h>int

2021-08-08 21:30:38 224

原创 OpenGL搭建环境

OpenGL环境搭建先在对应网站上下好这两个库解压在opengl文件夹,如下:在VS中新建一个空项目,按如下设置

2021-08-07 20:51:49 101

原创 pi的任意精度求解 C++

用线性表实现 pi 的任意精度求解(内存域内)先来看一下 pi 的普通求解方法,即根据下面的公式进行求解:pi/2 = 1+1/3+1/3*2/5 + 1/3*2/5*3/7 + 1/3*2/5*3/7*4/9+...... ,进而得出pi=2*(1+1/3+1/3*2/5 + 1/3*2/5*3/7 + 1/3*2/5*3/7*4/9+...... )实现代码如下:#include<iostream>using namespace std;// pi的计算公式: pi/2

2020-10-25 17:02:10 3649

原创

1.3 栈栈是一种 先进后出 的数据结构。栈是限定仅在表尾进行插入和删除操作的线性表栈的读结点数据​ 读结点数据也就是读取栈结构中结点的数据。由于栈结构只能在一段进行操作,因此这里的读操作其实就是读栈顶的数据。​ 需要注意的是,读结点数据的操作和出栈不同。读结点数据的操作仅是显示栈顶结点数据的内容,而出栈操作则将栈顶数据弹出,该数据将不再存在。下面是使用栈结构实现学生数据操作的代码(结构体实现):#include<iostream>using namespace std;#i

2020-10-15 16:39:11 272

原创 单链表

单链表的代码分两个文件来写SingleLinkList.h头文件#pragma once#include<iostream>using namespace std;//结点类class Node{public: //构造函数 -> 对结点初始化 Node(int data) { this->m_data = data; this->m_next = NULL; } int m_data; //数据域 -> 存放数据 No

2020-10-12 10:48:16 211

原创 顺序表

1.1 顺序表插入操作思路:如果插入位置不合理,抛出异常;如果线性表长度大于等于数组长度,则抛出异常或动态增加容量;从最后一个元素开始向前遍历到第 i 个位置,分别将它们都向后移动一个位置;将要插入元素填入位置 i 处;表长+1;删除操作思路: 从后往前覆盖以实现删除如果删除位置不合理,抛出异常;取出删除元素;从删除元素位置开始遍历到最后一个元素位置,分别将它们都向前移动一个位置;表长+1;下面是顺序表的实现:采用动态数组来实现顺序表的操作DynamicArray.

2020-10-11 19:17:11 1557

原创 学习笔记

结构体1.结构体例子1. 例1设计一个学生类型的结构体,该结构体包含student1和student2;学生信息包括学号、姓名、分数,要求输出分数高的学生的所有信息。#include<iostream>using namespace std;#include<string>//定义学生结构体struct Student{ string num; string name; int score;};int main(){ Student studen

2020-10-07 10:01:34 1954

原创 通讯录管理系统

通讯录管理统统功能实现添加联系人显示联系人删除联系人查找联系人修改联系人退出系统添加联系人功能描述:实现添加联系人功能,联系人上限为1000人,联系人信息包括(姓名、性别、年龄、联系电话、家庭住址)添加联系人实现步骤:设计联系人结构体设计通讯录结构体main函数中创建通讯录封装添加联系人函数测试添加联系人功能#include<iostream>using namespace std;#include<string>#define MAX

2020-09-24 09:08:22 488

原创 结构体笔记

结构体数组#include<iostream>using namespace std;#include<string>//1.定义结构体数组struct Student{ string name; int age; int score;};int main(){ //2.创建结构体数组并初始化 struct Student stuArray[3]= { {"张三",18,100}, {"李四",20,90}, {"王五",30,84}

2020-09-22 21:11:27 194

原创 指针和结构体

结构体的定义#include<iostream>using namespace std;#include<string>//结构体:创建学生数据类型,学生包括(姓名,年龄,分数)//自定义数据类型:一些类型集合组成的一个类型//语法 struct 类型名称 { 成员列表 }struct Student{ //成员列表 //姓名 string name; //年龄 int age; //分数 int score;}s3; //定义结构体时顺便

2020-09-21 21:24:33 128

原创 冒泡排序

//冒泡排序函数void bubbleSort(int * arr, int len) //int * arr 也可以写为int arr[]{ for (int i = 0; i < len - 1; i++) { for (int j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j

2020-09-21 19:52:23 154

原创 2020-09-21

1.数组元素倒置#include<iostream>using namespace std;int main(){ //实现数组元素倒置 //1.创建数组 int arr[5] = { 1,3,2,5,4 }; cout << "原数组:"<< endl; for (int i = 0; i < 5; i++) { cout << arr[i] << endl; } //2.数组元素倒置 int start

2020-09-21 11:29:46 240

原创 数组名用途

/*练习案例:水仙花数案例描述:水仙花数是指一个3位数,它的每个位上的数字的三次幂之和等于它本身例如:1^3+5^3+3^3=153*/#include<iostream>using namespace std;int main() { //1.获取所有的三位数 int num = 100; do { //2.从所有的三位数中找到水仙花数 int a; //个位 int b; //十位 int c; //百位 a = num % 10; //获

2020-09-20 17:08:06 345

原创 案例

#include<iostream>using namespace std;//time系统时间头文件#include<ctime>int main() { //添加随机数种子,作用是利用当前系统生成随机数,防止每次随机数都一样 srand((unsigned int)time(NULL)); //1.系统生成随机数 int num = rand() % 100 + 1; //rand() % 100 + 1: 生成0+1 ~ 99+1随机数 //2.玩

2020-09-20 16:28:53 146

原创 迭代器的作用

迭代器1:import timeclass Classmates(object): def __init__(self): self.names = list() def add(self, name): self.names.append(name) def __iter__(self): """如果想要一个对象成为一个可以迭代的对象,即可以使用for,那么必须实现__iter__方法""" return

2020-09-05 19:09:58 965

使用C++实现四叉树的代码

记录了四叉树的原理,实现代码和思路 附有完整的C++代码。

2022-08-10

使用C#和vtk裁剪点云

使用C#和vtk对点云数据进行裁剪。 利用鼠标交互画一个多边形区域,裁剪掉多边形区域内的点云数据。 具体流程:从外部读取一个点云文件,进行显示。鼠标点击裁剪后,开始利用鼠标左键进行多边形的点选取,鼠标右键结束并裁剪完成。

2024-06-27

VTK9.2的Release和Debug库

使用VS2019和QT6.3.2编译的vtk9.2版本的库文件,包含有Debug版本的和Release版本。 可以直接在项目中使用。 文件结构: install bin include lib share

2024-06-26

vtk+C++利用鼠标交互画线

重写vtk鼠标交互事件,利用鼠标操作画两点线。 鼠标左键按下开始画线,左键按住不放且鼠标移动,线跟着移动;鼠标释放完成画线。

2024-06-26

创建Horizon Fault 恢复模型

创建Horizon Fault 恢复模型

2023-01-14

给出一堆线,判断是否相交,相交打断并去重

给出一堆线,判断是否相交,相交打断并去重

2022-11-15

fran_cut模型的vtkpolydata数据,即点和三角网数据

fran_cut模型的vtkpolydata数据,即点和三角网数据

2022-07-16

空空如也

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

TA关注的人

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