位置: 编程技术 - 正文

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)

  • 小规模结转增值税会计科目有哪些
  • 公司出售厂房需要交哪些税
  • 收入能加在库存上吗
  • 小微企业季度平均资产看每季度吗
  • 业务招待费报销要求
  • 个人独资企业增值税税率是多少
  • 关联交易金额是付款还是入账
  • 小规模纳税人缴纳上月应交增值税
  • 纳入固定资产的标准
  • 季度的工会经费计税依据
  • 进项税额转出冲红
  • 计提代扣个人工会经费怎么做账
  • 从租计征的房产税纳税期限
  • 子公司注销母公司合并报表处理
  • 小规模纳税人申请一般纳税人流程
  • 企业清算未分配利润不分配要交个税吗
  • 外请人员所发生的费用怎么做账
  • 电费 进项税
  • 当期应税销售收入是含税还是不含税
  • 实收资本取出来要交税吗?
  • 实收资本弥补亏损账务处理
  • 交际应酬费用
  • 通用机打发票上没有税率
  • 税控盘有什么作用
  • 核定征收企业所得税的小型微利企业不得享受优惠政策
  • 消费满额赠礼
  • 设定受益计划资产上限
  • 暂估商品入库跨年收到发票怎么做账?
  • 权益乘数公式
  • 开发成本开发间接费用是哪类账户
  • 两家企业共用一个厂区
  • 施工津贴属于
  • 开了红字发票销售方应怎么账务处理?
  • 自己使用过的固定资产和旧货有什么区别
  • rsrcmtr.exe - rsrcmtr是什么进程 有什么用
  • 支付航天的代理公司
  • 怎么关闭windows defender
  • 赡养老人支出如果有四个子女都要填吗
  • 资本公积金为什么不能用于弥补亏损
  • 买入返售金融资产和卖出回购金融资产
  • ajax向php传值
  • 购入多项固定资产
  • 记录一次排查PHP脚本执行卡住的问题
  • 工程项目科学技术方法工具过程之间的关系
  • node-
  • #cookie jar
  • 电子承兑汇票到期提示付款后多久到账
  • 税务清单和发票清单是一样吗
  • 银行利息的收入计入什么科目
  • 会计中财务费用为负
  • 企业开具劳务费发票怎么开,税率多少
  • 帝国cms扣除会员怎么办
  • mongodb $and
  • 已经抵扣的发票红字信息表怎么开
  • sql server s
  • sql server分为哪两类
  • windows下MySQL 5.7.3.0安装配置图解教程(安装版)
  • 期初数不对怎么办
  • 工业企业材料入库账务处理
  • 数据表的联接
  • ubuntu系统升级后无法进入系统
  • 在u盘里装win7
  • 怎么在ubuntu上编程
  • redhat磁盘挂载
  • reg.exec
  • windows启动很慢很慢
  • 安装win7旗舰版变了家庭版
  • win8笔记本无线连接没有了,怎么设置
  • jsp手机号验证
  • nodejs性能对比
  • 提高网站性能
  • service与activity数据交互
  • android英语
  • js prototype constructor
  • 对税务机关的意见建议怎么写
  • 四川税局官网发票
  • 江西省国家税务局
  • 国税局黑龙江省
  • 上饶税务局电话号码
  • 关税是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设