MATLAB-实现太阳、地球、月亮三者之间运转关系的模拟
例题:宇宙中存在着诸多的天体,以行星地球为例,地球绕着太阳进行公转,同时自身进行着自转。同样的,月亮在围绕地球旋转的同时自身也在自转。为了问题的简单化,假设太阳处于固定位置,且自身只有自转,只考虑太阳、地球、月亮三者的相互影响,请基于MATLAB 绘制出三者运动的三维模型。
MATLAB程序源代码
clear;
clc;
n=1000;
t=linspace(0,2*pi,n);
hold on;
[x,y,z]=sphere;
k=0;
view(3);
axis equal;
axis([-17 17 -17 17 -10 10]);
title('Sun, Earth & Moon')
theta=[pi/2.3 pi/3];
r=[15 2];
w=[1 12];
trace=nan+[t;t;t];
for j=t k=k+1;cla; surf(5*x,5*y,5*z,'AmbientStrength',1);shading interp i=1; T=[sin(theta(i)),0,cos(theta(i));0,1,0;-cos(theta(i)) 0 sin(theta(i))]; O=r(i)*T*[cos(t);sin(t);zeros(1,n)]; o=r(i)*T*[cos(j*w(i));sin(j*w(i));0]; plot3(O(1,:),O(2,:),O(3,:),':'); surf(x+o(1),y+o(2),z+o(3),'FaceLighting','gouraud','AmbientStrength',.5); i=2; T=[sin(theta(i)),0,cos(theta(i));0,1,0;-cos(theta(i)) 0 sin(theta(i))]; O=repmat(o,1,n)+r(i)*T*[cos(t);sin(t);zeros(1,n)]; o=o+r(i)*T*[cos(j*w(i));sin(j*w(i));0]; surf(x/i+o(1),y/i+o(2),z/i+o(3),'FaceLighting','gouraud','AmbientStrength',.5); plot3(O(1,:),O(2,:),O(3,:),':'); trace(:,k)=o;plot3(trace(1,:),trace(2,:),trace(3,:),'r');shading interp;light('position',[0 0 0],'style','local'); drawnow
end
MATLAB程序运行结果
运行结果视频链接:MATLAB-实现太阳、地球、月亮三者之间运转关系的模拟-CSDN直播
MATLAB-实现太阳、地球、月亮三者之间运转关系的模拟相关推荐
- openGl编程实现一个太阳地球月亮的一个简单运动系统
一. 项目目的 使用openGl编程实现一个太阳地球月亮的一个简单运动系统,要求实现三维转动.点光源变化.纹理映射及阴影等效果 二. 任务实现 \1. 满足三者实际大小/距离的比例关系: \2. 满足 ...
- Python模拟太阳-地球-月亮运动模型
作者 | Charles,cv方向在读研究生.[Charles 的皮卡丘]专注于分享有趣好玩的Python小项目(AI.爬虫等等). 来源 | Charles 的皮卡丘 编辑 | Jane [导语]春 ...
- Python模拟登录,matplotlib模块,Python模拟太阳-地球-月亮运动模型
前言 利用python模拟太阳-地球-月亮运动模型. 让我们愉快地开始吧~ 开发工具 **Python版本:**3.6.4 相关模块: pygame模块: matplotlib模块: numpy模块: ...
- PHP-FPM,Nginx,FastCGI 三者之间的关系
2019独角兽企业重金招聘Python工程师标准>>> 本文介绍 PHP-FPM,Nginx,FastCGI 三者之间的关系,以及 Nginx 反向代理和负载均衡的配置. PHP-F ...
- python和pycharm之间的关系_浅析python,PyCharm,Anaconda三者之间的关系
一.它们是什么? 1.python Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C,Java,C++等,一种编程语言. 2.Anaconda Anaconda指的是一 ...
- anaconda中的python如何进行关联分析_浅析python,PyCharm,Anaconda三者之间的关系
一.它们是什么? Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C,Java,C++等,一种编程语言. 2.Anaconda Anaconda指的是一个开源的Pytho ...
- 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系
转自:http://www.cnblogs.com/zhangwei412827/archive/2012/12/14/2816263.html 浅谈javascript中原型(prototype). ...
- 构造函数,对象原型,实例对象三者之间的关系
撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 1.构造函数,原型对象,实例对象三者之间的关系 每创建一个函数,该函数都会自动带有一个prototype属性.该 ...
- 一次性掌握JDK、JRE、JVM的概念以及三者之间的关系【2021整理】
一.JDK.JRE.JVM概念解析 JDK(Java Development Kit):Java开发工具包,开发人员用来构建Java应用程序的软件包. JRE(Java Runtime Environ ...
最新文章
- Python3 爬虫实战 — 模拟登陆12306【点触验证码对抗】
- Js获取字符串的显示宽度/高度
- 只需 45 秒,Python 给故宫画一组手绘图!
- 解决unity 打包在Android 8.0上启动出现黑屏问题(Android权限弹窗问题)
- 【LeetCode】162-寻找峰值
- 孙鑫mfc学习笔记第十二课
- java list t 类_Java ListT 、List?、ListObject、ListE、ListU的区别
- tomcat 热部署的实现
- CodeBlock调试(DeBug)指南
- 使用MTK的SN writer工具写IMEI的方法
- netbean连接mysql数据库_Netbean 中jsp连接oracle数据库JDBC实例
- springboot 简单集成mybatis 及所遇到问题解决方法
- 结节性硬化症会一直病变吗?结节性硬化最晚多大发病?
- CRI shim:kubelet怎么与容器运行时交互
- uni-app实现微信与支付宝的境外支付
- 啊哈c语言读后感500字,《麦田里的守望者》读后感读书笔记500字五篇
- 小程序里说的冷启动和热启动是什么
- 恒源智GPU云服务器
- linux上安装python、igraph源码包_linux ubuntu 安装/卸载/删除python-igraph方法
- PyQt5 Qt Designer 新手教程(一)—— 软件界面介绍
热门文章
- python学习之一(变量的基本使用)
- java.lang.IllegalArgumentException: Numbers of source Raster bands and source color space components
- 电子信息工程专业考研选择物联网开发怎么样?
- 【VINS-Mono】
- 大数据----机器学习---神经网络
- excel怎么一个格子斜分_『在Excel中,把一个格子用线分成三个怎么弄啊』一个单元格怎么斜分两个...
- 计算机毕业大学生如何解决难就业问题?
- c++求先序排列 [NOIP2001 普及组]
- C语言源文件名为什么无效,c语言源程序常错误分类及其改错.doc
- 手动拆解一个block