【计算机图形学】期末复习part2:二维与三维图形变换

简介: 【计算机图形学】期末复习part2:二维与三维图形变换

4、5题共同的前置科技:齐次坐标

image.png

基本变换

1.比例变换:

image.png

2.对称变换:

image.png


3.错切变换

image.png


4.旋转变换

相对于坐标系原点旋转θ \thetaθ角。image.png

5.平移变换

image.png

级联变换

不属于五种基本变换的都属于级联变换。

示例:绕任意点旋转

image.png


代码

注:代码就只是把上面的公式敲一遍而已,来自北极星实验

//int xp = MaxX() / 2;
//int yp = MaxY() / 2;
//此处旋转中心P点为屏幕中心
//pnew为新的坐标
//p0为原坐标
for (int i = 0; i < 17; i++){
  pnew[i].x = p0[i].x * cos(theta) - p0[i].y * sin(theta) + xp - xp * cos(theta) + yp * sin(theta);
  pnew[i].y = p0[i].x * sin(theta) + p0[i].y * cos(theta) - xp * sin(theta) + yp - yp * cos(theta);
}
drawPolaris(pDC, pnew);//只改变每个顶点坐标,顶点间的拓扑关系(连接关系)不变

示例:以任意直线轴对称

image.png

代码

注:代码就只是把上面的公式敲一遍而已,来自北极星实验

double A = -2, B = 1, C = 800;
double alpha = atan(( - 1.0 * A) / (1.0 * B));
for (int i = 0; i < 17; i++) {
  pnew[i].x = p0[i].x * cos(2 * alpha) + p0[i].y * sin(2 * alpha) + (cos(2 * alpha) - 1) * C / A;
  pnew[i].y = p0[i].x * sin(2 * alpha) + p0[i].y * -cos(2 * alpha) + sin(2 * alpha) * C / A;
}
drawPolaris(pDC, p0);
drawPolaris(pDC, pnew);

5.三维图形几何变换


image.png

image.png

基本变换

比例变换

image.png

对称变换

包括对原点、对坐标轴和对坐标平面的变换。

image.png

错切变换

错切变换指三维立体沿着x,y,z三个方向错切,是画斜轴测图的基础。

image.png


旋转变换

image.png


平移变换

image.png

要注意的问题

image.png

复杂变换

image.png

image.png


目录
相关文章
|
1月前
|
算法 图形学
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
85 2
|
1月前
|
存储 算法 图形学
【计算机图形学】实验二 用扫描线算法实现多边形填充
【计算机图形学】实验二 用扫描线算法实现多边形填充
50 2
|
1月前
|
算法
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
143 0
|
1月前
|
算法
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
114 0
|
1月前
|
编解码
MATLAB | SCI 绘图配色第七期 | 二维纵轴堆叠柱状图 | 雾山五行
MATLAB | SCI 绘图配色第七期 | 二维纵轴堆叠柱状图 | 雾山五行
68 0
|
9月前
|
存储
MATLAB实战 | 不同形式的三维曲面图
通常,MATLAB中绘制三维曲面图,先要生成网格数据,再调用mesh函数和surf函数绘制三维曲面。若曲面用含两个自变量的参数方程定义,则还可以调用fmesh函数和fsurf函数绘图。若曲面用隐函数定义,则可以调用fimplicit3函数绘图。
475 0
|
算法 图形学
【计算机图形学】实验三:二维图形变换
【计算机图形学】实验三:二维图形变换
189 0
【计算机图形学】实验三:二维图形变换
|
算法 图形学
【计算机图形学】期末复习part1:直线与曲线的绘制
【计算机图形学】期末复习part1:直线与曲线的绘制
141 0
【计算机图形学】期末复习part1:直线与曲线的绘制
|
前端开发 数据可视化 图形学
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
121 0
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
|
机器学习/深度学习 算法 图形学
【计算机图形学】实验一:二维图形绘制
【计算机图形学】实验一:二维图形绘制
195 0
【计算机图形学】实验一:二维图形绘制