计算机图形学
junewgl
星光不问赶路人,时光不负有心人。
展开
-
计算机图形学实验(二)—— 直线Bresenham算法源码
1. Bresenham算法核心:(详细原理见末尾)理解光栅化:像素点只能是整数点。 借助决策变量 的正负号判断下一个点坐标,从而避免了计算直线斜率所用乘除法,只需要用加减法。 默认斜率绝对值在区间(0,1)时,即abs(dx)>abs(dy),步进方向为x方向,直线从左往右画。 默认斜率绝对值大于1时,即abs(dy)>abs(dx),步进方向为y方向,直线从下往上画。...原创 2018-11-16 00:42:18 · 6024 阅读 · 0 评论 -
计算机图形学实验(一)—— 直线DDA算法的实现(VC++和easyx没有用MFC)
1. DDA算法(数值微分法)原理: 1)网上或者计算机图形学书本上有详细介绍。 2)最核心的是选定(x2-x1)和(y2-y1)中较大者为步进方向。2. 实现工具: 1) VS2017(C++) 2) 下载插件:Easyx 。使用方法和下载见官网: https://www.easyx.cn/3. 源码展示:#include<iostrea...原创 2018-11-14 21:48:12 · 11600 阅读 · 14 评论 -
计算机图形学实验(三)——中点画圆算法实现及其源码
1.中点画圆算法简介:(以第一象限内靠近Y轴的1/8圆为例)由于圆的对称性,只需要考虑的圆上的点。举例: 引入构造函数:。 分别表示点在圆外,圆上,圆内。 如图3-8所示:.M是P1和P2中点。 当F(M)<0时,说明M在圆内,进而得知P1离圆弧更近;否则P2离圆弧更近(相等的情况,P1,P2都可以). 构造判别式:d=F(M).(详细内容可参考图片) ...原创 2018-11-16 22:43:41 · 6984 阅读 · 2 评论 -
计算机图形学实验(四)—— 中点椭圆算法源码(解决了画大椭圆错误的情况)
1 中点椭圆算法原理核心:(与中心画圆算法类似) 1)构造判别式:。 2)画第一象限时分为区域一(靠近y轴)和区域二(靠近x轴)分类讨论。 3)区域一() :以x轴为单位步长,即x=x+1,y根据p1k的正负判断。 4)区域二() :以y轴为单位步长,即y=y-1,x根据p2k的正负判断。2 源码展示:#include<iostream>...原创 2018-11-19 19:40:07 · 2968 阅读 · 0 评论