当前位置: 首页 > 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函数更新图形

效果

在这里插入图片描述

http://www.lryc.cn/news/369126.html

相关文章:

  • 备战 清华大学 上机编程考试-冲刺前50%,倒数第5天
  • leetCode127. 单词接龙
  • 进程概念(二)
  • java程序100道01—20
  • 让GNSSRTK不再难【第二天-第7部分2】
  • 计算引擎:Flink核心概念
  • 技术前沿 |【大模型InstructBLIP进行指令微调】
  • CSS-布局-flex
  • 「C系列」C 数组
  • Python框架scrapy有什么天赋异禀
  • 【ROS2大白话】四、ROS2非常简单的传参方式
  • 浅谈mysql 的批量delete 和 使用in条件批量删除问题
  • 【Spring Boot】过滤敏感词的两种实现
  • 在 Zustand 中管理状态能使用类(Class)吗
  • MoreTable 方法selectWithFun,count 使用实例
  • 【SpringBoot】在Spring中使用自定义条件类在Java声明Bean时实现条件注入
  • 网卡聚合链路配置
  • PlantSimulation导入cad图作为背景
  • 【大模型】个人对大模型选择的见解
  • java的反射和python的鸭子类型
  • 爬虫工具yt-dlp
  • 【代码随想录训练营】【Day 50】【动态规划-9】| Leetcode 198, 213, 337
  • 源码讲解kafka 如何使用零拷贝技术(zero-copy)
  • Ubuntu20.04配置qwen0.5B记录
  • java自学阶段二:JavaWeb开发--day80(项目实战2之苍穹外卖)
  • HPUX系统Oracle RAC如何添加ASM磁盘
  • Jmeter 压力测测试的简单入门
  • N叉树的层序遍历-力扣
  • 解决阿里云的端口添加安全组仍然无法扫描到
  • 【因果推断python】26_双重稳健估计1