图片的旋转动画

本文介绍了三种在iOS中实现视图旋转动画的方法,包括通过UIView动画、定时器结合角度变化以及利用Core Animation进行连续旋转的技巧。

// 旋转一 3.14

//- (void)startAnimation

//{

//    // M_PI圆周率,这里代表180° 2*M_PI 代表360°

//    // 0 - 2*M_PI,代表0°- 360°

//    

//    [UIView beginAnimations:nil context:nil];

//    [UIView setAnimationDuration:0.01];

//    [UIView setAnimationDelegate:self];

//    [UIView setAnimationDidStopSelector:@selector(repate)];

//    imageview.transform = CGAffineTransformMakeRotation(angle * (M_PI / 180.0f));

//    [UIView commitAnimations];

//}

//- (void)repate

//{

//    angle += 1;

//    [self startAnimation];

//}

// 旋转二

//- (void)rotationTwo

//{

//    [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(xuanzhuan) userInfo:nil repeats:YES];

//}

//- (void)xuanzhuan

//{

//    angle = angle+0.1;

//    if (angle > 6.28) {

//        angle = 0;

//    }

//    imageview.transform = CGAffineTransformMakeRotation(angle);

//}

// 旋转3

- (void)donghua3

{

    // 圆角

    imageview.layer.cornerRadius = 150.0/2.0;

    // 取出多余部分

    imageview.layer.masksToBounds = YES;

    //添加动画

    /*

    transform.scale = 比例转换

    transform.scale.x = 宽的比例转换

    transform.scale.y = 高的比例转换

    transform.rotation.z = 旋转

    opacity = 透明度

     */

    CABasicAnimation *monkeyAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];

    monkeyAnimation.toValue = [NSNumber numberWithFloat:2.0 *M_PI]; // 旋转一周

    monkeyAnimation.duration = 1.5f; // 持续时间

    // 动画类型,匀速、加速、减速等

    monkeyAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];

    monkeyAnimation.cumulative = NO;

    monkeyAnimation.removedOnCompletion = NO; //No Remove

    monkeyAnimation.repeatCount = FLT_MAX; // 重复

    [imageview.layer addAnimation:monkeyAnimation forKey:@"AnimatedKey"];

    [imageview stopAnimating];

    

    // 加载动画 但不播放动画

    imageview.layer.speed = 0.5;

    

    // 停止动画

    //imageview.layer.speed = 0;

}

/*

 //开始动画

 - (IBAction)startAnimate:(id)sender {

     if (!isplay) {

     isplay = YES;

     self.imgview.layer.speed = 1.0;

     self.imgview.layer.beginTime = 0.0;

     CFTimeInterval pausedTime = [self.imgview.layer timeOffset];

     CFTimeInterval timeSincePause = [self.imgview.layer convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;

     self.imgview.layer.beginTime = timeSincePause;

     }

 }

 //停止动画并保存当前的角度

 - (IBAction)stioAnimate:(id)sender {

     if (isplay) {

     isplay = NO;

     CFTimeInterval pausedTime = [self.imgview.layer convertTime:CACurrentMediaTime() fromLayer:nil];

     self.imgview.layer.speed = 0.0;

     self.imgview.layer.timeOffset = pausedTime;

     }

 }

 */

内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模型结合了卷积神经网络(CNN)在特征提取方面的优势与长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模型的预测精度与泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模型训练流程、参数优化机制及实际预测效果分析,突出其在科研与工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习与智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模型与贝叶斯优化相结合,提升模型性能;③掌握Matlab环境下深度学习模型搭建与超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块与混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模型工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值