计算机图形学
计算机图形学,3D建模,OpenGL技术
MasterLuDa
Do what you love,Love what you do.
展开
-
椭圆的绘制算法
问题描述已知椭圆的长半轴a和短半轴b,以及椭圆的中心(xc,yc),绘制椭圆像素图。中点椭圆算法中点椭圆算法与圆的绘制算法类似,也是在某一区域范围内,单位间隔取样,确定离指定椭圆最近的像素位置,然后通过椭圆的对称性,绘制其他像素点。对于椭圆中心不在原点处的情况,同样地我们通过平移将xc加到x,yc加到y,从而将计算出的每个位置(x,y)移动相应的屏幕位置。与圆的对称性不同,椭圆在八分象限之间是不对称的,我们必须计算一个象限中椭圆曲线的像素位置,再由对称性得到其他三个象限的像素位置。如下图原创 2020-08-19 18:02:02 · 3229 阅读 · 0 评论 -
中点圆的绘制算法
因此对应的程序可编写如下:void circleMidPoint(const int xc, const int yc, const int r){ if(r <= 1) return; //圆的半径至少要大于一个像素, int p = 1-r; int x = 0; int y = r; SetPixel(x+xc,y+yc); SetPixel(x+xc,-y+yc);//绘制对称位置处的点 SetPixel(y+x...原创 2020-08-18 17:54:08 · 360 阅读 · 0 评论 -
Bresenham直线绘制算法详解
问题:已知起点p1(x1,y1)和终点p2(x2,y2),绘制直线段p1p2.Bresenham算法(参考文章:https://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html)算法:对于斜率m∈[0,1],已知当前点,下一个点亦即增加1时,值取还是。如图所示,红色直线表示理论直线,实际要绘制的直线过第一个点,ε为实际点和理论点的误差,这里需要根据该误差确定下一点的纵坐标取y还是y+1.很明显,下一点的纵坐标的理.原创 2020-08-06 10:57:47 · 4320 阅读 · 4 评论 -
三点圆绘制算法
需求:给定空间中三点p1(x1,y1,z1), p2(x2,y2,z2), p3(x3,y3,z3),绘制轨迹圆空间中三点确定的平面方程:????1????+????1????+????1????+????1=0空间三点平面方程的行列式形式:由此计算出a1,b1,c1,d1已知圆心O(x0,y0,z0)和平面的法向量n(a1,b1,c1).normalize(规范化成单位向量),即n(nx,ny,nz...原创 2020-04-17 15:21:18 · 2009 阅读 · 1 评论