- 博客(623)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 新博文的迁移
不知不觉,我在CSDN上坚持发布博文已经4年了。发布的内容涉及计算机语言、算法、数据结构、大学专业随笔、研发平台…… 在这里我一点点地成长,也看到CSDN的不断变化:引入Markdown编辑、排版风格的改变、增添小程序、添加Gitchat…… 这一切正是双赢的结果,作者拥有了免费的写作平台,通过写作这一活动培养了思考、总结、表达、长期学习的良好习惯,而CSDN则借助于各类优秀的博文不断增长平台流量...
2019-04-01 15:02:52
542
2
原创 【CPP】从容器中删除元素
本文内容学习自 Scott Meyers的《Effective C++》“第33条:对包含指针的容器使用remove这一类算法时要特别小心”remove搭配erase容器(除了list)中的remove不是真正意义上的删除。因为它做不到。remove仅仅是把想要移动的对象放到容器的后面,不需要替换的元素不断从后面移动、替换前面需要被删除的元素。vector<int>::i...
2019-03-10 18:03:24
909
原创 【VTK】light type
vtkLight的光照类型设置: virtual void SetLightType(int);三类光照类型:SceneLightHeadLight (always located at the camera and is pointed at the camera’s focal point.)CameraLight(A CameraLight is also attached to t...
2019-01-11 22:17:55
787
原创 【VTK】vtkPolyDataNormals 计算法向量
vtkPolyDataNormals可以用于计算poly data中points和cell的法向量,方便处理一些数据集。下面的例子显示了vtkPolyDataNormals作用在正方体和球体的效果。注:为了不影响阅读体验,此文仅展示关键代码,所有例子的完整代码和输出可以浏览:【VTK】vtkPolyDataNormals example 正方体人为构造6个面的正方体,每一个cell是一个正...
2019-01-10 13:46:11
4687
10
原创 【CPP】排序的稳定性
排序的稳定性:如果两个元素的数值相等,那么在排序之后两者的相对位置不会发生变化(A在B前面,排序之后,A还是在B前面),这样的特性称之为“稳定”。经典例子:稳定的排序:冒泡排序、插入排序、归并排序等不稳定的排序: 选择排序、快速排序、堆排序等不稳定排序,以快速排序为例做演示,他的核心思想是分治:1、 先从序列中取出一个数作为basic number。2、将比此数大的元素放到它的右边,...
2019-01-06 16:45:51
399
1
原创 【QT】Create subdirs project with qt creator
The example comes from 《foundations of Qt Development》,本次实验在Mac上进行的,前面的几张截图是在Win7上得来的,不必在意。最终想要得到的目录结构:step1 create root directorystep 2 create app directorystep3 create src directorystep 4...
2018-12-30 19:51:47
443
2
原创 【VTK】三角化3D物体的表面
在VTK的体系中,要正常将actor输出STL文件,需要相应的PolyData三角化。 vSPNew( triangle, vtkTriangleFilter); triangle-&gt;SetInputData( polyData ); triangle-&gt;Update();在一些专业软件,比如Meshmixer中查看STL文件,如果有任何的“不和谐”都会被标...
2018-12-29 22:12:07
2258
原创 【VTK】不均匀样条插值
和上一篇文章【VTK】create spline points 一样,讨论spline points的生成。这一次,利用方法 void Evaluate(double u[3], double Pt[3], double Du[9]) override; 由于,u[0]代表线段与线段长累积的比率,通过控制U,达到控制插值点密度的目的。也可以保证特定的几个点位置不变,在其他部分插值。#inc...
2018-12-29 21:39:37
1018
原创 【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}, {6.0, 0.0, 0.0}, {8.0, 4....
2018-11-25 16:04:07
1280
3
原创 【VTK】vtk actor空间变换后的点映射与向量映射
在三维空间中,人们通常需要对平面等形体进行旋转,拖拽等操作。比如下面的过程:将平面绕平面的Y轴旋转一定角度将其绕平面自身的X轴旋转一定角度将平面向向量方向(1, 2, 3)移动一段距离。这样复杂的操作通常需要我们使用vtkActor提供的操作函数:void vtkProp3D::RotateY (double angle)void vtkProp3D::RotateX (do...
2018-11-06 21:28:16
2189
原创 【VTK】vtkTextActor位置设置问题
在之前的文章【vtk】获取vtkTextActor的长和宽 中我们知道了如何获取text的长和宽。本文讨论vtkTextActor的size在变宽后,它的位置问题。在vtkTextActor中,有提供SetPosition方法,从注释可以看出,它的参数对应着actor的左下角坐标。/*** Get the PositionCoordinate instance of vtkCoordina...
2018-11-04 19:30:29
4462
原创 【VTK】关于QVTKOpenGLWidget的RenderWindow设置问题
在这篇文章:【VTK】use vtk in qt widget example 的基础上继续实验。如果不给QVTKOpenGLWidget设置RenderWindow,尝试直接去默认默认值,那么它的返回值是一个nullptr。 printf( &quot;ui-&amp;gt;qvtkWidget-&amp;gt;GetRenderWindow(): %p\n&quot;, ui-&amp;gt;qvtkWid
2018-11-02 10:05:06
8764
9
原创 【QT】关于Qt::WA_DeleteOnClose的使用问题
今天在解决软件bug的过程中,注意到QT关于[slot] bool QWidget::close()有这样一段说明:If the widget has the Qt::WA_DeleteOnClose flag, the widget is also deleted. A close events is delivered to the widget no matter if the widg...
2018-10-31 22:22:10
2755
原创 【VTK】绘制Bounding Box
参考文章【vtk】some-press-key-operations-for-default-renderwindowiterator ,我们可以通过按下w切换到wireframe mode,按下s键切换到surfaces mode.但是这并不是我们要求的bounding box,要画出bounding box,可以这样:#include &lt;iostream&gt;#includ...
2018-10-22 18:13:25
1665
原创 【VTK】坐标系入门
vtkCoordinate and Coordinate Systems以下英文介绍内容出自《VTKUsersGuide.pdf》The Visualization Toolkit supports several different coordinate systems, and the class vtkCoordinate manages transformations betwee...
2018-10-20 22:48:22
2712
原创 【VTK】使用vtkActor2D添加polyline
具体实现如下:#include <iostream>#include <vtkSmartPointer.h>#include <vtkSphereSource.h>#include <vtkActor.h>#include <vtkConeSource.h>#include <vtkRenderer.h>#inc...
2018-10-20 22:41:22
2668
3
原创 learn vtk by Python script on mac
之前写过一篇文章:learn vtk by Tcl script on mac本文介绍vtk的Python学习环境的创建。j基础环境:VTK-8.1.1macOS Mojave 10.14Python 2.7.10build vtk,CMake一下:cmake ./ -G "Unix Makefiles" \-DVTK_USE_QVTK:BOOL=ON \-DCMAKE_IN...
2018-10-20 10:02:00
750
原创 CMake 设置 Application Icon
For Windows增添rc文件到工程中。add file:Source/myapp.rc包含内容:IDI_ICON1 ICON DISCARDABLE "Images/logo.ico"他指明了图标文件的路径。然后将这份rc文件添加到CMakeLists.txt中:file( GLOB SourceFiles Source/*.cpp...
2018-10-13 19:07:24
3384
原创 【VTK】vtkPolyData生成网格与平面
生成网格通过设置vtkPolyData的Points和lines来生成我们想要的网格。为了不影响观看效果,例子中将交互性关闭了。CMakeLists.txtcmake_minimum_required(VERSION 2.8)project(twoDimensionGird)find_package( VTK REQUIRED )include( ${VTK_USE_FILE} ...
2018-10-13 14:57:01
5150
原创 learn vtk by Tcl script on mac
环境:VTK-8.1.1Mac OS X 10.13.6/usr/bin/tclshbuild vtk,cmake一下:cmake ./ -G &amp;quot;Unix Makefiles&amp;quot; \-DVTK_USE_QVTK:BOOL=ON \-DCMAKE_INSTALL_PREFIX=/usr/local \-DVTK_USE_GUISUPPORT:BOOL=ON \-DVTK_QT_V...
2018-10-10 08:09:19
450
原创 QVTKOpenGLWidget使用问题记录
problem 1QVTKOpenGLWidget requires a vtkGenericOpenGLRenderWindow.vtkCocoaRenderWindow is not supported.QVTKOpenGLWidget 对应使用的renderWindow是 vtkGenericOpenGLRenderWindowproblem 2VTK is designed...
2018-10-03 20:09:36
5387
原创 Print debug message based on MSVC
之前有写过:Print debug message based on MinGW 。那是在MinGW的编译环境下输出调试信息到本地文件中。如果换成MSVC的编译环境,原来的方法就行不通了,因为某些函数和语法不支持:#ifndef LOG_H#define LOG_H#include <stdarg.h>#include <QDebug>#include &l...
2018-09-07 22:46:01
227
原创 【VTK】vtkImageActor显示图片的问题记录
vtkImageActor显示图片简单的例子:#include &lt;iostream&gt;#include &lt;vtkSmartPointer.h&gt;#include &lt;vtkProperty.h&gt;#include &lt;vtkPolyData.h&gt;#include &lt;vtkTriangleFilter.h&
2018-09-07 20:00:38
1439
原创 【VTK】在Mac上学习VTK
MAC OS X上的编译:https://www.vtk.org/Wiki/VTK/Building/MacOSX编译vtk使得QT版本为5cmake configure:cmake ./ -G &quot;Unix Makefiles&quot; \-DVTK_USE_QVTK:BOOL=ON \-DCMAKE_INSTALL_PREFIX=/usr/local \-DVTK_US...
2018-08-31 20:26:26
2233
5
原创 libc system函数的探究
system导致父进程等待在mac上的在线帮助有对system的如下说明: The system() function hands the argument command to the command interpreter sh(1). The calling process waits for the shell to finish executing the c...
2018-07-29 09:53:50
1567
3
原创 QT开发GIF截屏工具的问题记录
项目地址:https://github.com/theArcticOcean/GiferQT log 重定向问题。描述:在QML中的log print成功输出所有信息,CPP中的打印不能显示文件名,行号,函数名看了帮助文档中的例子 QtMessageHandler qInstallMessageHandler(QtMessageHandler handler) 安装我们自己的han...
2018-07-22 16:26:50
358
原创 基于GDbus与QDbus的DBUS小练习
QDbusAPI:QT 的帮助文档 任务描述: proxy 获取 adaptor的数据,修改数据,接收数据修改的信号并查看新的值。 文件结构:➜ DbusTest git:(master) ✗ tree.├── Adaptor│ ├── Adaptor.pro│ ├── Makefile│ ├── OrgExampleDdbusTest.xml│ ├── main.c...
2018-06-17 19:32:53
1255
原创 waf 编译入门小练习
原始工程源码在:https://github.com/theArcticOcean/CLib/tree/master/myLocker目录结构为Make编译工具对应的Makefile:DEPEND = pthTextCode.o main.o public.o pthTextRW.o pthLocker.oLIB = -lpthreadCFLAGS = -gdwa...
2018-06-16 18:09:13
2200
原创 DBUS入门笔记
DBUS简介学习网址:https://dbus.freedesktop.org/doc/dbus-tutorial.htmlDBUS三层: libdbus,消息分发的守护进程Dbus daemon,应用程序框架的封装库或绑定 (For example, libdbus-glib and libdbus-qt)libdbus仅仅支持one-to-one connection关于传递...
2018-06-03 20:05:43
2455
原创 git pull and git rebase
relevant article: 使用git fetch和git rebase处理多人开发同一分支的问题——azureternite 我先update sem.c,但有人update itoa.cpp并且比我先提交。gir pull:* 949238e (HEAD -&amp;amp;gt; master) Merge branch 'master' of https://github.com/th...
2018-05-31 08:22:33
701
原创 git add in different HEAD state
假设我们已经有这样的提交记录:commit 86765d30e168e7501ce1d837b978bd89fa50c233 (HEAD -> master) :sparkles: update itoa.cppcommit 519b6f810842d2ec67b0d0c84e401a30d4499574 (origin/master, origin/HEAD) ...
2018-05-31 08:19:20
268
翻译 QT 绘画Square Shapes & Round Shapes
本文内容翻译原文来自《Foundations of Qt Development》第7章 DRAWING AND PRINTING,作者:Johan Thelin。Square Shapes你可以画出像图7-8那样的方角矩形或圆角矩形。使用的方法所需参数可以是矩形QRect或者矩形左上角坐标(x,y)再加上宽和高。这两种方法分别是drawRect和drawRoundRect....
2018-04-22 11:23:42
750
原创 QT enVocabulary工程打包问题记录
我用QT自带的工具*deployqt把工程enVocabulary在mac,windows,ubuntu上打包,出现了一些问题。 下面是一些bug记录。SQlite Mysql的依赖问题。WARNING: Plugin "libqsqlodbc.dylib" uses private API and is not Mac App store compliant.WA...
2018-04-07 20:04:11
1333
3
原创 C++ 泛型算法学习笔记(equal, accumulate, back_iterator, pair)
equalequal是区间比较算法 原型为:template <class _InputIterator1, class _InputIterator2>inline _LIBCPP_INLINE_VISIBILITYboolequal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator...
2018-03-31 16:42:34
575
原创 algorithm 题集八 (18.03.25)
本文一共12题,均来自《剑指offer》,不复杂。在平时的练习中收集了部分组合而成。(1)输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。(2)用两个栈来实现一个队列,完成队列的Push和Pop操...
2018-03-25 16:05:44
413
原创 C++ 自定义IO操作符
C++ operator >> 与 <<写一个结构体,需要进行文本的读取和输出。需要给结构体定义操作符<<, >>。 如下是结构体的部分内容:typedef struct __wordUnit{ string word; string translation; __wordUnit(){ word...
2018-03-22 11:29:21
917
原创 QT SQLite3分页删除问题
terminal实验 场景:我打算在QT SQlite3中使用分页删除操作。即delete 搭配limit。如下的例子使用limit、offet SQL关键字来实现分页查询。 在terminal中实验:sqlite> select * from test;1|102|203|30sqlite> select * from test order by va...
2018-03-22 10:46:13
698
原创 QT 关于Driver not loaded 与 结构体的构造函数
QT 关于Driver not loaded在程序中使用SQLite数据库,如下的代码: QSqlDatabase db; QSqlQuery query; db = QSqlDatabase::addDatabase("QSQLITE"); if(db.open()){ if(!query.exec("create table stu...
2018-02-21 15:23:56
457
原创 C++ vector::erase和无参构造函数的调用
vector::eraseC++ vector的元素删除,源码是这样的:template <class _Tp, class _Allocator>inline _LIBCPP_INLINE_VISIBILITYtypename vector<_Tp, _Allocator>::iteratorvector<_Tp, _Allocator>::...
2018-02-12 08:19:29
740
原创 C++ 存储指针的容器删除元素
假设需要用vector等容器存储指针,形如vector<typename *>,在删除元素的时候,仅仅使用erase改变了容器的存储,却没有释放指针所指向的内存,一不小心就造成了内存溢出。 故,我们需要在erase的同时释放内存。template<typename T>void deleteObject(T *obj){ delete obj; ...
2018-02-11 16:27:56
2427
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人