【计算机图形学】期末复习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


目录
相关文章
|
6月前
|
存储 算法 图形学
【计算机图形学】实验二 用扫描线算法实现多边形填充
【计算机图形学】实验二 用扫描线算法实现多边形填充
191 2
|
数据可视化
好玩的DEM制图:等高线地形图入门与进阶
好玩的DEM制图:等高线地形图入门与进阶
89 0
|
前端开发 数据可视化 图形学
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
151 0
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
|
算法 图形学
【计算机图形学】实验三:二维图形变换
【计算机图形学】实验三:二维图形变换
245 0
【计算机图形学】实验三:二维图形变换
|
算法 图形学
【计算机图形学】期末复习part1:直线与曲线的绘制
【计算机图形学】期末复习part1:直线与曲线的绘制
167 0
【计算机图形学】期末复习part1:直线与曲线的绘制
|
机器学习/深度学习 算法 图形学
【计算机图形学】实验一:二维图形绘制
【计算机图形学】实验一:二维图形绘制
233 0
【计算机图形学】实验一:二维图形绘制
|
数据可视化
【视觉基础篇】15 # 如何用极坐标系绘制有趣图案?
【视觉基础篇】15 # 如何用极坐标系绘制有趣图案?
165 0
【视觉基础篇】15 # 如何用极坐标系绘制有趣图案?
|
前端开发 数据可视化 API
【数学篇】05 # 如何用向量和坐标系描述点和线段?
【数学篇】05 # 如何用向量和坐标系描述点和线段?
189 0
【数学篇】05 # 如何用向量和坐标系描述点和线段?
|
算法 图形学
【计算机图形学】实验四:线段裁剪
【计算机图形学】实验四:线段裁剪
118 0
【计算机图形学】实验四:线段裁剪
每日一题—— 三维形体投影面积
每日一题—— 三维形体投影面积
112 0
每日一题—— 三维形体投影面积