位置: 编程技术 - 正文

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)

  • 餐饮业厨房设备专票可以抵税吗
  • 库存商品和固定资产
  • 个体户未抄报不能领发票
  • 上季度资产总额填错了怎么办
  • 工资结算单属于通用凭证吗
  • 结存材料物资会计分录怎么做?
  • 企业优化什么意思
  • 收到银行退回的银行汇票多余款
  • 收回赔款会计分录
  • 进项税超过销项怎么办?
  • 微税平台怎么打印发票
  • 车船税不开票吗?
  • 税收分类编码格式
  • 员工午餐补贴可以入福利费吗?
  • 预缴所得税需要结转吗
  • 公司注销其他应收款怎么冲平
  • 代缴社保缴费基数是怎么算的
  • 有哪些凭证
  • windows10如何清理c盘垃圾
  • vmware10怎么安装
  • 分期服务费是啥
  • 库存商品如何结转生产成本
  • mac的日历
  • 正确的PHP匹配UTF-8中文的正则表达式
  • 苹果系统的声音
  • 赠送积分有两种形式
  • 预提费用是啥
  • 总公司给分公司调货
  • 非货币性资产交换补价大于25%的会计处理
  • 销售退回的会计分录金额
  • 库存现金月末怎么结转
  • dtft与dfs
  • thinkphp怎么运行
  • 坏账损失属于或有事项吗
  • php cli 多线程
  • 基于深度学习的轴承寿命预测实践,开发CNN、融合LSTM/GRU/ATTENTION
  • phpgd库怎么开
  • 物流公司挂靠车辆怎么做账
  • 食堂增值服务有哪些
  • 固定资产一次性折旧账务处理
  • 不动产租赁需要资质吗
  • 金蝶怎么增加职员
  • 建筑公司增值税专用发票税率是多少
  • 个体工商户核算方式选哪个比较好
  • 哪些发票是成品发票
  • 租赁物品损坏赔偿金额标准
  • 一般纳税人企业要交哪些税
  • 为取得借款发生的手续费
  • 技术服务行业增值税税负率
  • 房屋租赁违约金怎么规定
  • 基本户转账到法院怎么转
  • 外经证预交税款可以以后月份抵扣吗
  • 首先要知道什么英语
  • 小规模纳税人怎么开增值税专用发票
  • 违约金进项税额可否抵扣 分录
  • sql server 2000中的安全性包含
  • win7怎么删除win10系统
  • Win10系统安装包
  • win8 metro应用
  • Windows(win7/win8/xp/2003)进入安全模式方法详细汇总
  • 与web站点和web页面
  • u盘运行win10系统
  • linux 系统文件
  • win8平板玩lol
  • win10添加功能在哪
  • linux在u盘中运行
  • extjs4 treepanel动态改变行高度示例
  • python语言如何获取随机整数
  • html里id
  • 批处理提取文件夹中的文件
  • unity 黑洞
  • python读取图片属性
  • jquery中的each方法
  • 辽宁省农村合作医疗2024怎么缴费
  • 广东税务怎么查社保缴费明细
  • 对税务总局党组织的评价
  • 河南地税网上个税怎么交
  • 西安车辆购置税在线交费
  • 信息报送条例
  • 国税手撕发票图片
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设