![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机图形学
HachiLin
so high so low,so many thing to know.
展开
-
光栅图形学(一)——直线段的扫描转换算法
1. 数值微分法 已知过端点P0(x0,y0)P_0(x_0,y_0)P0(x0,y0),P1(x1,y1)P_1(x_1,y_1)P1(x1,y1)的直线段L(P0,P1)L(P_0,P_1)L(P0,P1);直线斜率k=y1−y0x1−x0k = \frac{y_1 - y_0}{x_1 - x_0}k=x1−x0y1−y0。画线的过程为:从xxx的左端点x0x_...原创 2019-03-03 20:11:31 · 891 阅读 · 0 评论 -
光栅图形学(二)——圆弧的扫描转换算法
1、圆弧的特征 圆被定义为到给定中心位置(x0,y0)(x_0,y_0)(x0,y0)的距离为rrr的点集。圆心为(x0,y0)(x_0,y_0)(x0,y0)的圆有4条对称轴x=x0,y=y0,y=x+y0−x0,y=−x+x0+y0x = x_0,y = y_0,y = x + y_0 - x_0,y = -x +x_0 + y_0x=x0,y=y0,y=x+y0−x0,y...原创 2019-03-07 15:31:19 · 3253 阅读 · 0 评论 -
光栅图形学(三)——梁友栋-Barskey剪裁算法
光栅图形学(三)——梁友栋-Barskey剪裁算法一、问题转换直线的参数方程x=x1+u(x2−x1)y=y1+u(y2−y1)\begin{aligned}&x = x_1+u(x_2-x_1) \\&y=y_1+ u(y_2-y_1)\end{aligned}x=x1+u(x2−x1)y=y1+u(y2−y1)其中0≤u≤10...原创 2019-03-24 14:50:20 · 2247 阅读 · 0 评论 -
Bezier曲线——de Casteljau递推算法实现
1. 定义给定n+1n+1n+1个点的位置矢量Pi(i=0,1,…,n)P_i(i=0,1,\dots,n)Pi(i=0,1,…,n),则Bezier曲线可以定义为P(t)=∑i=0nPiBi,n(t),t∈[0,1]P(t)=\sum_{i=0}^nP_iB_{i,n}(t),\quad t \in [0,1]P(t)=i=0∑nPiBi,n(t),t∈[0,1]其中PiP_i...原创 2019-04-06 09:56:32 · 8001 阅读 · 0 评论 -
B样条曲线——de Boor递推算法实现
B样条曲线——de Boor递推算法实现1. 定义 为保留Bezier方法的优点,B样条曲线的方程定义为P(t)=∑i=0nPiNi,k(t)P(t)=\sum_{i=0}^n P_i N_{i,k}(t)P(t)=i=0∑nPiNi,k(t)其中,Pi(i=0,1,…,n)P_i(i=0,1,\dots,n)Pi(i=0,1,…,n)是控制多边形的顶点,Ni,k(t)(i=...原创 2019-05-04 12:03:26 · 16948 阅读 · 10 评论 -
网格细分 —— Loop细分
网格细分 —— Loop细分1. 定义网格细分是通过按一定规则给网格增加顶点和面片的数量,让网格模型变得更加光滑。Loop细分方法是最早一种基于三角网格的细分方法。一次细分的过程分为两步骤,第一步是增加顶点;第二步是对顶点位置进行调整,使得网格更加光滑。2. 增加顶点Loop细分在每条边上都增加一个顶点,并且同一个三角形内的顶点用新增顶点连接起来,以构成新的三角形。3. 顶点位置的调整...原创 2019-05-19 22:35:19 · 6905 阅读 · 1 评论