位置: 编程技术 - 正文

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)

  • 不动产租赁属于经营租赁吗
  • 什么时候用以前年度损益调整什么时候用年初未分配利润
  • 营业成本占营业收入比重较低的原因
  • 环保科技属于什么行业类别
  • 代理服务费收取标准
  • 可供出售金融资产是指什么
  • 目前在建工程一览表
  • 成本类科目期末借方余额表示
  • 计提房租的会计科目
  • 可转换债券发行主体
  • 税控机减免税额怎么算
  • 所得税汇算清缴分录怎么做
  • 不交增值税当月还需要计提税金吗?
  • 一般纳税人附加税减免
  • 每月收到融资租赁费利息发票
  • 房地产开发企业预缴增值税
  • 远期外汇合约套期会计分录
  • 出口布料有退税吗
  • 递延资产摊销计算公式
  • 控股子公司是
  • 工会经费怎么使用
  • 购买固定资产算投资吗
  • psoft1.exe - psoft1是什么进程 有什么作用
  • 鸿蒙系统小艺怎么改声音
  • 计提房屋租赁费的会计分录
  • 银河麒麟操作系统价格
  • 二手商铺的税费太高了吧
  • 员工内部罚款有没有上限和下限
  • 办理房屋租赁需要的材料
  • 其他应收款和其他应付款常常被用作抵消
  • 母公司收取子公司管理费用比例
  • 利润表应根据什么编制
  • 十天学会css教程
  • 微信支付php开发流程
  • 长期股权投资后续计量收到红利账务处理
  • 行人检测技术
  • 推荐 4个有趣实践作业
  • 时间序列模型ARIMA的优缺点
  • php7.2新特性
  • php 命名空间 通俗易懂
  • 行政单位核销其他应付款分录
  • 金税盘怎样设置收款人复核人
  • python爬虫详细教程
  • 企业内部研发支持方案
  • 合并会计报表合并范围
  • 投资性房地产出售收入属于什么收入
  • mysql中删除语句怎么写
  • 商誉是成本法还是收入法
  • 企业取得财产转让收入
  • 专项储备 科目
  • 困难企业社保费返还
  • 员工个人负担的社保要交工会经费怎
  • 进项发票已经认证,对方作废了
  • 财务报表分析的主体是
  • 出口免税项目
  • 企业发票冲红的风险
  • 应交增值税怎么求
  • 房租增值税专用发票需要开多张,单位和数量如何填写
  • 建筑施工企业会计分录大全
  • 雨林木风 u盘
  • 如何使用mac book
  • 联想笔记本bios设置启动顺序
  • ibm笔记本开机进不去系统
  • slpv24s.exe - slpv24s是什么进程
  • ubuntu netbook
  • win8屏幕分辨率显示不全
  • win10系统电脑开机黑屏
  • linux系统如何安装应用
  • win10mobile官网
  • 让一切停留在最美好的时光
  • 持久化存储数据的方式
  • html用法
  • 使用时间
  • android真机调试闪退
  • python抢红包
  • python中闭包的作用
  • python 解析算法
  • 进口退税能退税吗现在
  • 期初库存和期末库存是什么意思
  • 美国各州房产税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设