读书笔记
记录看书做的笔记
_°andrew°_
陌上花开。
展开
-
圆形的生成
圆形的生成圆形的扫描转换中点画圆Bresenham画圆圆形的扫描转换在屏幕像素点阵中确定一组最佳逼近于圆的像素点,并用指定的颜色显示出来。由于圆具有对称性,在进行扫描转换时,只需迭代生成八分之一圆的最佳像素逼近点,圆的其他部分通过简单的坐标对称就可以直接得到。中点画圆void MIDPOINT_Circle(CDC *pDc,CPoint cPt ,int R,COLORREF crColor){ int x,y,d; x=0; y=R; d=5-4*R; pDc->SetPi原创 2021-08-07 15:44:28 · 542 阅读 · 0 评论 -
交互式绘图技术与双缓存技术
交互式绘图技术与双缓存技术交互式绘图技术双缓存技术交互式绘图技术交互式绘图技术,又称之为橡皮筋技术。能显示图形的动态变化效果,例如,随着鼠标在视图窗口的移动,能够实时动态地生成图形。绘图功能中有一个“异或”的绘图特性,即在屏幕上用异或的模式画图形,相同的位置重新画一次此图形,则会在屏幕上擦除上一次所绘制的内容。 CDC *pDC = GetDC(); pDC->SetROP2(R2_NOT); DrawLine(pDC,lTmpPoint1,lTmpPoint2,m_cDrawColor)原创 2021-08-07 14:58:48 · 139 阅读 · 0 评论 -
直线的生成
图形的扫描转换(图形的光栅化)实现在屏幕上显示图形,可通过寻找屏幕上的一组像素点集,并将该组像素点集用指定的颜色显示,以此来最佳逼近图形的形状的方法直线的生成比较常用的直线扫描转换算法有三种:数值微分法(DDA);中点画线算法;Bresenham算法。数值微分法的特点是增量算法,直观、易实现。但是算法中有除法运算和浮点数,不利于用硬件实现;当图形中有大量的直线时,利用数值微分法会占用较多的内存,对运算速度会有一些影响。中点画线算法在整个运算中都是整数运算,没有出现小数,因此占有的内存相对较少,也便原创 2021-07-31 21:09:59 · 212 阅读 · 0 评论