在Java中如何实现一个呼吸动画效果

news2024/11/23 11:58:00

前言

这里用到了数学中的正弦函数, y = s i n ( x ) y = sin(x) y=sin(x),sin的周期为2pi

在这里插入图片描述

下面的类中实现了一个圆,圆的半径根据 s i n ( x ) sin(x) sin(x)函数的值不断变化和修改,x取值范围[0-2pi],onTick方法负责修改半径大小,draw方法负责绘制圆,最终实现一个圆形呼吸动画效果。

public class Producing extends Go {
    double r = 0;
    double x = 0;

    public Producing() {

    }

    @Override
    public void onTick() {
        super.onTick();
        x = x + 0.05;
        r = Math.sin(x);
        if (x >= 2 * Math.PI) {
            x = 0;
        }
        System.out.println(r);
    }

    @Override
    public void draw(Graphics g) {
        super.draw(g);
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.RED);

        int size = (int) (55 + 10 * r);
        g2.fillArc(getX() - size / 2, getY() - size / 2, size, size, 0, 90 * 4);
    }
}

效果

效果如下gif所示:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1304633.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

17.(vue3.x+vite)组件间通信方式之作用域插槽

前端技术社区总目录(订阅之前请先查看该博客) 示例效果 作用域插槽 父组件中的插槽内容是无法访问到子组件中的数据的,而作用域插槽就是解决获取子组件数据。 父组件代码 <template><div><div>父组件--Hello World!</div><Child>

短视频怎么批量添加水印logo

在现代数字化时代&#xff0c;视频内容已经成为我们日常生活中不可或缺的一部分。然而&#xff0c;当我们辛辛苦苦制作的视频在网络上分享时&#xff0c;常常会遇到被他人盗用或未经授权使用的情况。为了保护我们的创作成果&#xff0c;给视频添加水印logo成为了一种常见的手段…

QX320F28335,DSP,国产芯片崛起之路

QX320F28335 32位单核CPU 主频150MHz 单精度浮点运算FPU 12位ADC 采样率 4MSPS 12个ePWM 6个HRPWM

网络工程师常用命令,后续还会进行增补

网络工程师常用命令 一、ping命令二、ipconfig命令三、arp命令&#xff08;地址转换协议&#xff09;四、traceroute命令五、route命令六、nslookup命令七、nbtstat命令八、netstat命令九、net命令 一、ping命令 ping ping是最常用的实用程序之一&#xff0c;用来确定网络的连…

基于ssm连锁经营商业管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本连锁经营商业管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据…

deepface:实现人脸的识别和分析

deepface介绍 deepface能够实现的功能 人脸检测&#xff1a;deepface 可以在图像中检测出人脸的位置&#xff0c;为后续的人脸识别任务提供基础。 人脸对齐&#xff1a;为了提高识别准确性&#xff0c;deepface 会将检测到的人脸进行对齐操作&#xff0c;消除姿态、光照和表…

硕士论文写的重复率 PaperBERT

大家好&#xff0c;今天来聊聊硕士论文写的重复率&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff1a; 硕士论文写的重复率 1. 硕士论文的重要性 硕士论文是硕士阶段最重要的学术成果之一&#xff0c;它不仅…

【普中开发板】基于51单片机电子钟闹钟设计( proteus仿真+程序+设计报告+讲解视频)

【普中开发板】基于51单片机电子钟闹钟数码管显示设计( proteus仿真程序设计报告讲解视频&#xff09; Proteus 仿真&#xff1a;Proteus 8.16 程序编译器&#xff1a;keil 4/keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;P03 51单片机电子钟闹钟 1. 主要功能&a…

RK3568驱动指南|第八篇 设备树插件-第74章 虚拟文件系统ConfigFS介绍

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

Vue router深入学习

Vue router深入学习 一、单页应用程序介绍 1.概念 单页应用程序&#xff1a;SPA【Single Page Application】是指所有的功能都在一个html页面上实现 2.具体示例 单页应用网站&#xff1a; 网易云音乐 https://music.163.com/ 多页应用网站&#xff1a;京东 https://jd.co…

人体关键点检测2:Pytorch实现人体关键点检测(人体姿势估计)含训练代码

人体关键点检测2&#xff1a;Pytorch实现人体关键点检测(人体姿势估计)含训练代码 目录 人体关键点检测2&#xff1a;Pytorch实现人体关键点检测(人体姿势估计)含训练代码 1. 前言 2.人体关键点检测方法 (1)Top-Down(自上而下)方法 (2)Bottom-Up(自下而上)方法&#xff1…

Python实战 | 如何抓取腾讯视频

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 爬虫: 作用: 批量采集数据 / 模拟用户行为 原理: 模拟成 客户端 向 服务器 发送网络请求 环境介绍: python 3.8 解释器 pycharm 编辑器 第三方模块: reques…

《地理信息系统原理》笔记/期末复习资料(12. 地理信息工程)

目录 12. 地理信息工程 12.1. 地理信息系统工程的概念 12.2. 地理信息系统工程建设过程 12.2.1. 应用型地理信息系统设计步骤和方法 12.2.2. 需求分析 12.2.3. 系统设计 12.2.4. 系统开发与实施 12.2.5. 系统的评价和维护 12.3. GIS标准 12.4. 习题 12. 地理信息工程…

java--Collection的常用方法

1.集合体系结构 ①Collection代表单列集合&#xff0c;每个元素(数据)只包含一个值 ②Map代表双列集合&#xff0c;每个元素包含两个值(键值对) 2.Collection集合体系 3.Collection集合特点 1.List系列集合&#xff1a;添加的元素是有序、可重复、有索引 ①ArrayList、Line…

Python接口自动化浅析requests请求封装原理

以下主要介绍如何封装请求 还记得我们之前写的get请求、post请求么&#xff1f; 大家应该有体会&#xff0c;每个请求类型都写成单独的函数&#xff0c;代码复用性不强。 接下来将请求类型都封装起来&#xff0c;自动化用例都可以用这个封装的请求类进行请求 将常用的get、p…

为什么现在招聘C++程序员这么难?

为什么现在招聘C程序员这么难&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「C的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&#xff01;&#x…

mars3d加载arcgis发布的服务,⽀持4523坐标

问题 1.从这个服务地址加载&#xff0c;具体在哪⾥去转坐标呢&#xff1f; 加个 usePreCachedTilesIfAvailable&#xff1a;false 参数即可 坐标系为4490的arcgis影像服务图层&#xff0c;配置后瓦片加载不出来&#xff0c;没报错 甚至可以跳转 没有看出问题&#xff0c;或者测…

SD-WAN跨国网络加速的原理

许多企业需要在全球范围内高效传输和交流数据&#xff0c;然而&#xff0c;跨国网络连接面临着多种挑战&#xff0c;如网络延迟、拥塞和数据包丢失&#xff0c;这些问题可能会显著降低企业的运作效率和客户体验。为了克服这些问题&#xff0c;越来越多的企业正在采用SD-WAN跨国…

Java毕业设计——vue+SpringBoot汽车销售管理系统

项目介绍 本项目基于spring boot以及Vue开发&#xff0c;前端实现基于PanJiaChen所提供的开源后台项目vue-element-admin改造。 针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能&#xff0c;提供经理和销售两种角色进行管理。 技术栈 前端 Vue…