matlab演示银河系转动动画

news/2024/9/24 17:12:34/

代码

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.ppmy.cn/news/1468725.html

相关文章

关于烫烫烫和屯屯屯

微较的msvc编译器,调试模式下为了方便检测内存的非法访问,对于不同的内存做了初始化, 未初始化栈: 0xCCCCCCCC 未初始化堆: 0xCDCDCDCD 已释放的堆: 0xDDDDDDDD 0xCCCC解释为GB2312字符即是烫&#xff…

大数据环境搭建@Hive编译

Hive3.1.3编译 1.编译原因1.1Guava依赖冲突1.2开启MetaStore后运行有StatsTask报错1.3Spark版本过低 2.环境部署2.1jdk安装2.2maven部署2.3安装图形化桌面2.4安装Git2.5安装IDEA 3.拉取Hive源码4.Hive源码编译4.1环境测试1.测试方法——编译2.问题及解决方案💥问题1…

【Linux】线程安全的艺术:解锁互斥量在并发编程中的应用

文章目录 前言:1. 进程线程间的互斥相关背景概念1.1. 操作共享变量会有问题的售票系统代码: 2. 互斥量的接口2.1. 解决方案2.1.1. 使用全局的锁:2.1.2. 使用局部的锁:2.1.3. 封装为RAII风格的加锁和解锁:2.1.4. C 11 中…

51单片机-数码管显示多个

目录 简介: 一. 简单全亮 二. 控制单个变化 三. 2024 书接上回 51单片机-数码管显示单个 http://t.csdnimg.cn/Ii6x0 简介: 51 单片机作为控制核心,可以与数码管相连接来实现数字的显示。 数码管通常有多个段,通过控制这些段的点亮和熄灭状态&…

云原生架构案例分析_4.某电商业务云原生改造

名称解释: AHAS:应用高可用服务(Application High Availability Service)是一款专注于提高应用高可用能力的SaaS产品,主要包含多活容灾、故障演练和流量防护三个独立的功能模块。其中流量防护已迁移至微服务治理服务MS…

使用 C# 学习面向对象编程:第 2 部分

C# 类属性简介 属性在面向对象编程中起着至关重要的作用。它们允许我们从类外部访问类的私有变量。在类中使用私有变量是很好的。属性看起来像变量和方法的组合。属性有部分:“get 和 set”方法。get 方法应该返回变量,而 set 方法应该为其赋值。 步骤…

如何快速入门Element-UI:打造高效美观的前端界面

Element-UI 是一款基于 Vue.js 的开源组件库,提供了丰富的 UI 组件,可以帮助开发者快速构建美观、响应式的前端界面。本文将详细介绍如何快速入门 Element-UI,包括环境搭建、组件使用、样式定制及常见问题解决方法,帮助你高效地使用 Element-UI 进行前端开发。 一、环境搭…

三生随记——梦魇之枕

第一章:搬入新家 在迷雾笼罩的小镇边缘,伫立着一座年代久远的木屋。李晴站在屋外,打量着这座看似平静却充满神秘感的居所。因为工作的原因,她不得不暂时搬离喧嚣的城市,来到这个陌生的地方。 木屋内部陈旧却别有一番风…