- 博客(19)
- 资源 (6)
- 收藏
- 关注
原创 SQLITE高速插入数据
SQLITE数据库在写入数据时,写入数据库的速度非常重要,如果写入的速度慢,有大量数据待写入时,一是会造成程序卡顿,二是数据写入会失败,数据缺失。传统的往数据库里插入数据是执行一条SQL语句,多条数据就是执行多条SQL语句。执行SQL语句意味着打开数据库再关闭数据库,数据库本身是一个文件,打开和关闭IO操作是非常耗时的。 QSqlQuery query(_mes_db); auto start = std::chrono::steady_clock::now(); for(i
2021-08-18 14:00:27 2810 5
原创 Ubuntu卸载了python导致不能进入桌面的解决办法
最近在学习ROS的时候,手痒把python全部卸载了,导致开机进入不了桌面,然后查了很多资料,别人的提出的解决办法是重新安装ubuntu-desktop ubuntu-minimal和ubuntu-standard meta-package,但是我遇到的问题apt-get install失败,给出的错误是failure resolving...,我怀疑是网络出问题了,然后ping百度出错:network is unreachable,联不上网,网上很多人给出的办法是修改/etc/resolv.conf,/.
2021-03-17 11:51:48 4171 17
原创 机器人运动仿真和3D建模可视化
该项目以视频的方式展示,内容包括基于Qt OpenGL和旋量理论的史陶比尔6R机器人3D建模和运动学仿真,包括正运动学、逆运动学,速度雅可比矩阵算法,轨迹的绘制,关节插补,直线插补,直线、三点圆、直径圆、文字的绘制算法,Qt 3d中的点的捕获API等内容。视频地址:...
2021-02-24 10:50:43 490
原创 float转int注意事项
最近遇到一个低级错误,哈哈,都不好意思讲出来,会犯这种低级错误。写此博客,记录我的低级错误,以防下次再犯。问题是这样的,我有一些float类型的数据,我需要将这这些浮点型数据放大到整数,然后转换成int类型数据,比如float a=5.1 * 10就得到整数51,然后将浮点型数据51赋值给一个int型数据:int b=static_cast<int>(a),我满以为b的结果就是51,然而事实给了我一记耳光,结果居然是50!我觉得很奇怪,这明明没问题啊,不用电脑一眼就看出来就是51,怎么会变成
2020-11-30 17:58:29 1326
原创 椭圆的绘制算法
问题描述已知椭圆的长半轴a和短半轴b,以及椭圆的中心(xc,yc),绘制椭圆像素图。中点椭圆算法中点椭圆算法与圆的绘制算法类似,也是在某一区域范围内,单位间隔取样,确定离指定椭圆最近的像素位置,然后通过椭圆的对称性,绘制其他像素点。对于椭圆中心不在原点处的情况,同样地我们通过平移将xc加到x,yc加到y,从而将计算出的每个位置(x,y)移动相应的屏幕位置。与圆的对称性不同,椭圆在八分象限之间是不对称的,我们必须计算一个象限中椭圆曲线的像素位置,再由对称性得到其他三个象限的像素位置。如下图
2020-08-19 18:02:02 3195
原创 中点圆的绘制算法
因此对应的程序可编写如下:void circleMidPoint(const int xc, const int yc, const int r){ if(r <= 1) return; //圆的半径至少要大于一个像素, int p = 1-r; int x = 0; int y = r; SetPixel(x+xc,y+yc); SetPixel(x+xc,-y+yc);//绘制对称位置处的点 SetPixel(y+x...
2020-08-18 17:54:08 352
原创 Bresenham直线绘制算法详解
问题:已知起点p1(x1,y1)和终点p2(x2,y2),绘制直线段p1p2.Bresenham算法(参考文章:https://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html)算法:对于斜率m∈[0,1],已知当前点,下一个点亦即增加1时,值取还是。如图所示,红色直线表示理论直线,实际要绘制的直线过第一个点,ε为实际点和理论点的误差,这里需要根据该误差确定下一点的纵坐标取y还是y+1.很明显,下一点的纵坐标的理.
2020-08-06 10:57:47 3913 4
原创 C++多线程并行计算的示例
示例:计算[1,]范围内自然数的平方根之和CPU: i7-7820HQ,8核1.使用std::package_task和std::future#include <thread>#include <future>#include <numeric>#include <iostream>#include <vector>#include <chrono>double accumulate(int min, in
2020-07-28 16:13:05 2814
原创 六轴机器人运动学正解
关于机器人运动学正解网上和机器人相关书籍上都是通过建立连杆坐标系和DH参数推导出来的,推导过程比较繁琐,本人不是从事机器人专业,我在推导机器人运动学正解的时候还不知道有DH参数一说,我的算法原理是运用计算机图形学中三维几何变换矩阵推导的,过程比较直观,通俗易懂。我们知道,三维空间中平移(tx,ty,tz)对应的齐次变换矩阵为:T=100tx010ty001tz0001绕x轴旋转θ角对应的矩阵为:Rx=10000cosθ-sinθ00sinθcosθ00001 绕y轴旋转θ角对...
2020-07-06 17:26:17 4067
原创 三点圆绘制算法
需求:给定空间中三点p1(x1,y1,z1), p2(x2,y2,z2), p3(x3,y3,z3),绘制轨迹圆空间中三点确定的平面方程:????1????+????1????+????1????+????1=0空间三点平面方程的行列式形式:由此计算出a1,b1,c1,d1已知圆心O(x0,y0,z0)和平面的法向量n(a1,b1,c1).normalize(规范化成单位向量),即n(nx,ny,nz...
2020-04-17 15:21:18 1956 1
原创 利用单链表实现多项式的加法和乘法运算
#include <stdio.h>#include <stdlib.h>typedef struct CoeExpStruct{ float coe; //多项式系数 int exp; //多项式指数}CoeExp;typedef struct Polynomial{ CoeExp ce;//链表数据域 struct...
2018-12-05 11:22:58 945
原创 QT动态链接库(DLL)的创建和调用
一、DLL的创建QT下DLL的创建很简单,点击“文件”,选择“新建文件或项目…”,项目选择Library->C++库->choose…,类型选择共享库,名称自己定义,这里为Dll,勾选QtGui.dll。项目自动生成如下图的文件结构:关于共享库的一点说明: 如果你打开一些 Windows 应用程序的目录,你会发现有很多程序的 exe 文件都很小,大约几百K 的样
2016-11-13 13:09:40 1426
qt5 sqlite/tableview/qprinter/qchart/PDF文件打印的使用示例,源代码
2020-08-26
qt5 sqlite/tableview/qprinter/qchart/PDF文件打印的使用示例,可执行文件
2020-08-26
QGraphicsView Draw
2018-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人