例题:宇宙中存在着诸多的天体,以行星地球为例,地球绕着太阳进行公转,同时自身进行着自转。同样的,月亮在围绕地球旋转的同时自身也在自转。为了问题的简单化,假设太阳处于固定位置,且自身只有自转,只考虑太阳、地球、月亮三者的相互影响,请基于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-实现太阳、地球、月亮三者之间运转关系的模拟相关推荐

  1. openGl编程实现一个太阳地球月亮的一个简单运动系统

    一. 项目目的 使用openGl编程实现一个太阳地球月亮的一个简单运动系统,要求实现三维转动.点光源变化.纹理映射及阴影等效果 二. 任务实现 \1. 满足三者实际大小/距离的比例关系: \2. 满足 ...

  2. Python模拟太阳-地球-月亮运动模型

    作者 | Charles,cv方向在读研究生.[Charles 的皮卡丘]专注于分享有趣好玩的Python小项目(AI.爬虫等等). 来源 | Charles 的皮卡丘 编辑 | Jane [导语]春 ...

  3. Python模拟登录,matplotlib模块,Python模拟太阳-地球-月亮运动模型

    前言 利用python模拟太阳-地球-月亮运动模型. 让我们愉快地开始吧~ 开发工具 **Python版本:**3.6.4 相关模块: pygame模块: matplotlib模块: numpy模块: ...

  4. PHP-FPM,Nginx,FastCGI 三者之间的关系

    2019独角兽企业重金招聘Python工程师标准>>> 本文介绍 PHP-FPM,Nginx,FastCGI 三者之间的关系,以及 Nginx 反向代理和负载均衡的配置. PHP-F ...

  5. python和pycharm之间的关系_浅析python,PyCharm,Anaconda三者之间的关系

    一.它们是什么? 1.python Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C,Java,C++等,一种编程语言. 2.Anaconda Anaconda指的是一 ...

  6. anaconda中的python如何进行关联分析_浅析python,PyCharm,Anaconda三者之间的关系

    一.它们是什么? Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C,Java,C++等,一种编程语言. 2.Anaconda Anaconda指的是一个开源的Pytho ...

  7. 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系

    转自:http://www.cnblogs.com/zhangwei412827/archive/2012/12/14/2816263.html 浅谈javascript中原型(prototype). ...

  8. 构造函数,对象原型,实例对象三者之间的关系

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 1.构造函数,原型对象,实例对象三者之间的关系 每创建一个函数,该函数都会自动带有一个prototype属性.该 ...

  9. 一次性掌握JDK、JRE、JVM的概念以及三者之间的关系【2021整理】

    一.JDK.JRE.JVM概念解析 JDK(Java Development Kit):Java开发工具包,开发人员用来构建Java应用程序的软件包. JRE(Java Runtime Environ ...

最新文章

  1. Python3 爬虫实战 — 模拟登陆12306【点触验证码对抗】
  2. Js获取字符串的显示宽度/高度
  3. 只需 45 秒,Python 给故宫画一组手绘图!
  4. 解决unity 打包在Android 8.0上启动出现黑屏问题(Android权限弹窗问题)
  5. 【LeetCode】162-寻找峰值
  6. 孙鑫mfc学习笔记第十二课
  7. java list t 类_Java ListT 、List?、ListObject、ListE、ListU的区别
  8. tomcat 热部署的实现
  9. CodeBlock调试(DeBug)指南
  10. 使用MTK的SN writer工具写IMEI的方法
  11. netbean连接mysql数据库_Netbean 中jsp连接oracle数据库JDBC实例
  12. springboot 简单集成mybatis 及所遇到问题解决方法
  13. 结节性硬化症会一直病变吗?结节性硬化最晚多大发病?
  14. CRI shim:kubelet怎么与容器运行时交互
  15. uni-app实现微信与支付宝的境外支付
  16. 啊哈c语言读后感500字,《麦田里的守望者》读后感读书笔记500字五篇
  17. 小程序里说的冷启动和热启动是什么
  18. 恒源智GPU云服务器
  19. linux上安装python、igraph源码包_linux ubuntu 安装/卸载/删除python-igraph方法
  20. PyQt5 Qt Designer 新手教程(一)—— 软件界面介绍

热门文章

  1. python学习之一(变量的基本使用)
  2. java.lang.IllegalArgumentException: Numbers of source Raster bands and source color space components
  3. 电子信息工程专业考研选择物联网开发怎么样?
  4. 【VINS-Mono】
  5. 大数据----机器学习---神经网络
  6. excel怎么一个格子斜分_『在Excel中,把一个格子用线分成三个怎么弄啊』一个单元格怎么斜分两个...
  7. 计算机毕业大学生如何解决难就业问题?
  8. c++求先序排列 [NOIP2001 普及组]
  9. C语言源文件名为什么无效,c语言源程序常错误分类及其改错.doc
  10. 手动拆解一个block