当前位置: 首页 > news >正文

matlab演示银河系转动动画

代码

function GalaxyRotationSimulation()% 参数设置num_stars = 1000; % 恒星数量galaxy_radius = 1; % 银河系半径rotation_speed = 0.05; % 旋转速度% 生成银河系中的恒星分布theta = 2 * pi * rand(num_stars, 1); % 角度r = galaxy_radius * sqrt(rand(num_stars, 1)); % 半径z = 0.1 * (rand(num_stars, 1) - 0.5); % 添加一些z轴方向的随机性x = r .* cos(theta);y = r .* sin(theta);% 初始化图形figure;h = scatter3(x, y, z, 1, 'w', 'filled');axis equal;axis([-1.5 1.5 -1.5 1.5 -0.5 0.5]);set(gca, 'Color', 'k');xlabel('X');ylabel('Y');zlabel('Z');title('Galaxy Rotation Simulation');% 旋转动画dt = 0.01; % 时间步长for t = 1:1000theta = theta + rotation_speed * dt; % 更新角度x = r .* cos(theta); % 计算新的x坐标y = r .* sin(theta); % 计算新的y坐标set(h, 'XData', x, 'YData', y, 'ZData', z); % 更新图形数据drawnow; % 刷新图形pause(dt); % 暂停以创建动画效果end
end

说明

参数设置:
num_stars: 设置银河系中恒星的数量。
galaxy_radius: 设置银河系的半径。
rotation_speed: 设置银河系旋转的速度。

生成银河系中的恒星分布:
使用极坐标生成恒星的随机分布。
将极坐标转换为直角坐标,并添加一些z轴方向的随机性以模拟银河系的厚度。

初始化图形:
使用scatter3函数绘制三维散点图。
设置坐标轴范围和背景颜色。

旋转动画:
定义时间步长dt。
在循环中更新恒星的位置,以模拟银河系的旋转。
使用drawnow函数更新图形

效果

在这里插入图片描述

相关文章:

  • 进程概念(二)
  • pytest配置文件配置并通过allure生成报告
  • 使用difflib实现文件差异比较用html显示
  • Ansible离线部署 之 Zabbix
  • c语言基础篇C
  • linux centos consul1.15.2一键安装部署
  • 【差分数组】1674. 使数组互补的最少操作次数
  • 【文末附gpt升级秘笈】AI热潮降温与AGI场景普及的局限性
  • 集合体学习01
  • 写一个标准的项目说明书大纲
  • GitHub工程git merge出现冲突处理方式
  • 接口请求的六种常见方式详解(get、post、head等)
  • C语言:结构体数组
  • FastWeb网站开发之拦截器(interceptor)使用教程
  • 课时151:项目发布_基础知识_技术要点
  • .pyc 想到的一些问题
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • C++11: atomic 头文件
  • CentOS7简单部署NFS
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • JavaScript新鲜事·第5期
  • java中具有继承关系的类及其对象初始化顺序
  • leetcode讲解--894. All Possible Full Binary Trees
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python连接Oracle
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 漂亮刷新控件-iOS
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 算法之不定期更新(一)(2018-04-12)
  • Spring第一个helloWorld
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​linux启动进程的方式
  • # 飞书APP集成平台-数字化落地
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (39)STM32——FLASH闪存
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (笔记)M1使用hombrew安装qemu
  • (二)Optional
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (回溯) LeetCode 46. 全排列
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (一)面试需要掌握的技巧
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • .NET gRPC 和RESTful简单对比
  • .net流程开发平台的一些难点(1)
  • ??eclipse的安装配置问题!??
  • @Transactional 参数详解
  • @Validated和@Valid校验参数区别
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor