![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机图形学
文章平均质量分 66
封小平男友
这个作者很懒,什么都没留下…
展开
-
计算机图形学:三次Bezier曲面的绘制(算法原理及代码实现)
一、算法原理如果说对于曲线来说只有一个参数,0=<t<=1,那么对于一个面来说,就应该有两个参数,分别设0=<ɑ<=1, 0=<β<=1。 首先规定一共4x4 = 16个控制点,其水平面位置如图中16个黑点所示(并未表示出高度,防止图形太乱),将这16个点分成4列,图中红色圈中的为一列的具体例子。 第1步 在这4个控制点之下利用第一个参数ɑ运用第一章的计算贝塞尔曲线的方法得到蓝色点,因为有4列,所以一共可以得到如图所示的4个蓝色点。...原创 2022-03-01 23:28:00 · 4642 阅读 · 2 评论 -
计算机图形学:三次Bezier曲线的绘制(算法原理及代码实现)
一、实现方案 贝塞尔曲线原理:贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。它通过控制曲线上的四个点(起始点、终止点以及两个相互分离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞尔曲线改变曲线的曲率(弯曲的程度);移动中间点(也就是移动虚拟的控制线)时,贝塞尔曲线在起始点和终止点锁定的情况下做均匀移动。注意,贝塞尔曲线上的所有控制点、节点均可编辑。 ...原创 2022-03-01 23:23:36 · 12534 阅读 · 0 评论 -
计算机图形学:二维图形的几何变换(算法原理及代码实现)
一、实现方案 对于一个二维图形作平移、旋转、放缩变换,可以转换为在二维坐标系中图形的所有点分别可以对应到在x,y轴方向分别平移tx,ty(平移)、绕一点旋转固定的角(旋转)、在x,y轴方向分别放缩sx,sy倍。 对于变换的原理,只需要将原图形的点通过极坐标或者相加、相乘,再结合二维矩阵的原理即可实现,如果图形需要对图形对象进行旋转和放缩两类变换进行多次操作,则可以首先将两变换矩阵合成一个复合变换矩阵。针对于平移是矩阵的相加,为了统一成相乘,可以用齐次坐标可以解决。 如下为在齐次坐标下,各原原创 2022-02-22 16:32:26 · 10113 阅读 · 4 评论 -
计算机图形学:多边形填充算法(算法原理及代码实现)
一、实现方案扫描线算法:实现原理: 把图形的填充转换为扫描线从上往下扫描填充,这时我们只需要判断每一条扫描线与图形的交点,而我们可以根据扫描线的连贯性,对交点进行排序,第1个点与第2个点之间,第3个点与第4个点之间..... 依照此原理可以对图形进行扫描线算法扫描转换多边形,其中在判断上述交点时,还会出现扫描线与边重合、扫描线与边的交点为顶点等现象,具体实现步骤如下。实现步骤:1、找到多边形的最大Ymax和最小Ymin,在此范围内扫描多边形逐条;2、一条扫描...原创 2022-02-22 16:21:18 · 13789 阅读 · 1 评论 -
计算机图形学:Cohen-Sutherland直线段剪裁算法及梁友栋-Barsky裁剪算法(算法原理及代码实现)
一、算法实现原理Cohen-Sutherland直线段剪裁算法:算法原理:(1)判断线段两端是否都落在窗口内,如果是,则线段完全可见,否则进行下一步(2)判断线段两端是否都落在窗口外,如果是,则线段完全不可见,否则进行下一步(3)求线段与窗口延长线的交点,这个交点将线段分为两端,一段完全不可见丢弃,对剩下的一部分重新进行上述一、二操作,直到结束。算法实现: 用窗口四条边所在的直线将整个二位平面分为9个区域,定义下界限为ymin,上界限为ymax,左界限为xmin,右界...原创 2022-02-22 16:10:57 · 9059 阅读 · 1 评论