theArcticOcean

博观而约取,厚积而薄发

【CPP】从容器中删除元素

本文内容学习自 Scott Meyers的《Effective C++》“第33条:对包含指针的容器使用remove这一类算法时要特别小心” remove搭配erase 容器(除了list)中的remove不是真正意义上的删除。因为它做不到。 remove仅仅是把想要移动的对象放到容器的后面,不...

2019-03-10 18:03:24

阅读数 21

评论数 0

【VTK】light type

vtkLight的光照类型设置: virtual void SetLightType(int); 三类光照类型: SceneLight HeadLight (always located at the camera and is pointed at the camera’s focal poin...

2019-01-11 22:17:55

阅读数 57

评论数 0

【VTK】vtkPolyDataNormals 计算法向量

vtkPolyDataNormals可以用于计算poly data中points和cell的法向量,方便处理一些数据集。 下面的例子显示了vtkPolyDataNormals作用在正方体和球体的效果。 注:为了不影响阅读体验,此文仅展示关键代码,所有例子的完整代码和输出可以浏览:【VTK】vt...

2019-01-10 13:46:11

阅读数 169

评论数 0

【CPP】排序的稳定性

排序的稳定性: 如果两个元素的数值相等,那么在排序之后两者的相对位置不会发生变化(A在B前面,排序之后,A还是在B前面),这样的特性称之为“稳定”。 经典例子: 稳定的排序:冒泡排序、插入排序、归并排序等 不稳定的排序: 选择排序、快速排序、堆排序等 不稳定排序,以快速排序为例做演示,他...

2019-01-06 16:45:51

阅读数 57

评论数 0

【VTK】三角化3D物体的表面

在VTK的体系中,要正常将actor输出STL文件,需要相应的PolyData三角化。 vSPNew( triangle, vtkTriangleFilter); triangle->SetInputData( polyData ); t...

2018-12-29 22:12:07

阅读数 142

评论数 0

【VTK】不均匀样条插值

和上一篇文章【VTK】create spline points 一样,讨论spline points的生成。这一次,利用方法 void Evaluate(double u[3], double Pt[3], double Du[9]) override; 由于,u[0]代表线段与线段长累积的比率,...

2018-12-29 21:39:37

阅读数 108

评论数 0

【VTK】create spline points

定义5个点 double p[5][3] = { {0.0, 4.0, 0.0}, {2.0, 0.0, 0.0}, {4.0, 2.0, 0.0}, ...

2018-11-25 16:04:07

阅读数 138

评论数 2

【VTK】vtk actor空间变换后的点映射与向量映射

在三维空间中,人们通常需要对平面等形体进行旋转,拖拽等操作。比如下面的过程: 将平面绕平面的Y轴旋转一定角度 将其绕平面自身的X轴旋转一定角度 将平面向向量方向(1, 2, 3)移动一段距离。 这样复杂的操作通常需要我们使用vtkActor提供的操作函数: void vtkProp3D:...

2018-11-06 21:28:16

阅读数 287

评论数 0

【VTK】vtkTextActor位置设置问题

在之前的文章【vtk】获取vtkTextActor的长和宽 中我们知道了如何获取text的长和宽。 本文讨论vtkTextActor的size在变宽后,它的位置问题。 在vtkTextActor中,有提供SetPosition方法,从注释可以看出,它的参数对应着actor的左下角坐标。 /*...

2018-11-04 19:30:29

阅读数 713

评论数 0

【VTK】平面的平移和旋转

本文探讨的平面操作主要是平移和绕轴旋转。 在vtkPlane中保存有数据成员 double Normal[3]; double Origin[3]; 同时,vtkPlane也提供了原点读写函数,法向量读写函数 /** * Set/get point through whic...

2018-11-04 11:23:07

阅读数 758

评论数 0

【VTK】关于QVTKOpenGLWidget的RenderWindow设置问题

在这篇文章:【VTK】use vtk in qt widget example 的基础上继续实验。 如果不给QVTKOpenGLWidget设置RenderWindow,尝试直接去默认默认值,那么它的返回值是一个nullptr。 printf( "...

2018-11-02 10:05:06

阅读数 561

评论数 0

【VTK】绘制Bounding Box

参考文章【vtk】some-press-key-operations-for-default-renderwindowiterator ,我们可以通过按下w切换到wireframe mode,按下s键切换到surfaces mode. 但是这并不是我们要求的bounding box,...

2018-10-22 18:13:25

阅读数 152

评论数 0

【VTK】坐标系入门

vtkCoordinate and Coordinate Systems 以下英文介绍内容出自《VTKUsersGuide.pdf》 The Visualization Toolkit supports several different coordinate systems, and...

2018-10-20 22:48:22

阅读数 278

评论数 0

【VTK】使用vtkActor2D添加polyline

具体实现如下: #include <iostream> #include <vtkSmartPointer.h> #include <vtkSphereSource.h&g...

2018-10-20 22:41:22

阅读数 242

评论数 0

learn vtk by Python script on mac

之前写过一篇文章:learn vtk by Tcl script on mac 本文介绍vtk的Python学习环境的创建。 j基础环境: VTK-8.1.1 macOS Mojave 10.14 Python 2.7.10 build vtk,CMake一下: cmake ./ -G &am...

2018-10-20 10:02:00

阅读数 128

评论数 0

CMake 设置 Application Icon

For Windows 增添rc文件到工程中。 add file: Source/myapp.rc 包含内容: IDI_ICON1 ICON DISCARDABLE "Images/logo.ico" 他指明了图标文件...

2018-10-13 19:07:24

阅读数 185

评论数 0

【VTK】vtkPolyData生成网格与平面

生成网格 通过设置vtkPolyData的Points和lines来生成我们想要的网格。 为了不影响观看效果,例子中将交互性关闭了。 CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(twoDimensionGird) fin...

2018-10-13 14:57:01

阅读数 497

评论数 0

learn vtk by Tcl script on mac

环境: VTK-8.1.1 Mac OS X 10.13.6 /usr/bin/tclsh build vtk,cmake一下: cmake ./ -G "Unix Makefiles" \ -...

2018-10-10 08:09:19

阅读数 137

评论数 0

QVTKOpenGLWidget使用问题记录

problem 1 QVTKOpenGLWidget requires a vtkGenericOpenGLRenderWindow. vtkCocoaRenderWindow is not supported. QVTKOpenGLWidget 对应使用的renderWindow是 vtkG...

2018-10-03 20:09:36

阅读数 483

评论数 0

Print debug message based on MSVC

之前有写过:Print debug message based on MinGW 。那是在MinGW的编译环境下输出调试信息到本地文件中。如果换成MSVC的编译环境,原来的方法就行不通了,因为某些函数和语法不支持: #ifndef LOG_H #define LOG_H #include &...

2018-09-07 22:46:01

阅读数 45

评论数 0

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