位置: 编程技术 - 正文

cocos2dx CardinalSpline和CatmullRom算法

编辑:rootadmin

推荐整理分享cocos2dx CardinalSpline和CatmullRom算法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

想想那些鱼儿游动的漂亮曲线,还记得水果忍者的手指划过那一道道划痕吗,众所周知这一切都是很多个点组成的线段,这些都离不开样条插&#;算法。

特别注意:CardinalSpline和CatmullRom这两种算法都是过点式,就是形成的曲线一定经过样品点,但是贝塞尔曲线就不一定经过所有的样品点

cocos2dx中主要有两处用到了:

一个是Action下面类:points代表样品点集合,tension代表张力因子,实际效果是如果等于1就是画直直的线,默认等于0.5,就是比较平滑的线,一般去0到1直之间调节

CardinalSplineBy::create(float duration, cocos2d::PointArray *points, float tension)

CardinalSplineTo::create(float duration, cocos2d::PointArray *points, float tension)

CatmullRomTo::create(float duration, cocos2d::PointArray *points)//等效于上面的tension=0.5

CatmullRomBy::create(float duration, cocos2d::PointArray *points)//等效于上面的tension=0.5

cocos2dx CardinalSpline和CatmullRom算法

一个是DrawNode类下面成员函数,用来画图segments代表共用几个点来形成这条曲线

void drawCardinalSpline(PointArray *points, float tension, unsigned int segments, const Color4F &color);

void drawCatmullRom(PointArray *points, unsigned int segments, const Color4F &color);

cocos2dx中核心源码:

注解:

这里面lt特别不好理解,实际上这里是吧segments个点平均分成points总数个部分,每个segment的点占自己部分的百分比就是这个lt的意思,

这里面p又是什么意思呢,实际上他就表示区间的序号,在同一个区间内p是一样的。

所以此算法大概的原理就是把需要生成的segments点按样品点总数平均分一下,在固定区间内,找到固定的4个实际样品点,然后在这个区间内按点所在这个区间比例位置逐

个使用ccCardinalSplineAt算法生成新点,是一种典型分治法。不过这些仅仅是程序理解,关于样条插&#;算法推导过程估计还得找找大学专业的书本了。

这里通过cocos2dx源码,小小总结一下CatmullRom算法公式:

Cocos2d-x的学习之旅(二)HelloWorld 声明本教程仅用于初学cocos2dx同学使用,内容由本人(Code-Man)编写,此教程使用cocos2dx版本为3.4。本教程内容可以自由转载,但必须同时附带本声明,或

屏蔽多点触摸 环境cocos2d-x-3.1.1ios版本找到AppController.mm修改方法-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions中[eaglViewsetMultipleTouchEnab

Android NDK Cocos2dx 3.4 Label中文显示 小白一个,因为中文显示问题上网找了一天,解决办法大部分不合适(因为复杂,小白嘛=,=)TextFieldTTF可以显示中文,Label却不行,打开源码,豁然开朗

标签: cocos2dx CardinalSpline和CatmullRom算法

本文链接地址:https://www.jiuchutong.com/biancheng/368803.html 转载请保留说明!

上一篇:Cocos2d-x c++和java相互调用

下一篇:Cocos2d-x的学习之旅(二)HelloWorld(cocos 2d x)

  • 小规模纳税人500万以内免税
  • 个人所得税10月突然增加了
  • 如何确定固定资产的原始价值
  • 存续分立的账务处理
  • 基本户被冻结怎么缴投标保证金
  • 资产负债表里的固定资产是原值还是净值
  • 应交房产税通过应交税费核算吗
  • 房产租金收入房产税
  • 超市销售购物卡怎么开票
  • 员工借款会计科目
  • 票据行为为什么没有付款
  • 转让部分股份流程
  • 报刊杂志广告文案写作
  • 公司厂房在建但已收到房租是否要交房产税呢?
  • 一般纳税人有按季申报的吗
  • 公司缴纳电费
  • 增值税专用发票怎么开
  • 企业出租收入增值税税率
  • 普票红冲后原件没有了怎么办
  • 装修费算固定资产吗?
  • 红字记账的四种登记方式
  • 未认证进项税额转出
  • 现金流量表附表的其他指的是什么
  • 发票抵扣后对方恶意冲红
  • 小规模纳税人印花税怎样计算
  • 材料验收入库会计分录怎么写计划成本法
  • 桌面图标变成了白色的
  • window休眠
  • windows4月更新
  • 企业应纳税所得额计算公式
  • 鸿蒙系统怎么快速充电
  • Win10 20H2 Beta 预览版 19042.782正式推送(附更新内容)
  • 商品换购是什么意思
  • 独资子公司如何注册
  • 在承租的土地上建房
  • PHP:Memcached::getAllKeys()的用法_Memcached类
  • php odbc
  • rnbrcache.exe是什么意思
  • 长期借款利息的会计科目
  • thinkphp5执行流程
  • 人工智能aima
  • php import
  • 如何收取会员会费才合法
  • 小规模减免的附件有哪些
  • php绘制图片
  • 竣工结算审计费用在线计算器
  • 少数股东权益贷方表示什么意思
  • 网络模型参数方法
  • 网上学电脑
  • 现代c++教程
  • 淘宝运费险费用很高
  • 会计中财务费用为负
  • mongodb集群启动顺序
  • 其它应收款的处理程序
  • 纳税人遗失税务登记证件并按照规定
  • sqlserver怎么把数据库导出来
  • 企业收到投资款应贷记什么账户
  • 基本社会保险制度范围
  • 会计年度对账
  • 企业收到房租发票怎么做账
  • 哪些个体户要报残保金
  • 技术服务收入如何纳税
  • 定额发票的使用方法
  • 一般纳税人原材料的入账价值怎么算
  • 农产品加计扣除10%进项税账务处理
  • 多少钱算固定资产2022
  • 私营企业固定资产法律制度
  • windowxp操作系统
  • windows2008教程
  • linux系统常用命令怎么记住
  • 计算机的硬盘
  • 服务器不支持密码鉴定
  • linux系统入侵检测软件有哪些
  • js用变量值做参数
  • python开发的程序怎么运行
  • jquery怎么获取
  • 个人出租商铺要交土地使用税吗
  • 国家税务总局开票系统怎么开票
  • 福建省网上税务办事大厅
  • 房地产契税2023年最新政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设