位置: 编程技术 - 正文

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)

  • 出口税率和出口关税税率一样吗
  • 税务行政诉讼名词解释
  • 法人购买车险发票怎么开
  • 所得税费用需要抽凭吗
  • 金税四期什么时候全国运行
  • 投资性房地产在非货币性资产交换怎么处理
  • 报个税的工资表
  • 税控盘当月不抵扣怎么申报
  • 申报企业所得税流程
  • 增值税免税和即税的区别
  • 小规模纳税人购入货物收到增值税专用发票
  • 补记以前年度往来款
  • 个体工商户税收怎么算
  • 固定资产机器设备使用年限
  • 发票已勾选未确认
  • 财务费用的借方和贷方
  • 亏损的结转分录
  • windows 清空剪贴板
  • 去掉右键菜单中的快捷键
  • 对公账户是否有银行卡号
  • memcache php
  • win11修改版
  • 外商独资企业在中国上市简称什么
  • Loughrigg Tarn的日出,英国英格兰湖区安布尔塞德 (© John Finney photography/Getty Images)
  • Waterfalls at the source of the Mundo River, Sierra de Riopar, Albacete, Spain (© Westend61/Getty Images)
  • 金税三期税收管理系统响应异常返回信息:没有查询
  • thinkphp5框架介绍
  • 谷歌插件下载网址
  • 转出未交增值税最终怎么转平
  • 单位有残疾人能享受
  • 现金流量表的填列方法
  • js 自定义类型
  • 农民专业合作组织法律制度的类型包括哪些?
  • 盈余公积转增资本会计科目
  • 2020年增值税税收政策
  • 弥补亏损怎么做分录
  • 小规模定额征收和查账征收哪个更好一些
  • 停车位划线费用入什么科目
  • 包装物的账务处理例题
  • 境外个人给境内个人汇款什么名义申报
  • 纳税实务的涉税业务分几类
  • 固定资产提前报废当月计提折旧吗
  • 进项票未认证就申报抵扣
  • 物流报关什么意思
  • 土地拍卖相关法律法规
  • 股权支付会计处理
  • 政府补助计入资本公积吗
  • 折旧和摊销的概念
  • 无发票的费用怎么处理
  • 去年的增值税专用发票可以重开吗
  • 勘探费用会计分录
  • 密码区出框
  • sql有哪些语句
  • win7打开浏览器很慢
  • Kaspersky Rescue Disk 2009.04.16 卡巴斯基救援盘
  • linux系统详解
  • win7旗舰版系统重装
  • windowxp音量图标没了
  • 如何将win10系统从c盘迁移到d盘
  • Cocos2d-x c++和java相互调用
  • 删除滑动解锁图片
  • shell案例讲解
  • unity中国代理
  • node.js报错998
  • 安卓开发问题
  • 关于Python的lambda函数,以下选项
  • js 键盘码
  • 苹果macos安装
  • nodejs怎么使用
  • jquery fullpage
  • select ui
  • jquery技巧
  • python 观察者
  • python深入浅出
  • 如何查询车辆购置税
  • 税务机关党建动员大会
  • 规范性文件失效后,没有新文件,可以使用民法典第十条吗
  • 个人无偿捐赠增值税
  • 税款复核需要多少天
  • 北京税务热线电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设