位置: 编程技术 - 正文

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)

  • 增值税电子发票怎么领用
  • 已申报税额是什么意思可以退吗
  • 文化服务费内容是什么
  • 供暖企业收取的容量热价费怎么计入收入
  • 存货报废需要进项转出吗
  • 红线范围外增加的工程量
  • 一般纳税人建账建几本帐
  • 劳务派遣 税务
  • 留抵税额抵减欠税文件
  • 研发费用加计扣除新税收政策2023
  • 仓库常用包材
  • 所有的企业都能采用免费策略
  • 税控盘上开完发票发的邮件在哪查看
  • 海关完税价格表
  • 股东垫资需要偿还吗
  • 稽查以前年度补税
  • 预提差率费怎么记账
  • 酒店垃圾处理费标准怎么确定
  • 不动产增值税计算公式
  • 存货折扣怎样做账
  • 贸易型企业怎么做账
  • 年终一次性奖金个税计算
  • 无法手动设置时区
  • windows11怎么添加打印机驱动
  • 单位办事人员
  • ph是什么文件
  • 温尼伯湖成因
  • 审核过程中发现的问题应由被审核部门实施纠正
  • php各个框架的优缺点
  • 扣缴单位无有效的税费种认定信息
  • php实现图片上传到网页显示
  • php cli 多线程
  • javascript零基础入门书籍
  • php jsonp
  • php弹出提示框
  • 实收资本大于注册资本是什么意思
  • 民办非企业开办资金入什么科目
  • 设计服务的成本票可以暂估吗
  • element remove
  • 小规模纳税人销售货物税率是多少
  • 建筑业外管证预审要多久
  • 无法在common files上设置新的所有者
  • 2019年无形资产的摊销额为
  • 销售商品返还现金
  • 生产成本核算的步骤
  • 注册资本一般为多少
  • 2020年防洪基金计算公式
  • 银行承兑汇票以公允价值计量
  • 企业清算期间发生的各项费用应计入以下什么科目
  • 企业应如何降低消费者
  • 用友t3普及版价格
  • 个人经纪代理服务
  • 网上充值平台不能提现怎么办
  • windows隐藏
  • macbook launch
  • vmware虚拟机不能识别iso
  • windows英文版本
  • linux ssh安装包
  • kpg是什么文件
  • 硬件茶谈win10系统安装
  • win8是怎么样的
  • win10系统打开cad出现致命错误
  • perl编程
  • qt widget opengl
  • Node.js中的construct
  • jquery 案例
  • Android AsyncTask简要分析
  • 安卓静态库
  • js正则表达式gi
  • node.js网站
  • expressjs中文
  • unity每秒执行一次
  • 编写js代码要注意什么
  • android.view.window.addflags
  • asyncio 的 coroutine对象 与 Future对象使用指南
  • 深圳市税务局官网电话号码
  • 请领导批示的格式
  • 工程开具增值税专用发票
  • 东莞地税电话号码
  • 重庆国税电子税务登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设