位置: 编程技术 - 正文

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)

  • 申请渠道门户网站是什么意思
  • 先包装后销售
  • 税前利润是什么利润
  • 外币报表折算差额是一种未实现的汇兑损益
  • 劳保用品销售
  • 提现的手续费怎么做账
  • 运输公司轮胎如何做会计分录
  • 支付宝理财提现到银行卡有费用吗
  • 营业执照变更需要什么材料?
  • 季度盈利可以弥补以用以前年度亏损弥补
  • 多缴税款抵税有期限吗
  • 库存金额负数怎么处理
  • 月末收到一批b材料,结算凭证未到,估价50000
  • 公司为员工负担的工资
  • 杨志勇财政
  • 免征增值税的进项税额如何处理
  • 购买商品成本要支付哪些成本
  • 新注册公司税务报到
  • 企业购买设备可以税前扣除吗
  • 个体户查账征收没有成本票怎么办
  • 偿还债务是划拨资金吗
  • 抵税的税额怎么计算
  • 记账凭证需要哪些人员签章
  • 一般纳税人所有税率
  • 个人接受捐赠要开发票吗
  • 个体户生产所得税怎么计算
  • 受赠房屋涉及哪些税?
  • 一般纳税人认定管理办法
  • 在Win10系统中卸载最近更新的补丁并重启电脑
  • 购买商品接受劳务的现金流包括哪些
  • 发出委托加工物资
  • 收到政府补贴的装修款
  • php的运行机制与什么有关
  • thinkphp6调用模型的方法
  • mysql的字段类型有哪些
  • 金融企业贷款逾期怎么办
  • 个人所得税计提缴纳会计分录
  • mcappins.exe - mcappins进程是什么文件 什么意思.
  • 汇票本票支票的相同点和不同点
  • 出售短期债券投资发生的净损失计入哪里
  • 购进油漆,用于装饰本企业办公楼
  • php的难点
  • 陆家嘴金融贸易区管委会主任
  • 企业销售不动产增值税税率
  • 企业会计准则条文释义与案例详解
  • WINDOWS10系统怎样给电脑分区
  • 企业的银行账户按用途分不包括的是
  • $ajax请求
  • 固定成本又称什么成本
  • 管理人员工资属于直接费还是间接费
  • js 数组remove
  • 增值税冲红后附加税如何申报
  • sql里面union 和union all区别
  • 分红需要满足的条件包括
  • 农副产品收购分录
  • 免税收入是否可抵扣
  • 建筑工程审计流程
  • 公司一般户需要纳税吗
  • 财务成本控制总结
  • 兼职会计做什么工作
  • sqlserver锁机制
  • sql server怎么向表里添加数据
  • sql复制表的语句
  • win8.1退回win8
  • Win10 PC/Mobile Creators快速预览版14959今日推送
  • win7原版系统安装与激活
  • javaw.exe是什么进程
  • xp的开始菜单
  • windefault.exe - windefault是什么进程
  • ubuntu14升级
  • linux fdisk -l
  • linux中ctrl+c
  • opengl顶点坐标纹理坐标关系
  • 使用jquery的步骤
  • python 内置函数名作为变量名
  • shell命令for
  • 电脑兼容ie
  • jQuery Ajax 全局调用封装实例代码详解
  • 广州车船税每年交多少
  • 天津市各区国税局待遇一样吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设