摘要: 在3D显示中,有Model矩阵、View矩阵和Project矩阵。简称为MVP矩阵。这里实现的是改变View矩阵中的观察点的位置,视野中心不变。亦即站在一个圆环的不同地方朝圆心观察。本文显示的是一个平面(地面)上面悬浮一个四面体,鼠标按下移动来改变观察点和方向。关于摄像机姿势的概念可以参考以下网页内 阅读全文
posted @ 2023-10-31 03:31 兜尼完 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 对于凸函数${ f \left( x \right) }$。不同书里的凸函数定义可能不一样,这里的凸函数指的是函数曲线向下凹陷的函数,有些书里叫它下凸函数。即函数的一阶导数单调递增,二阶导数大于等于0且不全为0。设${ \alpha \in \left[ 0,1 \right] }$则有: $${ 阅读全文
posted @ 2023-10-08 11:38 兜尼完 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 直接给出一个例子供参考。根据我对参考代码的理解,本例是点光源的模型。如果想实现其它如:平行光源或锥形光源需要自己建模。此例子参考了以下博文中公开的代码并做了整理: Qt::QOpenGLWidget渲染带光照的立方体_D_Guco的博客-CSDN博客 这里把立方体换成了四面体,贴图也换成了顶点的颜色 阅读全文
posted @ 2023-09-22 10:49 兜尼完 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 本文实现了曲面的正反面贴不同的图片。方法是利用GLSL语言中的内置变量gl_FrontFacing区分平面的正面或反面。该变量在渲染正面时为true,反面为false。完整的GLSL语言相关内容可以参考以下链接: GL Shader Language(GLSL)详解-基础语法 - 知乎 (zhihu 阅读全文
posted @ 2023-09-06 20:20 兜尼完 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 本文主要内容是关于QOpenGLWidget的使用。此控件用于代替旧的QGLWidget类。关于此类的使用方法可以参考Qt帮助相关内容。 glDrawArrays(...)函数参数说明:OpenGL 理解GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN等绘制三角形序列的三种方式_匆 阅读全文
posted @ 2023-09-01 17:48 兜尼完 阅读(1184) 评论(0) 推荐(0) 编辑
摘要: 本功能的实现主要依托于Qt的拖拽操作。从本文可以学到Qt的拖拽机制,自定义QMimeData的数据类型,和自定义的QGraphicsEffect效果。本文的视觉特效是应用于拖拽的时候指示当前鼠标的位置和拖拽结果新标签页会放置在当前窗口的第几个标签页之后。以下是窗口的效果图片,为了方便标签是用按钮做的 阅读全文
posted @ 2023-08-24 19:02 兜尼完 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 实现自定义特效的方法一般是继承QGraphicsEffect类,重写它的draw(...)函数。如果特效需要扩展目标的外矩形则还要重写boundingRectFor(...)函数。使用时用QWidget::setGraphicsEffect(...)函数把特效加到控件上就行了。在不扩展目标外矩形的情 阅读全文
posted @ 2023-08-22 13:38 兜尼完 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 我们知道给控件添加特效可以使用QGraphicsEffect类。但是如果不针对整个控件而只是针对控件内的某个元素怎么添加外发光效果呢?比如我在控件内绘制一个六边形,要给这个六边形添加外发光效果。一般的做法是先对模糊原始六边形,然后绘制模糊的六边形并在其上叠加绘制原始六边形。绘制多边形这个功能QPai 阅读全文
posted @ 2023-07-06 11:20 兜尼完 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 为了防止忘记,特转载至此。本文方法来源是《最小二乘法直线拟合:Ax+By+C=0 - 会飞的大象会飞的大象 (whudj.cn)》。用一次函数${ y=kx+b }$形式拟合直线非常简单,直接带入最小二乘法公式就行了。而用直线一般式${ ax+by+c=0 }$拟合由于不是非齐次线性方程组则需要一些 阅读全文
posted @ 2023-06-27 20:33 兜尼完 阅读(237) 评论(0) 推荐(0) 编辑
摘要: RANSAC是一种常用的剔除数据中异常点的方法。本文以拟合圆为例展示RANSAC的工作方式。首先我们有一组点,假设内点的概率是p。我们要使RANSAC的成功率至少达到${ \eta=99.9\% }$,那么至少需要重复选择多少次样本?首先确定一个圆需要3个点,即每次选择随机选3个点,因此一次选择包含 阅读全文
posted @ 2023-06-25 19:55 兜尼完 阅读(19) 评论(0) 推荐(0) 编辑