计算机图形学
文章平均质量分 87
赵卓不凡
爱学习,爱编程,爱咖啡可乐
爱挑战,爱钻研,爱刷OJ
爱晚起,更爱coding到深夜
我爱好技术,崇尚简单和懒惰
我神秘而孤僻,沉默而爱憎分明
Do not panic! I am a programmer!
展开
-
【深度好文】直线Bresenham算法实现
[问题描述]在图像处理和计算机图形学中,我们经常需要在屏幕上画直线操作.考虑给定平面上两个点A(x1,y1)以及B(x2,y2),我们的任务是实现在屏幕上画通过AB两点的直线,并找出这条直线通过的所有中间点的坐标.需要注意的是这里每个像素的坐标均为整数.示例:为了使算法尽可能简单,我们做以下假设:我们画直线从左往右画x1<x2 并且 y1<y2直线的斜率在[0,1]之间,我们从左小往右上方向画线.最原始方案:看了上述描述,首先浮现在我们脑海的是最最原始直接的方法,如下所示:原创 2021-07-13 21:39:07 · 764 阅读 · 2 评论 -
【深度好文】3D坐标系下的点的转换矩阵(平移、缩放、旋转、错切)
上一节中往我们介绍了2D坐标系下点的转换矩阵,本节将2D坐标系扩展到3D坐标系,来研究对应的转换矩阵。1. 平移 (Translation)在3D空间中,假设我们需要将一个点平移到另一个位置。假设空间中的一点P,其用坐标表示为(x,y,z);将其向 x方向平移 tx,向y方向平移ty, 向z方向平移tz, 设平移后点的坐标为(x’,y’,z’),则上述点的平移操作可以归纳为如下公式:使用齐次矩阵表示如下:将上述过程用代码实现如下:%matplotlib inlineimport matplo原创 2021-07-09 14:25:14 · 2287 阅读 · 1 评论