終於揭開兒時的困惑,matlab實現萬花尺奇妙的圖案

2020-12-14 英英的自留地

兒時的記憶

小學時集鎮上的廟會總是熱鬧非凡,而對於我來講最重要的是可以得到一些零花錢自由支配,這種狀況只過年才有。所謂廟早已淹沒在歷史的長河中,但並不影響人們追尋熱鬧的本性。

大約三年級時的一次廟會,剛剛出門就被一個與眾不同的賣家吸引。並不像其他賣家一樣熱情的叫賣,而時坐在那裡安靜地繪製著各種神奇的圖案。我硬是蹲在那裡看看半天,最後還是把自己寶貴的零花錢「奉獻」了出來。之後好幾天都像是如獲至寶,不停地欣賞著筆下的各種神奇的圖案。

前幾天在某寶上居然再次看到了這種東西,才知道叫「萬花尺」,於是毫不猶豫下單買了一套,兒時的記憶總是那麼持久與美好。

也許我們畢生都找尋兒時的記憶

萬花尺原理

尺子到貨後還是像兒時一樣,畫了一個晚上。畫著畫著有種強烈的衝動——尋找萬花尺的原理。

基於自己本科學的機械知識,萬花尺的原理就是行星齒輪。裡面的行星輪和大輪之間線速度相同,具體自己百度下吧,有具體的公式,為圓內旋輪線規律。

萬花尺與託勒密的宇宙

自己突然腦洞大開,發現萬花尺其實和託勒密的世界有著關聯。託勒密為了解釋行星的「逆行」問題,提出了「均輪——本輪」模型。

託勒密均輪本輪模型

matlab實現

託勒密的「均輪——本輪」模型與萬花尺的區別在於:萬花尺的小輪和大輪通過尺嚙合,因此兩個線速度相同,而託勒密的模型則沒有這個限制。下圖中第二個圖可以明顯就可以用來解釋行星的逆行運動。

最後一個心形圖案送給天下母親。

萬花尺的matlab實現

核心代碼:

for n=0:1:N-1%將一周分為N份

t = 2*n*pi/N;%計算角度(弧度)

X(1) = R*sin(t) + r*sin(i*t);%計算X軸坐標

Y(1) = R*cos(t) + r*cos(i*t);%計算Y軸坐標

t = 2*(n+1)*pi/N;%第二點,用於連線

X(2) = R*sin(t) + r*sin(i*t);

Y(2) = R*cos(t) + r*cos(i*t);

plot( X,Y,'color',color(m,:));%繪製線段

set(gcf,'unit','centimeters','position',[1,2,15,15]);%確定畫布大小

axis equal;%保證刻度相同

axis([-20 20 -20 20] );%坐標範圍

hold on;

pause(0.01);%延時

end

外面在套一個循環就對比不同參數下的圖形。

相關焦點

  • 32個實用matlab編程技巧
    今天給大家介紹一些matlab編程小技巧,希望對大家學習matlab有所幫助。 3、在定義數組變量時先預定義數組的大小能大大提高計算效率。 4、對於多核CPU,使用parfor比用for更節約時間。 5、定義循環變量時,儘量不要使用i和j,因為i和j是matlab預留的虛數單位。
  • Matlab:不定積分和定積分
    matlab中使用int()來計算一個積分。不定積分首先,通過符號變量創建一個符號函數,然後調用積分命令來計算函數的積分,示例如下:注意:matlab中計算的不定積分結果中沒有寫上常數C,讀者需要自己在使用的時候記得加上常數部分。通常情況下,matlab會使用默認的變量來做積分。
  • matlab矢量函數的可視化
    matlab矢量圖流線圖streamlinestreamline(x,y,u,v,startx,starty)其中startx,starty分別為流線的坐標[x,y]=meshgrid(0:0.1:1,0:0.1:1);u=sin(x);v=-y;figure
  • 如何用Matlab/Python/Stata做簡單回歸分析
    NO.3 |Matlab的實現過程 原始碼: load('recall.mat') mean(Y) median(Y) corrcoef([unaid
  • 奇怪的Matlab畫圖技巧系列1–保存高清大圖
    畢業季馬上要到了,給大家總結一些我平常用到的奇特但是好用的Matlab畫圖技巧保存高清大圖很多朋友保存Matlab圖片時會選擇jpg保存或者截圖,然後放到論文發現特別模糊尤其文字部分是進行縮放調整後導致出現這個問題的原因有2點jpeg非矢量圖,縮放帶來的分別率調整時通過插值實現的,文字線條這種邊緣鋒利的部分很容易模糊。matlab默認的jpeg等格式導出時默認解析度很低,導致上述的縮放大部分變成放大而非縮小。
  • 應用matlab實現不同類型的插值方法,並繪圖對比
    採用matlab軟體對比不同插值方法,臨近點插值%默認線性插值 %三次樣條插值%Hermite插值%三次多項式插值程序如下:clc;clear all;x=0:0.2
  • 工業軟體之殤——MATLAB被禁用事件
    自中美貿易戰以來,兩國之間從政治、軍事、經濟、教科等領域的摩擦頻頻出現,尤其是從中國13所高校被美國列入「實體清單」以來,教科領域的摩擦更是達到了白熱化階段、2020年6月6日,哈工大、哈工程matlab軟體被禁用事件一發生,便引起了大範圍的轟動
  • 三門問題及matlab仿真驗證
    今天看到一個問題——三門問題,感覺挺有趣的,自己也親自上手利用matlab仿真模擬了一下,分享給大家。【三門問題matlab仿真驗證】通過matlab編程,每次模擬10000次,共模擬9次,代碼放在文末。通過上表仿真模擬的結果可以看出,結果確實是不換門的話,贏得汽車的機率是1/3;而換門的話,贏得汽車的機率是2/3。
  • 數據挖掘Matlab零基礎自學學習路線圖
    matlab簡介:MATLAB是美國MathWorks公司出品的商業數學軟體,用於算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,主要包括MATLAB和Simulink兩大部分。
  • 海綿寶寶的家在《迷你世界》中1比1還原,終於填補了兒時的夢
    海綿寶寶的家在《迷你世界》中1比1還原,終於填補了兒時的夢 相信玩家都看過《海綿寶寶》吧,裡面的海綿寶寶
  • 信號系統實驗報告1-MATLAB的基本操作
    、實驗原理與方法1、MATLAB簡介MATLAB是一款功能強大的數學軟體,自1984年發行以來,在很大程度上改變了全球理工科學科的授課方式,其名稱是matrix laboratory的縮寫,矩陣實驗室的意思,是以矩陣為數據基本單位處理的;有眾多的內置函數,使用時可以直接調用
  • 「博物館奇妙夜」18日揭開面紗——現代與古老交匯 舞蹈與文博碰撞
    而另外一項備受文博愛好者期待的「博物館奇妙夜」則提前揭開神秘面紗,「我們會用最現代、最時尚的形式去表現最古老、最傳統的文化內涵。」江蘇省文化和旅遊廳副廳長、南京博物院院長龔良告訴記者,「舞蹈」與古老文博的結合成為最大的亮點。
  • MATLAB基礎教程-臺大郭彥甫-學習筆記6
    today:1.basic plotting2.graphical objects propertiesbasicsmatlabplotting engine that can generate a wide variety of plotsplot from 『『data』』1.matlab
  • matlab初學者基本命令
    matlab初學者基本命令
  • 就決定是你了 Pokémon go//實現兒時夢想,成為一個神奇寶貝訓練師.
    就決定是你了Pokémon go//實現兒時
  • 我們終於到了兒時羨慕的年紀
    終於我們到了可以自己的事兒自己做主的年紀,卻發現這個年紀原來也有其壓力,其無奈。小時候我們盼望長大,渴望獨立,我們學著大人的模樣,著裝也儘量扮成比實際年齡要成熟的模樣。那時候我們想什麼時候我們可以:我的人生我做主,我的生活我選擇。
  • Java:調用window的matlab遇到的問題和解決方案
    打開APP Java:調用window的matlab遇到的問題和解決方案 finethere 發表於 2020-06-20 09:32:22
  • 忽然想起兒時的幻想
    奇妙的兒時幻想從此之後,開始了長達幾年(至少整個小學期間),閒暇時愛想入非非,或者就是幻想,想過將來當兵(光榮的解放軍),也想過成為作家,當時看來都是不切實際不能實現的想像。臨刑時高呼口號,慷慨就義!說實在的,當寫至此,我熱淚盈眶,不能自制,為敵人的兇殘而氣憤,為英雄的犧牲而流淚痛惜!小說寫滿了整整一個筆記本,如果保留至今該多好,可惜幾次搬家不知遺落何處。
  • 哈工大、哈工程無法使用 MATLAB 軟體
    總結:幾乎所有的專業都能用matlab,只要是能建模的都能用matlab。 對於工科的學生來講,MATLAB 是僅次於 Office 的必備軟體。眾多理工科高校的大學第一節課專業課,就是如何安裝 MATLAB軟體。