自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

theArcticOcean

博观而约取,厚积而薄发

  • 博客(623)
  • 收藏
  • 关注

原创 新博文的迁移

不知不觉,我在CSDN上坚持发布博文已经4年了。发布的内容涉及计算机语言、算法、数据结构、大学专业随笔、研发平台…… 在这里我一点点地成长,也看到CSDN的不断变化:引入Markdown编辑、排版风格的改变、增添小程序、添加Gitchat…… 这一切正是双赢的结果,作者拥有了免费的写作平台,通过写作这一活动培养了思考、总结、表达、长期学习的良好习惯,而CSDN则借助于各类优秀的博文不断增长平台流量...

2019-04-01 15:02:52 520 2

原创 【CPP】从容器中删除元素

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

2019-03-10 18:03:24 882

原创 【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 748

原创 【VTK】vtkPolyDataNormals 计算法向量

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

2019-01-10 13:46:11 4589 10

原创 【CPP】排序的稳定性

排序的稳定性:如果两个元素的数值相等,那么在排序之后两者的相对位置不会发生变化(A在B前面,排序之后,A还是在B前面),这样的特性称之为“稳定”。经典例子:稳定的排序:冒泡排序、插入排序、归并排序等不稳定的排序: 选择排序、快速排序、堆排序等不稳定排序,以快速排序为例做演示,他的核心思想是分治:1、 先从序列中取出一个数作为basic number。2、将比此数大的元素放到它的右边,...

2019-01-06 16:45:51 385 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 414 2

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

在VTK的体系中,要正常将actor输出STL文件,需要相应的PolyData三角化。 vSPNew( triangle, vtkTriangleFilter); triangle->SetInputData( polyData ); triangle->Update();在一些专业软件,比如Meshmixer中查看STL文件,如果有任何的“不和谐”都会被标...

2018-12-29 22:12:07 2187

原创 【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 990

原创 【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 1228 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 2143

原创 【VTK】vtkTextActor位置设置问题

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

2018-11-04 19:30:29 4375

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

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

2018-11-02 10:05:06 8520 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 2607

原创 【VTK】绘制Bounding Box

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

2018-10-22 18:13:25 1599

原创 【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 2647

原创 【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 2630 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 694

原创 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 3275

原创 【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 5058

原创 learn vtk by Tcl script on mac

环境:VTK-8.1.1Mac OS X 10.13.6/usr/bin/tclshbuild vtk,cmake一下:cmake ./ -G "Unix Makefiles" \-DVTK_USE_QVTK:BOOL=ON \-DCMAKE_INSTALL_PREFIX=/usr/local \-DVTK_USE_GUISUPPORT:BOOL=ON \-DVTK_QT_V...

2018-10-10 08:09:19 425

原创 QVTKOpenGLWidget使用问题记录

problem 1QVTKOpenGLWidget requires a vtkGenericOpenGLRenderWindow.vtkCocoaRenderWindow is not supported.QVTKOpenGLWidget 对应使用的renderWindow是 vtkGenericOpenGLRenderWindowproblem 2VTK is designed...

2018-10-03 20:09:36 5149

原创 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 207

原创 【VTK】vtkImageActor显示图片的问题记录

vtkImageActor显示图片简单的例子:#include <iostream>#include <vtkSmartPointer.h>#include <vtkProperty.h>#include <vtkPolyData.h>#include <vtkTriangleFilter.h&

2018-09-07 20:00:38 1406

原创 【VTK】在Mac上学习VTK

MAC OS X上的编译:https://www.vtk.org/Wiki/VTK/Building/MacOSX编译vtk使得QT版本为5cmake configure:cmake ./ -G "Unix Makefiles" \-DVTK_USE_QVTK:BOOL=ON \-DCMAKE_INSTALL_PREFIX=/usr/local \-DVTK_US...

2018-08-31 20:26:26 2198 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 1527 3

原创 QT开发GIF截屏工具的问题记录

项目地址:https://github.com/theArcticOcean/GiferQT log 重定向问题。描述:在QML中的log print成功输出所有信息,CPP中的打印不能显示文件名,行号,函数名看了帮助文档中的例子 QtMessageHandler qInstallMessageHandler(QtMessageHandler handler) 安装我们自己的han...

2018-07-22 16:26:50 340

原创 基于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 1231

原创 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 2173

原创 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 2418

原创 git pull and git rebase

relevant article: 使用git fetch和git rebase处理多人开发同一分支的问题——azureternite 我先update sem.c,但有人update itoa.cpp并且比我先提交。gir pull:* 949238e (HEAD -> master) Merge branch 'master' of https://github.com/th...

2018-05-31 08:22:33 677

原创 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 253

翻译 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 711

原创 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 1296 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 528

原创 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 397

原创 C++ 自定义IO操作符

C++ operator >> 与 <<写一个结构体,需要进行文本的读取和输出。需要给结构体定义操作符<<, >>。 如下是结构体的部分内容:typedef struct __wordUnit{ string word; string translation; __wordUnit(){ word...

2018-03-22 11:29:21 883

原创 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 670

原创 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 439

原创 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 716

原创 C++ 存储指针的容器删除元素

假设需要用vector等容器存储指针,形如vector<typename *>,在删除元素的时候,仅仅使用erase改变了容器的存储,却没有释放指针所指向的内存,一不小心就造成了内存溢出。 故,我们需要在erase的同时释放内存。template<typename T>void deleteObject(T *obj){ delete obj; ...

2018-02-11 16:27:56 2385 1

空空如也

空空如也

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

TA关注的人

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