计算机图形学知识点汇总
一、计算机图形学定义与内容
1.图形
图形分为“图”和“形”两部分。
其中,“形”指形体或形状,存在于客观世界和虚拟世界,它的本质是“表示”;而图则是包含几何信息与属性信息的点、线等基本图元构成的画面,用于表达“形”,是“形”的视觉表现,它的本质是“表现”。
“图”和“形”的关系是:“形”是“图”之源,是“图”之根本,是“图”的基础;“图”是“形”的载体,是“形”的表现。
综合理解,图形就是变现物体几何信息的图画。
计算机图形学中的图形对象通常由点、变、面、环、体等基本几何元素构成。
字符图形常见有两种表示方法,分别是矢量字符和点阵字符。
描述图形数据要包括两部分,一部分是几何信息,另一部分是拓扑信息。
“图形”作为计算机图形学的基本研究内容,其表示形式通常有两种,其中更节约内存的表示形式是参数表示法。
2.图像
从广义上说,图像是对自然界的客观事物反映,也是一个不断发展的概念。
从本质上来说,图像是记录在介质上的客观对象的映像。对于计算机这种介质而言,它就是数字图像,如计算机显示器商所显示的就是数字图像,它室友像素组成的矩阵光栅来显示不同的图图像,其中每一个像素具有不同的颜色信息。
屏幕上最小的显示单元叫做像素,它的多少叫做分辨率。
3.图形、图像对比
基本元素:图形:点、线、面等几何元素;
图像:像素。
存储数据:图形:各个矢量的参数(属性);
图像:各个像素的灰度或颜色分量。
处理方式:图形:旋转、扭曲、拉伸等;
图像:对比度增强、边缘检测等。
缩放结果:图形:不会失真,可以适应不同的分辨率;
图像:放大时会失真,可以看到颗粒状像素。
其他:图形:不是客观存在的,是根据客观事物而主观形成的;
图像:对客观事物的真实描述。
图形和图像的实质是矢量图和点位图的关系。
4.计算机图形学的定义
国际标准化组织将其定义为:计算机图形学是研究通过计算机将数据转换成图形,并在专门显示设备上显示的原理、方法和技术的学科。
国内常见的定义如下:计算机图形学是利用计算机研究图形的表示、生成、处理和显示的学科;计算机图形学是研究在计算机中如何构建图形,并把图形的描述数据(数学模型)通过指定的算法转化成图形显示的一门学科。
计算机图形学的主要内容包括两方面:(1)将场景对象转换为图形(2)将转换后的图形显示出来。
5.图形学相关学科
数据可视化、数字图像处理、机器视觉、计算几何、计算机辅助几何设计等。
与计算机图形学的研究内容形成互逆关系的学科是图像处理。
属于计算机图形学相关学科的是:计算几何、图像处理、计算机视觉,不属于的是:人工智能。
6.计算机图形学的应用领域
(1)计算机辅助设计与制造
(2)科学计算可视化
(3)虚拟现实
(4)动画
7.计算机图形学发展简史
(1)计算机图形学的诞生(1950--1960年)
(2)线框图形(1960--1970年)
伊凡.萨瑟兰(lvan E.Sutherland)首次在论文中提出了“计算机图形学”感念,确定了计算机图形学作为一个独立科学分支的地位。
(3)光栅图形学(1970--1980年)
(4)真实感图形学(1980--1990年)
(5)实时图形学(1990年至今)
二、图形系统
1.图形系统组成
图形软件:(1)图形应用软件:二维--AutoCAD、Illustrator;三维--Maya、3ds Max。
(2)图形支撑软件:功能子程序、基本子程序、图形设备驱动程序。(OpenGL、WebGL、DirectX、java2D、java3D)
(3)图形应用数据结构:图形数据文件、图形基元模型、几何描述数据。
常用的图形库OpenGL,属于图形系统的图形支撑软件部分。
OpenGL是一个跨平台的图形API,广泛用于2D和3D图形渲染,支持Windows、Linux、macOS等操作系统。
在OpenGL中,glPushMatrix()和glPopMatrix()用于保存和恢复当前的距阵状态。
图形硬件:(1)图形输入设备。
(2)图形处理设备:中央处理器CPU、图形处理器GPU。
(3)图形输出设备:图形显示设备、图形绘制设备。
在计算机图形系统中,负责捕捉用户输入的硬件设备是鼠标和键盘。
触摸屏是输入输出设备。
图形程序 = 图形算法 + 图形应用数据结构
2.图形显示方式
(1)随机扫描显示
(2)光栅扫描显示
计算机图形显示器一般使用RGB颜色模型。
计算机绘制设备一般使用CMY颜色模型。
3.图形流水线三阶段
应用程序阶段-----几何处理阶段-----光栅阶段(像素处理)
图像显示与图形复杂度相关不是光栅扫描显示器的特征,画点设备、存在锯齿现象、支持真实感图形显示是光栅扫描显示器的特征。
图形流水线的光栅化阶段的主要任务为生成最终图像的像素。
4.图形流水线关键步骤
顶点----->几何处理器----->光栅化器----->片元处理器----->帧缓存----->显示
GLSL的全称(英文表达)是:OpenGL shading Language。
ODBC不属于图形标准,PHIGS、OpenGL、GKS属于图形标准。
GKS是计算机图形官方标准。
三、二维基本图形光栅化与裁剪
1.数值微分算法(DDA)
算法思想:求出斜率k,每次在x和y上,分别加上成比例的小增量xn和yn得到下一个点。
该方法在精度无限高的情况下,可以生成精确无误的直线,但由于光栅显示器栅格的问题,导致xn和yn每次只能取单位步长。
当k小于1时,直线在x轴上增速快,直线的下一个点取值:x1=x+1;y1=y+k。y点坐标求出小数,四舍五入,注意计算下个点y2时应:y2=y1+k。
平面中有一条直线段,起点P1(0,0),终点P2(5,2),利用DDA算法扫描转换该直线,如果当前点亮的像素点(2,1),则下一次点亮的像素点是( 3,1)。
2.Bresenham画线法
算法思想:直线的斜截式y=kx+b,以直线划分,F(x,y)>0点在直线上方,F(x,y)=0点在直线上,F(x,y)<0点在直线下方。
假定0<=k<=1,x是最大位移方向,如下图,M为Pu和Pd的中点,M为直线与Pu和Pd间网格的交点,Q>M,取Pu,Q<M,取Pd。

计算方法:

例题:

Bresenham画圆算法
Bresenham画圆算法适合于生成整圆,他利用对称性,只计算出90~45度内的点,移动方向为+x,-y。
3. 中点画线算法
和Bresenham画线算法类似,但判别规则略有不同,绘制效率完全不同。
在0<k<1情况下:
(1)起点(x0,y0)终点(xn,yn)
(2)d0=(xn-x0)- 2(yn-y1);d<0时,d=d+2(xn-x1)-2(yn-y1);d>=0时,d=d-2(yn-y1)

中点画圆法与Bresenham画圆法类似。
在直线光栅化过程中,当直线的斜率大于1时,增量变化较大的方向是Y方向。
3. 多边形扫描算法
(1)求交点:计算当前扫描线与多边形所有变得交点。
(2)排序与配对:把所有交点按x值递增顺序排序,排序后的交点两两配成区间。
(3)填色:将各区内的像素值设置为目标颜色值。
| 另一顶点的x | y(max) | 1/k | next |
例题:


多边形扫描线填充算法四个步骤中,保证填充无误的关键步骤是交点配对 。
多边形扫描算法为了提高算法效率,引进了一套数据结构,如活性边表,新边表等。
x扫描线算法中的几个主要步骤的正确顺序是求交--排序--配对--填色,那么其中比较耗费时间且能优化的运算是:求交--排序。
4.种子填充算法
种子填充算法从一个给定的 “种子点”(通常位于要填充区域的内部)开始,然后按照四联通(上、下、左、有)或八联通(上、上左、上右、下、下左、下右、左、右)规则将颜色扩展到整个区域。
实现步骤:
(1)初始化,向堆栈压入种子点像素,当堆栈不为空时,重复执行以下步。
(2)从包含种子像素的堆栈中推出区段内的种子像素。
(3)沿着扫描线,对种子像素的左右像素进行填充,直至遇到边界像素为止。
(4)区段内最左和最右像素记为xl和xr,在此区间内,检查与当前扫描线相邻的上下两条扫描线是否全为边界像素或已被填充过。
(5)如果经测试,这些扫描线上的像素段需要填充,则在xl和xr区检范围内,把每一段的最右像素作为种子像素,并压入堆栈。
四联通区域内的每一像素可以通过上下左右四个方向组合到达。
5.反走样技术
(1)提高分辨率
(2)简单区域采样
(3)加权区域采样
反走样技术的主要目的为减少图形中的锯齿现象。
不能获得反走样效果的是:增强图像的显示亮度。
6.Cohen-Sutherland编码裁剪算法
将窗口分为九个区域,每个区域编号如下图,四个数字按照上、下、左、右顺序表示。
取直线端点,按位与,判断直线“取之”或“弃之”。

Cohen-Sutherland直线段裁剪算法中,按照(上下右左)给出四位编码,若线段起点编码为(1001),终点编码为(0101),则该线段属于弃之情况。
三维Cohen-Surtherland裁剪算法中直线端点编码需要的位数是6。
7.Liang-Barsky参数化裁剪算法

Liang-Barsky算法的思想是把被裁剪的线段看成是有向线段。
8.多边形裁剪
多边形裁剪不能简单地用直线裁剪算法对多边形各边进行裁剪来实现。
主要解决两个问题:(1)一个封闭的多边形被裁剪后通常变得不再封闭,需要用窗口边界的适当部分来封闭。
(2)一个凹多边形被裁剪后可能形成几个小多边形,要正确封闭他们。
将多边形外部一点A与某一点B用线段连接,若此线段与多边形边界相交的次数为偶数,则点B在多边形外部,若此线段与多边形边界相交的次数为奇数,则点B在多边形内部。
任意的简单多面体,其面(F)、边(E)、顶点(V)的数目需满足的公式为:V+F-E=2。
四、图形几何变换
1.其次坐标
在图形变换中引入齐次坐标的目的是:统一表示几种变换,便于计算。
二维几何的基本变换矩阵:


例题:


错切:是一种使对象形状发生变化的变换,经过错切的对象好像是由相互滑动的内部夹层组成。错切变换可通过旋转和缩放变换组合得到。
二维几何变换的基本类型包括平移、旋转、缩放、对称和错切。
错切变换:可能引起图形角度改变,可能会发生图形畸变。
平移变换:不改变图形大小和形状,只改变图形位置。
旋转变换:各图形部分间的线性关系和角度关系不变,直线的长度不变。
比例变换:不改变图形的连接关系和平行关系。
2.逆变换
(1)逆平移变换

(2)逆旋转变换

(3)逆缩放变换

齐次坐标的特点:用n+1维向量表示一个n维向量;将图形变换统一为图形的坐标矩阵与某一变换矩阵项城的形式;易于表示无穷远点。不是齐次坐标特点:一个n维向量的齐次坐标表示是唯一的。
三维空间点p(x,y,z)的规范化齐次坐标表示为(x,y,z,1)。
二维坐标变换、二维坐标系变换、三维几何变换、三维符合变换、三维坐标系变换,不展开说了。
五、三维观察
流程:模型坐标--->世界坐标--->观察坐标--->投影坐标--->屏幕坐标
一般情况下,片元着色器是进行模型变换、视图变换等工作的着色器。
(1)模型变换:模型坐标系(局部坐标系)中构建的物体放到统一的世界坐标系(全局坐标系)的过程中,跟据场景的需要所进行的组合变换。
(2)观察变换:在世界坐标系中设定了观察坐标系后,物体从世界坐标系下世界坐标到观察坐标系下观察坐标的变换,也称试点变换或视图变换。
(3)投影变换:在观察坐标系中设定投影平面(观察平面)和投影最欧标系后,将三维物体的观察坐标通过投影的方式变换为投影坐标系下投影坐标的过程。
(4)视口变换:从投影坐标系中的观察窗口到设备设备坐标系中某个指定视区的变换。
窗口到视区的映射是一个“保持比例”的映射。
会产生变换前后维度改变的是:投影变换;不会变换的是:建模变换、观察变换、视口变换。
在三维观察流程中,视图变换的主要目的是将物体从世界坐标系转换到观察坐标系。
三维观察流程中,坐标变换的正确次序应为:观察变换--->投影变换--->视口变换。
物体经过透视投影后可产生缩小的效果。
透视投影比平行投影更富有立体感和真实感。
太阳光线产生的投影为平行投影。
投影变换可分为平行投影和透视投影两大类。
透视投影中,主灭点的个数最多有3。

六、三维造型
1.计算机表示方法
(1)多边形网格表示:将物体表面看成由多边形网格拼接而成。
(2)曲线/曲面表示:曲面和曲线方程能表示为非参数形式或参数形式。
刻画曲线扭曲程度的参数是挠率。
在曲线、曲面的方程表示上,参数方程比显式、隐式方程有更多的优越性。
参数方程又分为代数和几何两种形式。
(3)细分表示:通过一些基本的空间元素来表示对象,主要包括体素表示法、八叉树表示法等。
在规则造型技术中,八叉树是一种经典的技术,它属于空间分割表示造型方法。
2.多边形网格表示
(1)基本集合元素:点、边、面、环和体。
(2)几何信息和拓扑信息:几何信息-->用来描述物体的位置和大小。拓扑信息-->用来描述点、棱边及面片之间的邻接关系。
(3)常用的数据结构:翼边数据结构、对称数据结构、半边数据结构。
3.曲面/曲线造型
(1)插值与逼近:给定一组有序的数据点,构造一条曲线顺序通过这些数据点,并用它近似已知曲线,成为对这些数据点进行插值,所构造的曲线称为插值曲线。推广到曲面,成为插值曲面。
(2)Bezier曲面/曲线



Bezier曲线的性质:端点性质、对称性、凸包性、仿射不变性
缺点:(1)曲线的阶数是由特征多边形顶点个数决定的,n个控制点产生n-1次的Bezier曲线。
(2)由于Bernstein调和函数在[1,0]区间内均大于等于0,这使Beizer曲线不能做局部修改。
(3)虽然可以通过在点集中插图一些点来满足多段Bezier曲线的光滑条件,但这种方法显示很不方便。
Bezier基函数有n+1项,n+1个基函数的和等于1。
(3)B样条曲线/曲面
为了克服Bezier曲线缺点提出的。
特点:局部调整性、凸包性、几何不变性、变差减少性、造型灵活等。
N次B样条曲线具有N-1阶参数连续性。
(4)NURBS曲线/曲面
改进的B样条方法,保留了它描述自由行曲线与曲面强大能力的同时,扩充其统一表示二次曲线与曲面的能力。这个方法就是有理样条方法。由于在形状描述实践中,有理样条经常以非均匀类型出现,二均匀、非均匀、准均匀、分段Bezier三种类型又可看成非均匀类型的特例,因此人们习惯称之为非均匀有理B样条方法。
优点:
即为自由型曲线/曲面也为初等曲线/曲面的精确表示与设计提供了一个公共的数学形式,一个统一的数据库就能够存储这两类形状信息。
为了修改曲线/曲面的形状,即可以借助调整控制顶点,又可以利用全因子,因而具有较大的灵活性。
计算稳定且速度快。
有明确的几何解释,对于有良好的几何知识尤其是画法几何知识的设计人员特别有用。
NURBS(非均匀有条理B样条)方法是一种主要用于描述任意维度的光滑曲线和曲面类型的几何形状的方法。
曲线和曲面的表示形式有显式函数方程、隐式函数方程和参数方程三种形式。
构造实体几何法将实体表示成立方体、长方体、圆柱体、圆锥体等基本体素的组合,可以采用并、交、差等运算构造新的形体。
七、真实感图形技术
1.消隐算法
(1)后相面消除
工作原理
- 确定面的朝向:在三维空间中,每个三角形面都有一个法向量(Normal Vector),它垂直于该面。法向量的方向可以用来确定面的朝向。通过计算三角形面的法向量与从观察者到该面中心的向量之间的夹角,可以判断该面是前向面还是后向面。
- 剔除后向面:如果夹角大于 90 度,说明该面的法向量背向观察者,这个面就是后向面,可以被剔除,不进行渲染;如果夹角小于等于 90 度,则该面是前向面,需要进行渲染。
(2)深度缓冲器算法(z缓存算法)
算法原理
- 深度缓冲器的概念:深度缓冲器是一个与屏幕像素点一一对应的二维数组,其大小与屏幕分辨率相同。每个元素存储了对应像素点处物体表面到视点(观察者位置)的距离,通常用 值表示。初始时,深度缓冲器中的所有值被设置为一个很大的数(表示无穷远)。
- 颜色缓冲器:同时存在一个颜色缓冲器,用于存储每个像素最终显示的颜色。
- 渲染过程:在渲染场景时,对于每个要绘制的多边形(或三角形),计算多边形上每个像素点的 值(即该点到视点的距离)。然后将这个 值与深度缓冲器中对应像素点的当前 值进行比较:
如果计算得到的 值小于深度缓冲器中的值,说明该像素点对应的多边形表面更靠近视点,当前多边形的颜色应该显示在该像素上。此时,更新深度缓冲器中对应像素点的 值为计算得到的较小值,并将颜色缓冲器中对应像素点的颜色更新为当前多边形的颜色。
如果计算得到的 值大于或等于深度缓冲器中的值,说明该像素点对应的多边形表面在后面,不需要更新深度缓冲器和颜色缓冲器。
在多边形面片数量非常大的情况下,消隐算法速度最快的是深度缓存算法(Z-Buffer)。
在Z缓冲器消隐算法中,Z缓冲器每个段元存储的信息是每一个像素点的深度值。
(3)画家算法
算法原理
画家算法的灵感来源于画家绘画的过程。画家在画布上作画时,会先画远处的物体,然后逐渐画近处的物体,这样近处的物体就会自然地覆盖远处的物体。在计算机图形学中,我们可以将场景中的物体按照它们到视点(观察者)的距离进行排序,距离远的物体先绘制,距离近的物体后绘制,这样在绘制过程中,近处的物体就会覆盖远处的物体,从而正确地解决可见性问题。
适用于固定视点的消隐。
消隐算法按照消隐空间的不同分为物体空间消隐算法和图像空间消隐算法。
2.光照明模型
(1)环境光:物体和环境间多次反射,最终达到平衡时的一种光。
(2)漫反射光:全局漫反射光照效果的一种近似。
(3)镜面反射光:反射光集中在一个反向,并遵守反射定律。
Phong光照明模型:第一个有影响的光照明模型。
Whitted光照明模型:第一次给出光线追踪算法的范例。
当观察光照下的光滑物体表面时,在某个方向上看到高光或强光,这个现象称为镜面反射。
在真实感显示过程中,不属于简单光照明模型中光线类型的是:透射光线。属于的是:环境反射光线、漫反射光线、镜面反射光线。
在光线跟踪(Ray Tracing)算法中,应继续跟踪光线的情况是:光线与到某一物体。
3.着色
(1)均匀着色:恒定光强对多边形着色。
(2)平滑着色(Gouraud着色):双线性插值着色。
(3)Phong着色:保留双线性插值,对多边形边上的点和区域内的点,采用增量法。
Gouraud明暗处理采用双线性光强插值算法.
4.纹理映射技术
(1)颜色纹理映射
(2)几何纹理映射
(3)环境映射
在纹理映射中,常用的纹理坐标范围是[0,1]。
在真实感纹理技术中,纹理类型主要有颜色纹理和几何纹理两种。
课程推荐:mooc华中科技大学,计算机图形学计算机图形学_华中科技大学_中国大学MOOC(慕课)
附加练习题:计算机图形学3套卷含答案_计算机图形学3套试卷含答案csdn-CSDN博客
相关文章:
计算机图形学知识点汇总
一、计算机图形学定义与内容 1.图形 图形分为“图”和“形”两部分。 其中,“形”指形体或形状,存在于客观世界和虚拟世界,它的本质是“表示”;而图则是包含几何信息与属性信息的点、线等基本图元构成的画面,用于表达…...
详解下c语言中struct和union的对齐规则
接触过c语言的同学应该都知道字节对齐。有些时候我们很容易弄错字节对齐的方式,特别是涉及到struct(结构体)和union(联合体)时。今天我们通过详细例子来说明下struct和union的对齐规则,以便了解各种struct和…...
ubuntu安装sublime安装与免费使用
1. ubuntu安装sublime 参考官网: Linux Package Manager Repositories 2. 破解过程 打开如下网址,打开/opt/sublime_text/sublime_text https://hexed.it/ 3. 替换在hexed打开的文件中查找并替换: 4180激活方法 使用二进制编辑器 8079 0500 0f94 c2替换为 c641 05…...
攻防世界 cookie
开启场景 Cookie(HTTP cookie)是一种存储在用户计算机上的小型文本文件。它由网站通过用户的浏览器在用户访问网站时创建,并存储一些用于跟踪和识别用户的信息。Cookie 主要用于在网站和浏览器之间传递数据,以便网站可以根据用户的…...
深度学习笔记1:神经网络与模型训练过程
参考博客:PyTorch深度学习实战(1)——神经网络与模型训练过程详解_pytorch 实战-CSDN博客 人工神经网络 ANN:张量及数学运算的集合,排列方式近似于松散的人脑神经元排列 组成 1)输入层 2)隐…...
什么是 DevOps 自动化?
DevOps 自动化是一种现代软件开发方法,它使用工具和流程来自动化任务并简化工作流程。它将开发人员、IT 运营和安全团队聚集在一起,帮助他们有效协作并交付可靠的软件。借助 DevOps 自动化,组织能够处理重复性任务、优化流程并更快地将应用程…...
使用 Python 操作 MySQL 数据库的实用工具类:MySQLHandler
操作数据库是非常常见的需求,使用 Python 和 pymysql 库封装一个通用的 MySQL 数据库操作工具类,并通过示例演示如何使用这个工具类高效地管理数据库。 工具类的核心代码解析 MySQLHandler 类简介 MySQLHandler 是一个 Python 类,用于简化…...
DB-GPT V0.6.3 版本更新:支持 SiliconCloud 模型、新增知识处理工作流等
DB-GPT V0.6.3版本现已上线,快速预览新特性: 新特性 1. 支持 SiliconCloud 模型,让用户体验多模型的管理能力 如何使用: 修改环境变量文件.env,配置SiliconCloud模型 # 使用 SiliconCloud 的代理模型 LLM_MODELsiliconflow_p…...
亚式期权定价模型Turnbull-Wakeman进行delta对冲
Turnbull-Wakeman Model是一种用于定价和对冲亚式期权的数学模型。该模型由David Turnbull和Keith Wakeman在1990年提出,用于解决亚式期权的定价问题。 亚式期权是一种路径依赖类型的期权,其期权价格与标的资产价格某个期间内的平均值有关,假…...
Java的list中状态属性相同返回true的实现方案
文章目录 项目背景方案一、for循环实现实现思路 方案二、stream实现实现思路 项目背景 在项目中会遇到list中多个状态判断,状态值相等时,总体返回为true。 方案一、for循环实现 实现思路 遍历list,当出现不一致时,直接跳出循环…...
在 React 项目中安装和配置 Three.js
React 与 Three.js 的结合 :通过 React 管理组件化结构和应用逻辑,利用 Three.js 实现 3D 图形的渲染与交互。使用这种方法,我们可以在保持代码清晰和结构化的同时,实现令人惊叹的 3D 效果。 在本文中,我们将以一个简…...
服务器压力测试怎么做
在部署任何Web应用程序或服务之前,进行服务器压力测试(也称为负载测试)是确保系统能够处理预期用户流量的关键步骤。通过模拟大量并发请求,可以评估服务器的性能、稳定性和响应时间,识别潜在瓶颈,并优化资源…...
TCN-Transformer+LSTM多变量回归预测(Matlab)添加气泡图、散点密度图
TCN-TransformerLSTM多变量回归预测(Matlab)添加气泡图、散点密度图 目录 TCN-TransformerLSTM多变量回归预测(Matlab)添加气泡图、散点密度图预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基本介绍 1.双路创新ÿ…...
Mac 查询IP配置,网络代理
常用命令 1.查询IP ifconfig | grep "inet" 2.ping查询 ping 172.18.54.19(自己IP) 3.取消代理,通过在终端执行以下命令,可以取消 Git 的代理设置 git config --global --unset http.proxy git config --global …...
Vue2五、商品分类:My-Tag表头组件,My-Table整个组件
准备: 安包 npm less less-loader。拆分:一共分成两个组件部分: 1:My-Tag 标签一个组件。2:My-Table 整体一个组件(表头不固定,内容不固定(插槽)) 一&…...
梯度下降法求六轴机械臂逆向解
梯度下降法求六轴机械臂逆向解 一、几何基础 对于上述六轴机械臂的数学建模来说,可以构建一个六轴机械臂的运动学正逆解的数学模型,在一个直角坐标系中有如下旋转矩阵: 绕x轴旋转 R x ( θ x ) [ 1 0 0 0 cos θ x sin θ x 0 − …...
【生成模型之九】Paint by Example: Exemplar-based Image Editing with Diffusion Models
论文:Paint by Example: Exemplar-based Image Editing with Diffusion Models 代码:https://github. com/Fantasy-Studio/Paint-by-Example 为了实现高质量的基于样本的图像编辑,我们引入了四项关键技术,即利用图像先验、强数据-mask增强、内容瓶颈CLIP class token和无…...
集成RabbitMQ+MQ常用操作
文章目录 1.环境搭建1.Docker安装RabbitMQ1.拉取镜像2.安装命令3.开启5672和15672端口4.登录控制台 2.整合Spring AMQP1.sun-common模块下创建新模块2.引入amqp依赖和fastjson 3.新建一个mq-demo的模块1.在sun-frame下创建mq-demo2.然后在mq-demo下创建生产者和消费者子模块3.查…...
PVE虚拟化平台之开启虚拟机IP显示方法
PVE虚拟化平台之开启虚拟机IP显示方法 一、PVE平台介绍1.1 PVE简介1.2 PVE特点1.3 PVE主要使用场景二、检查PVE环境2.1 环境介绍2.2 检查PVE和虚拟机状态三、虚拟机开启Qemu代理四、Linux虚拟机安装Guest-Agent4.1 进入虚拟机VNC控制台4.2 查看虚拟机IP五、Windows虚拟机安装Gu…...
子Shell及Shell嵌套模式
子Shell 概念 Shell子进程,Shell脚本是从上至下,从左至右依次执行每一行的命令及语句的,即执行完一个命令之后再执行下一个。如果在shell脚本中遇到子脚本(即脚本嵌套),就会先执行子脚本的内容,完成后再返回父脚本继…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
