科学计算
yrcxx
这个作者很懒,什么都没留下…
展开
-
OpenCascade面片导出网格的纹理坐标的计算
得到三角网格顶点的每个uv坐标,但是这个uv坐标其实是aFace的曲面方程的自变量F(u,v),如果将这个值设置给OSG,Ogre或者OpenGL。通过BRepMesh_IncrementalMesh得到OCC的Solid的各个Face的三角网格, 可以通过。下面计算曲面的纹理使得均匀贴敷,要通过uv算点Vi在曲面曲纹坐标网上的实际的u_s, v_s。经常matplot画的曲面上的黑色的网格就是曲纹坐标网。的纹理坐标,一般显示的曲面是扭曲的。原创 2024-07-21 16:43:42 · 282 阅读 · 0 评论 -
Ogre 13.x+Qt5-例子整理
下面的demo是创建了个QWindow然后作为Ogre的ApplicationContextQt的渲染窗口,调setup中的创建sceneManager,light,camera,然后设置为QMainWindow的centerWidget的,然后主要是创建了一个Ortho的camera,在resize时候调整,用ManualObject绘制点线或者三角形。原创 2023-07-20 00:02:01 · 408 阅读 · 0 评论 -
齿轮渐开线方程及绘制
我用蓝奏浏览器分享了[curvetest01], 下载链接:https://wwp.lanzoup.com/iTE2A12mp58j 提取码 : 8mok, 你可以不限速下载哦。齿轮轮齿轮廓是一个渐开线方程,当一根绳子绕紧一个圆拉直了端部旋转,则绳子端部画出的曲线就是一个螺旋状的渐开线,方程如下,渐开线齿之间啮合传动能保持恒定传动比,传动平稳等特性。下面还是用QPainter将曲线离散为多段线进行可视化。demo是用c4droid编译的apk放到蓝奏上面。原创 2023-07-16 16:28:43 · 640 阅读 · 0 评论 -
试用蓝奏云盘分享代码笔记及demo效果
这里就把以前用QPainter绘制螺线的Qt代码编译成apk放在蓝奏盘上。蓝奏盘的下载速度很快,而且可以在浏览器下载,这点很不错。提取码 : 4iir, 你可以不限速下载哦!原创 2023-07-08 23:01:43 · 1367 阅读 · 0 评论 -
过平面三点求圆的圆心和半径
设平面三点v0,v1,v2 求过三点的圆的圆心c?采用克莱姆法可以计算出(xc, yc),当分母。知道圆心,则代入(1)可以求出半径r。则AB构成一个二元一次方程组。原创 2023-07-08 13:33:10 · 594 阅读 · 0 评论 -
QOpenGLWidget下使用glad库
下面是opengl vertex array的api使用,这个特性opengl 4.x都不推荐了,但是由于简单,还有兼容老旧代码,调试方便等特性。gl 下拉列表选择opengl4.x, 选择compatibility,则可以支持1.x 2.x 3.x的API。勾选 generate a loader , 这个glad.h 就会有 gladLoadGL() 这个API;2.将glad.h glad.c k hr xxx.h添加到工程;1.glad网址 https://glad.dav1d.de/原创 2023-07-06 20:04:21 · 247 阅读 · 0 评论 -
交互式图形对象编辑原理-CAD中夹点-实体编辑例子
对于EDA中,实体主要是各种平面元器件和连线,主要的编辑是对元器件的脚点连线,拖动元件,这些脚点也是grip point的概念,当然CAD CAM EDA 领域包括行业CAD例如BIM GIS SWAT 船舶 航空航天等等业务区别和软件操作习惯及逻辑还是非常大的,还有一大块在行业数值模型或者电路网络的不同业务层面的仿真分析物理上的计算,属于更大的CAE概念,一般我们看到的交互编辑工作,俗话叫画图,属于CAE的前处理和后处理工作,侠义的CAD叫计算机辅助绘图。当单击三角形,显示夹点,夹点将会被扑捉。原创 2023-07-02 14:13:58 · 191 阅读 · 0 评论 -
图形学和计算机辅助设计(CAD)课程大作业-线对象选择与Snap
下面是计算机图形学和计算机辅助设计大作业记录,实现的是线和圆弧的pick及snap功能,绘制使用的是QPainter,参考的AutoCAD的snap逻辑,原理是计算projectPoint, 即鼠标位置和curve的距离,当小于snapbox的尺寸时,修改snapbox的位置,操作时感觉靠近曲线磁吸过去了。2.当鼠标靠近线,线高亮,同时鼠标吸到线上,鼠标在snapbox范围轻微移动,将保持吸靠到线不变。4.单击空白处,将取消选中的线,整个操作逻辑符合AutoCAD的pick-snap风格。原创 2023-06-18 21:40:57 · 287 阅读 · 0 评论 -
两个平面圆有交点的分析思考-关于平面几何
在看小学数学平面几何题,自然要提到欧几里得的几何原本,通过5条公设,可以推出几千条命题,就像看国内三国演义,没遇到孔明之前三国你都不能叫打仗只能叫打架群殴,直到孔明出场以后,西方科学公理演绎法的强大,可惜国人从清朝康熙那会都没有搞明白欧几里得那套东西是咋回事,以为殴的心里的几何就是空间想象力,其实殴的几何其实是基于一些基本的几何事实上的持续推导,只要公设正确,推导过程正确,结论精密的正确,当然推导不是一条线的往往是复杂的,几何原本也没写推导方法,这构成了复杂多变的经验和技能。所以C0和C1至少有一个交点。原创 2023-05-14 18:48:50 · 177 阅读 · 0 评论 -
计算几何-断言( predicate) -点在直线上
计算几何算法一类函数是叫断言,又叫谓词,英语叫predicate,例如 3 小于 2,three little two,点 在直线上 point on line,小红 喜欢 小明,不喜欢 小黑, x like y,这里 little on like就是predicate。基于该距离计算,可以写出断言函数,点在直线上,浮点断言程序是在指定公差(tolerance)范围内判断是否为真,例如指定1e-5则距离小于0.00001都认为点在直线上。计算点到直线的距离是基于三维向量运算。原创 2023-05-11 23:25:47 · 228 阅读 · 0 评论 -
关于tinyrender中的软opengl实现运行Qt的hellogl交互的调试例子
前面的tinyrender中心任务就是写像素,这也是opengl的中心任务,这里用QImage来写像素,和Qt的GUI交互,来用our_gl代替实际的OpenGL来实现Qt的hellogl程序用于调试。由于是软光栅器,小的obj模型还是能流畅旋转的,这里的shader是模拟了diffuse和specu光照.大部分opengl代码都是Qt5 的hellogl例子。还是粘贴的修改过的代码文件.原创 2022-09-25 14:55:36 · 326 阅读 · 0 评论 -
c++绘制极坐标曲线-使用Allegro绘图库
曲线绘制使用的allegro5图形图像库很简单,它的2d功能类似MFC的GDI绘图,对于函数平面曲线都是采样曲线上的点连成多段线对曲线逼近,下面两个程序都是极坐标下的曲线,一个是阿基米德螺旋线,一个是cos曲线.curve0.cpp 阿基米德螺旋线#include <stdio.h>#include <allegro5/allegro.h>#include <allegro5/allegro_primitives.h>#include <vector>原创 2022-01-10 00:07:42 · 1522 阅读 · 0 评论 -
控制台屏幕上跑动的字符-质点运动模拟的C++小程序
元旦整理了个C++的控制台的程序,可以动画运动的符号,可视化直接用的printf,所以不用其它什么额外库,但是有用到C++11以上的语法和库,所以最好是VC2015~VC2022的编译,直接拷贝代码就行。是一个笑脸符号在屏幕上飘,点和屏幕中心的固定点有个弹性力作用,为了叫点不发散,点在运动时候受到阻尼会减速的,a d s w按健分别会朝左右下上推一下点。main.cpp#include<string>#include<vector>#include<stdio.h>原创 2022-01-04 22:35:08 · 689 阅读 · 0 评论 -
stl的vector容器-n维向量的点积
C++的STL中的vector是一个动态数组,可以表示多维向量(一般平面二维向量对应的vector的size为2,三维对应的size为3), 求向量v的笛卡尔长度则为v点乘v自己的开平方根。#include <iostream>#include <vector>#include <math.h>bool vetor_dot_mul(const std::vector<double>& a, const std::vector<dou.原创 2022-01-03 13:02:01 · 845 阅读 · 0 评论