位置: 编程技术 - 正文

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)

  • 公司利润税怎么交
  • 一般纳税人发生特定应税销售行为
  • 关税减免形式主要包括
  • 工会开户所需资料怎么写
  • 劳务派遣差额发票0税率情况
  • 企业税前扣除凭证包括增值税发票吗
  • 生产设备保险费会计分录
  • 利润表年度报表
  • 微信支付属于现金嘛
  • 未确认融资收益对应的科目是什么
  • 银行存款缴纳所得税费用会计分录
  • 小规模交了增值税还要交什么
  • 已经缴纳的税款在哪里查询
  • 计提增值税小于10万元
  • 企业取得租车发票
  • 公司司机出车补贴
  • 公司注销后如何申请强制执行
  • 审计费用需要计什么科目
  • 网络招聘合同
  • 增值税计入无形资产的入账价值吗?
  • 我公司去年职工工资多少
  • 代收国税地税收入
  • 湖北个体户网上申报
  • 影视制作公司是做什么的
  • 未开发票申报
  • 所得税 季报
  • 金蝶标准版利润表季度怎么选
  • 对子公司投资款要交税吗
  • 小规模纳税人收到专票后如何处理
  • linux命令执行成功后会返回什么
  • 出纳员交接工作
  • 如何调整任务栏图标大小
  • 电脑运行慢怎么清理c盘
  • 销售人员奖励办法
  • 程序员编程代码大全
  • pow是什么意思中文翻译
  • php如何上传1个g以上的文件
  • 海运发票模板
  • php ffi 性能
  • vue获取当前行
  • yolov4源码解读
  • 募股方案
  • 印花税申报成功后在哪缴税
  • 外汇核销是什么意思
  • 当月开出的销项票一定要当月抵扣吗
  • 小企业会计准则和企业会计准则的区别
  • php验证码代码怎么写
  • 发票金额大于付款金额怎么做账
  • 用友软件中销售怎么做
  • sqlserver 自定义函数 读取数据表
  • 疫情期间餐饮发票税点
  • 其他收益属于利得吗
  • mysql中where的用法
  • 计提工资是计提哪个月的
  • 融资租赁业务如何高效拓展
  • 委托代销安排的迹象有哪些
  • 应付账款已付款应该怎样记账
  • 收据 和发票
  • 现代服务业包括哪些项目
  • 公司账户美金入账后怎么做分录
  • 会计核算的主要环节
  • 压缩sql数据库
  • xp复制粘贴功能失效
  • linux系统检测工具
  • win8热点设置
  • centos中如何查看ip地址
  • xp系统内存不能为read的解决方法
  • wind10怎么打开摄像头
  • wind8系统怎么清除所有东西 恢复出厂
  • win10系统样子
  • win 7怎么设置开机启动
  • win8系统启动不了如何修复
  • HTML <!DOCTYPE> 标签
  • python的脚本
  • 一个简单的防偷技巧
  • [android] listView解析
  • Vue-Access-Control 前端用户权限控制解决方案
  • jq监听input框value值
  • pycharm使用教程2022
  • 广西税务局热线电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设