位置: 编程技术 - 正文

bresenham直线,画圆算法(附OpenGL代码)(直线画画)

编辑:rootadmin

推荐整理分享bresenham直线,画圆算法(附OpenGL代码)(直线画画),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:画出直线bc,bresenham画线法,bresenham算法画直线代码open gl,直线b怎么画,bresenham直线,画圆算法,直线cb怎么画,bresenham直线,画圆算法,bresenham直线算法,内容如对您有帮助,希望把文章链接给更多的朋友!

Bresenham算法画直线:

我们在电脑上看到的图像时由一个个像素点拼接而成,当你放大图像就可以观察到这点。以下是一条直线:

它是由这些像素点一个一个拼接而成,那么问题来了,怎样选取这些点,使我们看到的更像是一条直线呢?

我们的主要思路就是,谁靠近直线我们就选谁,近水楼台先得月。如下图,因为,所以我们选择直线下面的黄点作为画直线的点。

依照这个原则,直到终点。这样一条线就出来了。所以我们得比较这两个&#;的大小。我们只考虑0-度的情况:

假设直线为

这里的,而用计算机计算除法是比较耗时的,我们需要改进公式,使其运行更快。这里我们在这个等式前乘以,这样也不会改变等式符号,而我们最终的目的是判断正负,所以是对结果是无影响的。得到如下公式。

其中:

此时

对于pi还可以化简,就是将y= mx&#;b代入

化简得

如果你认为这里就足够简洁了,那么接下来还有更好的。

对pi的迭代:它的好处就是减少计算吧(个人认为,如有高见可探讨),只要判断前一个点的p的&#;得正负,就可推出下一个点的坐标。然后对进行赋&#;,再进行下一轮判断以此循环。

bresenham直线,画圆算法(附OpenGL代码)(直线画画)

bresenham算法画圆:

对于画圆算法,主要思路就是取可选点之间的中点,如下图的M:

然后判断这个点是在圆内还是在圆外,据此判断所选取的点是E还是SE。然后通过迭代画出1/8个圆,根据八分法,就可以画出整个圆了。

类&#;直线,推导出的结果就是:

if(di<0) then

else

迭代至完成1/8圆。

八分法画圆:

关于推导,类&#;于直线,我觉得这两篇有关圆的算法推导写的很详细了,我就不再累赘。

参考文档:

八分法画圆:

正负法画圆:

完整代码:

openGL读取obj文件 《代码转自网上》1.最简单的obj文件的读取,没有采用结构体来储存信息,不过比较有参考意义用int**a;来定义二维数组之后需要在使用之前初始化如:a=

OpenGL--shader入门 理论基础着色器:opengl渲染管线分为固定管线和可编程管线,3.1版本后固定管线已经废除了。可编程管线主要是包括顶点着色器和片段着色器,而我们

Java版WorldWind中加入会运动模型 在worldwindsdk中的gov.nasa.worldwind.geom,这个包是存放一些几何模型的。我使用的是球类Sphere,它是使用OpenGL画出来的。参考这个类进行了一定的修改成为Pla

标签: 直线画画

本文链接地址:https://www.jiuchutong.com/biancheng/369615.html 转载请保留说明!

上一篇:Tips(1)glewExperimental

下一篇:openGL读取obj文件(opengl context for format)

  • 可抵扣暂时性差异是指在确定未来收回资产
  • 固定资产登记在三栏式吗
  • 房屋维修基金帐户怎么查
  • 金税四期什么时候正式上线
  • 税控盘抵扣增值税有时间限制吗
  • 个体工商户在哪注销营业执照
  • 减免的所得税额怎么入账
  • 公司为员工租房费用的会计分录
  • 无形资产特许权使用费怎么做账
  • 重庆个人住房房产税申报
  • 营改增通知规定的税收优惠政策
  • 个人转让住房交土地增值税吗
  • 利润弥补以前年度亏损是税前吗
  • 购进原材料直接销售应该怎样结转成本呢
  • 滴滴打车怎么整
  • 无偿使用房屋
  • 利润表没有其他业务利润
  • window10开始菜单
  • u盘转移到另一个u盘
  • 浅谈linux
  • 留抵增值税可以冲营业外支出吗
  • php字符
  • 外贸企业退运后的进项税如何处理
  • php框架开发教程
  • 房屋权属登记撤销申请书
  • 会计购入材料入什么科目
  • 真菌感染手指甲空了
  • 员工报销发票怎么做账
  • 库存现金账务处理案例
  • 蓝桥杯真题c语言
  • 设备租赁费属于设备费吗
  • unity loom插件
  • 物流发票的税率怎么算
  • 深究Python中的asyncio库-线程同步
  • 注册公司填写从业人数多少合适
  • 原材料用于在建工程增值税如何处理
  • 工会筹备金不缴可以吗
  • 出售无形资产损益怎么算
  • 燃油税税率是多少
  • 红字发票申请单怎么开
  • sql初学者视频教程
  • 足浴店装修大概多少钱一平
  • 家具厂成本
  • 预收账款可以用吗
  • 经营性应付项目包括哪些内容
  • 对公外汇汇款业务
  • 资产负债表所有者权益排列顺序
  • 负债与所有者权益比率计算公式
  • 减免所得税额怎么做分录
  • 加计抵减与加计抵消区别
  • 一般纳税人季报还是月报
  • 向投资者发放现金红利
  • 上级补助收入科目
  • 出国人员差旅出差补贴标准
  • 收到运输服务发票会计分录
  • 发票怎么看是普票还是专票
  • 通用SQL存储过程分页以及asp.net后台调用的方法
  • 查看linux系统版本信息
  • 鼠标点击关闭按钮没反应
  • reader_sl.exe - reader_sl进程有什么用.
  • 系统界面通知
  • win8页面
  • linux查看系统配置内存大小
  • excel表格时间选择
  • Android游戏开发实践指南
  • li的简单应用
  • perl文件操作
  • css制作热点新闻板块
  • unity怎么学
  • shell打开日志文件
  • python操作word文档替换文字
  • java模拟银行存款功能
  • js中定义对象
  • 辽宁省电子税务局电话
  • 3.0车船税多少钱
  • 北京供暖 2020
  • 电子发票美元如何查询
  • 云南港口城市
  • 河北省税务局稽查局领导班子
  • 日本海关关税税率表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设