位置: 编程技术 - 正文

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)

  • 已抵扣的进项税发票怎么查询明细
  • 出口企业的退税属不属于纳税总额
  • 物业公司增值税加计扣除
  • 小规模可以申请出口退税吗
  • 办公用品普通发票的会计分录
  • 购进餐饮服务的会计分录
  • 股权转让如何避免印花税
  • 税前扣除凭证的内部凭证
  • 资产负债表中流动性从高向低
  • 可供出售金融资产新准则叫什么
  • 车辆购置税退税流程
  • 预收房款如何申报缴纳增值税
  • 医疗机构交企业所得税吗
  • 一般纳税人核定征收增值税
  • 小规模纳税人还是一般纳税人
  • 公司店铺刷单的收入怎么记账
  • 非流动资产基金对应哪个会计科目
  • 认缴制度下实收资本确认条件
  • 如何安装os x
  • 以前年度进项税额转出会计分录怎么做
  • 退税需要怎么操作
  • 发票跨年作废很麻烦吗
  • win10怎么自定义开机音乐
  • 以前年度损益调整借贷方向
  • 生产型出口企业免抵退
  • vue-admin-master
  • 资产负债表应付账款怎么填列
  • 一般纳税人向小规模纳税人开专票
  • 什么是国家秘密
  • 自定义max函数
  • 增值税附加税必须交吗
  • 超参数设置
  • php远程访问
  • python合并多个excel
  • 股东分红放到哪个会计科目
  • php array_fill
  • 基本户转到法人账户会计分录
  • 餐饮发票数量单价都填0可以用吗
  • 高速费会计分录怎么写
  • 征地费用会计分录
  • 投资性公司怎么做账
  • mysql数据库简单介绍
  • 小规模纳税人报税
  • 政府补贴进项税额处理
  • 其他应收款账户管理应遵循
  • 外币报表折算差额可以转损益吗
  • 无法收回的款项
  • 退回工伤保险的现金流
  • 存货盘盈的账务处理入什么费用
  • 出口退税企业退税流程
  • 出口退税的会计处理
  • 购买不动产增值税率
  • 委托加工产品消费税税率
  • 初中学历学会计难不难
  • 印花税征税范围2021
  • sql如何查出重复的数据
  • vc运行程序exe停止工作
  • webcamrt.exe - webcamrt 进程是什么意思
  • e ink launcher
  • win7旗舰版怎么进入bios
  • xp局域网文件共享设置
  • 更新win10后扬声器无声音
  • win10恢复以前系统
  • 屏蔽触摸按键什么意思
  • opengl oes纹理
  • node.js底层原理
  • 如何大小写字母转换
  • python变量与数据类型
  • javascript教程
  • android性能优化面试题
  • shell bash sh
  • jQuery EasyUI Tab 选项卡问题小结
  • JavaScript bold方法入门实例(把指定文字显示为粗体)
  • jquery $each
  • 对税务机关的意见建议怎么写
  • 关于挂职的规定
  • 税务局不动产交易缴税方案
  • 怎么判断买的盐是不是真的
  • 国税增值税申报怎么记账凭证填写
  • 印花税应税凭证数量是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设