自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 ompl.app的demo_OpenDEPlanning例子

是用刚体动力学库ODE搭建的小车运动场景,找出小车到目标的路径,牵引小车跑到目标位置。编译了下OMPL和OMPL.app, 其中有个example。ompl小车路径运动模拟。

2024-07-07 16:09:41 169

原创 转载-“钱学森:根本学问只有这两门:物理和数学”

转载一篇微信文章。

2024-06-10 18:04:07 248

原创 物理学基础-哈里德

注意如果是用手机,需要把浏览器网页设置从Android改为,电脑,有100多兆,1300多页大部头的参考书,最好wifi网速好下载,电子书主要是个人学习目的,淘宝正版纸质书有100多元,但是清晰。发现这个是 哈里德 的 物理学基础 的下载网址。

2024-06-10 17:52:12 237

原创 vtk绘制渐变色polydata

创建VC++2015控制台程序,设置include路径:E:\VTK_8_0\include\vtk-8.0。下面的代码是创建两个cell的polydata,并设置顶点的颜色,一般用来绘制后处理网格的颜色显示,颜色。设置lib路径:E:\VTK_8_0\lib*.lib。可以表示场中顶点的温度,应力,浓度等物理量。

2024-06-10 14:31:59 229

原创 CAD小软件diy-读柴油机壳体装配图

读取一个柴油机壳体dxf图纸,一般这种装配体轮廓曲线都是用直线和圆弧拟合的,全部都是显示的白色实现,发现有线段间隙,拖动线段补上间隙。这个测试放在蓝奏云上面 https://wwf.lanzout.com/ip1Xx1vvhbkh。

2024-04-20 22:46:29 186

原创 费曼物理学讲义官网

费曼物理学讲义的官网,https://www.feynmanlectures.caltech.edu/网页做的很好,网速也快。

2024-04-19 21:19:17 248

原创 写的CADCAM小软件梳理及演示

来间接编辑线,拖拽时候可以捕捉一些点叫snap point,grip point 和snap point不一定完全对应, 抽象出曲线实体,这里只有Line2d和Arc2d两种,程序名字叫vegetable cad(蔬菜CAD)。线实体有参数方程可以比较,显示都是离散成一定数量的折线的,例如这个圆弧线。视图操作是中键负责平移和缩放,双击中键最大显示,左键用于选中线,当选中线的时候即出现叫“夹点”的部件,拖拽夹点的方式。另外发现配合gif 或者 视频,的确传达信息更多。

2024-04-06 21:55:51 235

原创 坐标变换矩阵之平移-opencv

平移矩阵m,平移向量(tx,ty,tz)齐次点p(1,0,0,1),

2024-03-31 21:42:42 169

原创 osg的cullvisitor

这样可以派生自己的cullvisitor,重写apply,实现自己的剔除功能。设置自己的剔除器mycullv,代替缺省的cullvisitor。

2024-03-31 21:07:02 419

原创 现代几何-流形拓扑学和李群-三本电子书

流形和李群的两个电子书。

2024-03-31 11:45:46 128

原创 3D程序中保证交互流畅性的常用技巧-备忘

opengl绘制一帧会绘制场景中会有多个模型,随着模型三角面片数量增加,GPU绘制一帧就会变慢,这将不能快速响应鼠标消息,例如鼠标旋转缩放视图,所以出现了很多牺退而求其次的交互技术,例如LOD技术,在鼠标旋转时候绘制低数量三角面片或线条的模型,有的剔除背面,视图静止绘制高数量三角面;早期UG等三维软件,winxp那个配置,鼠标旋转一些零件模型就消失了,有的就用个线框表示下,等静止再把模型画全,现在CPU和GPU性能提高不少,不过硬件都有极限,高性能的GPU和CPU芯片很重要…

2024-03-26 23:24:39 296

原创 roboticslibrary的sg

roboticslibrary 简称rl库,sg里面的类按照scene / model / body / shape层次创建,在。是传入coin3d的vrmlshape来创建的。

2024-03-25 23:29:51 256

原创 关于MacTutor-在线数学史资源

MacTutor是一个免费的在线资源,包含超过 3000 数学家和 2000 几页论文和辅助材料。(子在川上曰,逝者如斯夫!搜一下爱因斯坦,同样中文翻译。

2024-03-23 22:59:14 226

原创 osg的polytopeintersector-备忘录

中实现多面体和三角形的轮廓线(顶点存在src中)求交,凸台polytope存着6个平面plane,每个plane法向正向指向体内部,遍历每个平面,切割src轮廓线,dest中存着在plane正半空间的那部分轮廓,然后src和dest交换,接着下一个plane再切src轮廓线,留下正半空间中的轮廓线…OSG的osgUtil::PolytopeIntersector类实现凸多面体和点线段三角形求交器的实现,在pick中框选肯定是用一个四棱锥凸台几何体,单选其实也是一个四棱锥凸台。

2024-03-20 22:28:38 313

原创 二阶常微分方程-龙格库塔法

当刚体受力以后,通常会在介质中运动受到阻力,一般阻力大小正比速度,即kv,或者速度的平方kv^2,方向相反,速度是物体位移-时间微分曲线x(t)的一阶导x’=v,加速度是二阶导x’’=a,假设受力为T,质量为m,这样t时刻,对象受力情况为。初值x(t0)=x0, x’(t0)=x’0。令x’=v,则化为一个一阶常微分方程。T-kx’=mx’’ 化为。这是一个二阶常微分方程。

2024-03-17 10:08:56 594

原创 关于-机器人学导论

机器人学导论,经典的基础教材,原书叫introduction to robotics mechanics and control ,在网上看到这个下载,这个好像不像有些书已经免费了,但是太经典拿它当教材的很多,最好看清晰的纸质版,特别是大量的公式变换和比芝麻还小的下标,也方便做笔记。机器人学领域垮学科太广泛,涉及计算数学,机械,电子,自动控制,计算机大部分学科,像图形图像,AI等等。

2024-03-16 09:02:15 221

原创 osg的geometry类

修改geometry是通过geometry的getVertexArrary,getColorArray这类方法得到坐标或者颜色法向量数组然后修改数据后调dirty()通知数据改变了,将在下次frame调glBufferSubData修改GPU中对应的数据。用于设置顶点坐标,顶点颜色,顶点纹理坐标和法向量,索引等等,图元类型为GPU能绘制的基本类型,点、线段、三角形集合(点,线段,三角形,这和opengl里面的定义一致)。//color指定为片元着色器的vtColor。这样很多接口都不用了。

2024-03-10 12:55:36 336

原创 opencv读写cv::Mat的像素

意思是这个矩阵按一行一行的存在data这块内存中,通过i0,和step.p[0]保存的每个像素占的字节个数得到行地址,再通过(_Tp*)这句强制类型转换为_Tp类型的数组,返回第i1个即我们要读写的像素。opencv图像都是抽象成cv::Mat类,一个像素矩阵,通过at(行,列)来读写像素,他的实现是这么一句。所以ocv在内存上分配了一个uchar型内存块,所有算法都是在修改这块内存。

2024-03-09 14:49:05 317

原创 osg库的HUD原理-三维软件视图窗口中角落的坐标及viewbox

,当创建一个post render的摄像机节点,并设置glClear标志只是DEPTH_BUFFER_BIT,则只会清空深度缓存区,保证后画的正确的遮挡关系,不会清空颜色缓冲区,以便于看见先画的画面。这样camera节点下面挂着的geometry,将形成HUD效果,也叫画中画,即感觉一直在屏幕上遮挡着后面的场景,CAD软件像Proe,UG,SW等等中经常视图角落的坐标xyz,右上角的viewbox,游戏中的菜单等等都是这样做的,当鼠标操作摄像机旋转场景,将旋转方位设置给xyz坐标,坐标也跟着旋转。

2024-03-08 23:09:22 292

原创 使用opencv绘制sin曲线

使用opencv中的绘制线可视化sin曲线。opencv2以后图像都是cv::Mat类,即一个像素矩阵。程序中是在setup中创建了一个白色的图像s_Mat,将sin曲线离散成多段直线段调cv::line向s_Mat中写像素实现的。

2024-03-06 08:24:50 297

原创 四阶龙格库塔法-常微分方程数值计算

设n为0时,t0=0.0,y0也已知,可以计算k1,k2,k3,k4,然后y1=y0+h*(k1+2.0* k2+2.0 *k3+k4)/6.0,t1=t0+h。龙格-库塔法是数值求解常微分方程经典方法,下面是百度百科的四阶龙格库塔法的公式截图。这样由t0算出了t1,y1,然后再带公式推算出t2,y2。这样可以从t0开始一步步推算。

2024-03-03 23:44:46 310

原创 C++boost-opengl-备忘录

glBengin,glEnd,glVertexPointer,glColorPointer,glNormalPointer,这些和设置顶点坐标,顶点颜色,顶点法向量都在core4.x创建vao vbo,基本意思是创建一个vec3的数组vbo表示顶点法向量,和顶点个数一样,并指定绑定在1,GPU的内存布局位置,接着在顶点着色器 开头写。glLight,glLightMode,glMaterial这些设置光照和材质的,纹理,也通过uniform传进去glsl自行实现光照算法。

2024-03-03 11:47:51 275

原创 霍罗威茨的《电子学》-介绍

电子学是电信,计算机,自动化等偏电类的重要基础,特别是计算机专业,电路和电子技术课程后,就是数字逻辑,组成原理,操作系统,编译原理,后面才到C/C++语言,Python,数据库网络,科学计算等上层应用层面的课程,计算机本质上是执行高低电平这种比特位的数字逻辑自动化机器,CMOS管搭成的加法器,三态门,寄存器,内存,译码器,晶振,分频器等等组合和时序逻辑器件,到组成原理那里搭成CPU,再到编译器把高级语言这堆字符串程序变成内存里机器码,组成原理里面CPU重复指令周期…”,学习电子学包括物理学时就是这种感情。

2024-03-02 09:31:35 302

原创 bullet3的collision例子

这些函数是在CollisionSdkC_Api.h包装中的,都是间接调CollisionSdkInterface接口中的方法,sdk具体实现在internal目录中,实现了bullet2版本和bullet3版本,例如collide方法,bullet2中是,类和api前缀一般都是bt。bullet3的碰撞检测例子在examples/collision。bullet3中的实现,类前缀为b3。

2024-03-01 23:17:30 197

原创 OpenCASCADE库-三维点投影到三维曲线

可以把Geom_Circle换成Geom_XXX.hxx中的其它种类的参数曲线试试,OCC中有直线,二次曲线,样条曲线,分2d曲线和空间3d曲线。下面是OCC库中的sample mfc工程中点投影到曲线类GeomAPI_ProjectPointOnCurve用法。N是三维点P投影到曲线C的最近点,投影点个数为NbResults,Point(…

2024-03-01 21:41:54 362

原创 Eigen3一些特殊矩阵的初始化

Eigen3一些特殊矩阵的初始化的例子程序。

2024-02-29 21:15:46 135

原创 GSL库的数值微分例子

GSL库的数值微分提供前向,中心,后向三个函数。python的scipy库的数值微分为。

2024-02-29 20:12:40 161

原创 在线百科全书-scienceworld.wolfram.com

数学软件wolfram mathematica有很多免费在线科学资源,这个网站就提供百科全书式的术语查找,对于数学,物理中英文术语学习也很好。

2024-02-29 12:52:32 150

原创 小孔投影油画绘制技法-OpenGL光栅化的物理上的原理

17 18世纪物理学家进行了卓绝的涉及光学,物体的运动学,动力学,空间几何问题的研究,笛卡尔发明了直角坐标系,牛顿提出光的粒子说,还有很多知名科学家研究光学像惠更斯,泊松,菲涅尔,托马斯.杨,光粒子的运动可以通过空间解析几何来精确计算,物理规律的数学描述的发现为后来的计算机器自动绘图扫清了理论障碍,到后来线性代数,矩阵,向量,这些数学工具的发展也一大堆物理学家和数学家接力赛式的天才贡献,才有了我们大学和研究生时代的现性代数,矩阵论这些高级知识。p距离光栅的距离(深度计算用于隐藏物体)?

2024-02-27 23:18:18 305

原创 这周武汉下雪(霰)了-GSL科学计算库的CMAKE版本-过年看的数学史及自然科学史书

现在这些公式、函数、定理、算法、常识,都是几千年来科学先贤们多少代人观察实验思考批判斗争牺牲才为人类获得的啊,那天在看到书中写的牛顿伽利略惠更斯通过一个小孔做的那些光线透过液体折射衍射的实验的故事,不经意间发现桌子前穿过玻璃杯中的水投射的光线晃动着聚焦在桌面上又散开又聚焦着光影很美好,当时,感觉在很久很久以前就见过这些场景,想起来钱穆说的,历史就是我们的生命。明天正月十五,过完年也就过完了。

2024-02-23 23:09:45 230

原创 code::blocks代码及信息回顾

code::blocks在win上开发要下载的20.03, 地址 https://www.codeblocks.org/downloads/binaries/对Computer的掌控力被Windows削弱了,WIN不是给程序员是给用户开发的OS,Linux下面常用的Code::Blocks,code::blocks配置freeglut网上有很多博客,主要是设置include,lib路径,指定lib。以前NIO指定的IDE是Dev-CPP,但是那个Dev-CPP调试代码补全很弱,dev太老旧了。

2023-12-30 18:03:27 454

原创 六自由度机械臂逆运动学解析解原理-备忘

由于b-c-e实际是在一个竖直平面上的,可以计算出c的位置(也有可能无解,例如e点太远导致b-c-e怎么转都到达不了),世界坐标系下每个关节的位置都确定了,这样a b c d e f的转角都能求出来(也有可能求出的转角超过每个转角的范围,也是无解的),这就是六轴机械臂逆运动学空间解析几何解法。p为连接在轴f上的末端执行器的世界空间坐标系,可能是激光头,夹爪,铣刀头,喷头等等,它有平移translate(px,py,pz)和旋转rotate(rx ry rz三个坐标系)两个部分,俗称位姿;

2023-09-24 22:24:24 636 1

原创 机器人运动规划算法-PRM-策略

PRM算法其实是在空间中随机的撒点,留下那些不在障碍物中的,每个点V根据某个半径R找邻近的一些点连线E,和障碍物碰撞的线滤掉,剩下的点线成为一个图G(V,E),然后起点start和终点end也连到这个图G上。如果点太少,找不到一条path,如果点太多太密,性能就不好,而且随机性每次执行结果都不同,但是它对高维空间不挑剔,特别是现在机械臂都是多轴的高维空间,PRM算法不是一本万利的。剩下的就是图搜索算法,找到start到end的一条path。

2023-08-22 18:36:02 847 1

原创 图形学与计算机辅助设计-大作业例子整理-夹点移动方式修改线

实现是在QPainter上绘制。程序是在VC2019,Qt5.14.2-msvc2017-64预编译库, Eigen3是eigen-3.4.0。蓝奏云上压缩包是编译好的exe,图形学课程的算法都是讲怎么生成像素,像DDA或者光栅化的讲OpenGL内部怎么实现的,所以一般不是讲怎么用OpenGL。整理下大作业例子,这个是按照AutoCAD的操作模式写的,单击线和圆弧将显示夹点,点击夹点将修改实体,下面的代码实现在QXViewWgt.h 和QXViewWgt.cpp 这个自定义的QWidget中。

2023-08-21 23:20:33 114 1

原创 机器人运动规划算法-RRT-步骤

RRT算法不限于三维,特别是高维度空间,比如机械臂有n个关节那它就是在n维空间中运动,所以像OMPL这类基于采样的规划算法效果就比较好用的就比较多,实际实现有些变种,但是由于是随机算法每次执行结果Path都不一样。初始有一个起点S,一个终点E,一个世界W,一堆障碍物O,问题是找到W中一个路径Path从S到E,当然S,E,Path上面的点都不能在O中。

2023-08-19 11:37:39 799

原创 CGAL5.x 二维点集的带索引的凸包

下面的例子是计算点集points,每个点设置一个索引,计算它的凸包,out中返回一个凸多边形的逆时针排序的顶点的索引。

2023-08-15 21:30:48 105 1

原创 二维热传导方程-有限差分数值算法C++实现

下面是一个网格区域,在中间矩形块是温度100的初始值,将偏微分方程写成差分方程,然后执行解算步(sov_step)Ts次以后的格网的温度仿真的可视化结果。下面的这种二阶偏微分方程即为拉普拉斯方程,在热力学中叫稳态的热传导方程。当dx和dy为1时,最后化为。也就是前后左右格子的平均值。

2023-08-10 22:20:12 591 1

原创 OpenCasCade-实体边界表示数据结构-备忘录

Brep_Builder有许多Makexxx,Add,Remove,Updatexxx实现就是在正确填写和修改TopoDS_xxx这个层次化的的边界表示的实体建模(solid modeling)这个实体模型的数据结构体,其它的modeling中的各种造型算法其实底下也是在修改这个数据结构,包括正确的拓扑和几何,几何最多的运算就是求交,产生曲面的交曲线和产生新的点,布尔运算是在xx_Pave这种运算后,经过点点,点线…,线线,线面,面面…BRep_TFace可以直接Surface()访问到face的几何。

2023-08-07 23:44:17 172

原创 rl库(roboticslibrary)多项式求根(root)

这类数值库多项式求根的有很多开源实现,常见的boost::math cgal occ vtk eigen3甚至有些3d库中也有,有些是模板库,这个是rl库中的求实根例子。

2023-08-06 16:00:14 97

原创 计算两圆的交点-曲柄摇杆机构几何模型

机械原理中经典的曲柄摇杆机构的几何模型如下,其中杆oa是绕着o点旋转,ab连接oa和bc,bc是摇杆,绕着c点摇动。计算出ac长度为S,以a为坐标系原点,ac为x轴,垂直ac的轴为y轴可以由向量计算。y方向向量 vec2 y = vec2(-x(1), x(0) )x方向向量 vec2 x = (c-a).normalize()求圆M(圆心a,半径r)和圆N(圆心c,半径R)的交点b。则 ad = x * m,db=y * n。c点坐标固定即已知,则求b点坐标转化为。设ab长为r,bc长为R。

2023-08-01 00:03:52 111 1

空空如也

空空如也

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

TA关注的人

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