高中知识sin回顾:对不起老师!!!

今天想学习android中的动画,刚开始学碰见一个头疼的问题,自定义动画中往往会根据插值器interpolatedTime计算三角函数,所以现在回顾一下:

正弦型函数解析式:y=Asin(ωx+φ)+b

φ:决定波形与X轴位置关系或横向移动距离(左加右减)

ω:决定周期(T=2π/∣ω∣)

A:决定峰值(即纵向拉伸压缩的倍数)

b:表示波形在Y轴的位置关系或纵向移动距离(上加下减)

举个例子来说吧

public class CustomAnimation extends Animation {
    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
        t.getMatrix().setTranslate(
                (float) Math.sin(interpolatedTime * 10) * 5,
                (float) Math.sin(interpolatedTime * 10) * 5
                );//这里10代表<span style="color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; text-indent: 28px;">ω,也就是决定周期,走过2<span style="color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; text-indent: 28px;">π的时间越短(频率快慢),5代表<span style="color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; text-indent: 28px;">A,也就是代表振幅(大小)</span></span></span>
        super.applyTransformation(interpolatedTime, t);
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值