【編程德魯伊 - 數學篇】MaxMSP三角函數可視化

2021-02-20 實驗編程

【編程德魯伊】系列是我的橫向編程練習筆記,每期圍繞一個主題(數學物理電子圖形聲音...),用幾種程序語言分別實現。戰法牧賊同時修,能抗能打能奶能開溜。

本著不給自己挖坑的原則,先找個簡單弱小的,就從那位拿蔥的大嬸初中數學三角函數開始吧。

三角函數定義

三角函數(英語:Trigonometric functions)是數學中常見的一類關於角度的函數。三角函數將直角三角形的內角和它的兩個邊的比值相關聯,也可以等價地用與單位圓有關的各種線段的長度來定義。三角函數在研究三角形和圓等幾何形狀的性質時有重要作用,也是研究周期性現象的基礎數學工具

常見的三角函數包括正弦函數(sin)、餘弦函數(cos)和正切函數(tan)

—— 維基百科

注意加黑的周期性,聲音和可視化編程大部分與此有關。


用單位圓定義三角函數:


圖自維基百科


直角坐標系sin(x)和cos(x)函數圖像:


圖自維基百科


合起來了解下:


圖自Pinterest


至此好像也沒什麼可說的,反正筆記不是教程,任性就是胡編。

Max裡跟三角函數有關的功能很多,可以說整個MSP都以此為基礎。
但本次練習用的是Max Jitter來可視化三角函數,並沒有用到MSP。

Max裡有很多功能子集,其中最著名的就是跟聲音相關的MSP,跟圖形圖像相關的是Jitter。
現在其實官方名稱就叫Max,只是MaxMSP這個早期名稱太有代表性了,文章標題也用MaxMSP來改善下SEO。


起先感覺挺簡單一玩意兒,磕磕絆絆幾個小時,Max真的是學起來如滴水,忘起來如泉湧。。。況且拿蔥的大嬸也不是好惹的。


實現後的Patch大約長下面這樣:



一些Max常用片段參考了非常棒的視頻教程系列:
Amazing Max/Msp Tutorial
https://www.youtube.com/watch?v=HN8nQ_KtG6k

大體思路是用jit.gen去操作jit.matrix,三角函數邏輯都寫在jit.gen裡,然後把最後變換後的matrix用jit.mesh畫出來。

總之,要把大象裝冰箱,分三步就可以,開門、裝!、關門。

動態效果:


很簡約是不是,原計劃真的比這個複雜。。。

本例及【編程德魯伊】系列大部分代碼都開源在這裡:
https://github.com/avantcontra/coding-druid

請猛戳下方讚賞或喜歡作者!
您的金錢鼓勵是我前進的動力。

或者在Patreon上訂閱更多資源,願風指引你充值的道路:
https://www.patreon.com/avantcontra

Cheers~

Contra

公眾號/知乎專欄:浮生開方 實驗編程

網站: floatbug.com

相關焦點

  • PSTK項目:青少年編程中可視化編程,起源竟是一隻海龜
    什麼是青少年編程青少年編程顧名思義有別成人職業化java、C++、PHP等編程,而是通過編程遊戲啟蒙、可視化圖形編程等課程,培養學生的計算思維和創新解難能力。對於零基礎的孩子來說,學編程是一個循序漸進的過程,最先開始接觸的一定是可視化圖形編程,而提到可視可視化圖形編程就不得不說說現階段應用最廣泛由Scratch,目前,Scratch平臺上的註冊用戶約3000萬,用戶遍布全球超過150個國家,平臺被翻譯成超過50種語言,其影響力可見一斑。那麼這一針對於青少年的編程教育是如何演變而來的?
  • 使用Python玩轉高等數學(5):三角函數
    sin= np.sin(x)#設置sin圖像的線條顏色、線條粗細和圖像標籤標籤plt.plot(x,sin,color='blue',lw=2.5,label='sin')#設置圖例顯示位置plt.legend(loc='lower left')#設定x軸範圍plt.xlim(-2*np.pi*1.1,2*np.pi*1.1)#設定y軸範圍plt.ylim(cos.min()*1.1,cos.max
  • 提高編程能力:Python數據可視化技能提升——好matplotlib第2篇
    上次已經和大家聊了Python數據可視化的經典庫:matplotlib,大家已經知道啦,matplotlib庫是Python中用於繪製二維、三維等這些圖表的數據可視化工具,並且已經和大家聊完了關於matplotlib庫的安裝啦、還有matplotlib庫的兩個函數,分別是plot()函數和scatter()函數哦,相信大家已經對於這兩個函數的用法掌握啦,在這就不多說了哈,如果還想繼續了解
  • 2019高考數學二輪微專題:三角函數圖像題解題模板與方法技巧!
    三角函數圖像題解題模板與方法技巧!1.利用三角恆等變換求三角函數的周期及單調區間求解較為複雜的三角函數的單調區間和周期,一般要經過變形轉化與代入求解.破解此類題的關鍵點如下.總結:平移變換實質就是點的坐標的變換,橫坐標的平移變換對應著圖象的左右平移,縱坐標的平移變換對應著圖象的上下平移.一般可選定變換前後的兩個函數f(x),g(x)的圖象與x軸的交點(如圖象上升時與x軸的交點)分別為(x1,0),(x2,0)(f(x1)=0,g(x2)=0),則由x2-x1的值可判斷出左右平移的情況,由g(x)max-f
  • 百聞不如一練:可視化調試模型超參數!
    該例子以手寫數據集為例,使用支持向量機的方法對數據進行建模,然後調用scikit-learn中validation_surve方法將模型交叉驗證的結果進行可視化。需要注意的是,在使用validation_curve方法時,只能驗證一個超參數與模型訓練集和驗證集得分的關係(即二維的可視化),而不能實現多參數與得分間關係的可視化。
  • 《魔獸懷舊服》德魯伊海獅試煉任務怎麼做 德魯伊海獅試煉任務攻略
    那麼其中德魯伊有哪些任務需要完成呢,他的任務又該怎麼做呢,不用著急接下來大家和小編一起來看一下德魯伊的海獅試煉任務的攻... 玩過魔獸世界的玩家都知道有很多職業。而職業等級越高越拉風。想要快速升級就要做任務。
  • 《LOL》雲頂之弈10.3德魯伊陣容怎麼搭配 六森林德魯伊守護神陣容...
    導 讀 LOL雲頂之弈六森林德魯伊海洋守護神陣容怎麼玩!你喜歡這款遊戲嘛?
  • 大數據可視化技術的挑戰及應對措施
    Guo等總結了4種針對空間數據的可視化約束:代表性約束、可視性約束、平移一致性與縮放一致性,並基於可視化約束提出了貪心策略採樣算法。   數據可視化生成方式   經過數十年的發展,數據可視化形成了從底層編程到上層交互式定製的多層次生成方式。
  • R可視化 | 馬賽克圖
    數據介紹數據構建代碼來源《R數據可視化之美》,任意擬定一個數據框。segpct<-rowSums(df[,2:ncol(df)])for (i in 1:nrow(df)){  for (j in 2:ncol(df)){    df[i,j]<-df[i,j]/segpct[i]*100  #將數字轉換成百分比  }}segpct<-segpct/sum(segpct)*100df$xmax
  • 少兒編程有什麼好處?兒童編程學什麼?
    兒童編程學什麼?少兒編程鼓勵創造性思維,在學習編程時,更多的是在學習一種自我組織和表達觀點的新途徑。編程是一個系統工程,與其它學科有一定的相通性,在寓教於樂的學習過程中培養自學能力、解決問題的思維、創新能力等。接下來一起來看看少兒編程培訓價格多少錢?
  • 少兒計算機編程
    所以,兒童編程入門並不難。 孩子在可視化圖形界面中,按照系統提示將模塊完成重組,完成系統製作。隨著學習深入,編程知識點會逐漸增多,需要孩子課堂學習之後還要不斷積累新的知識點,包含數學、科學、物理、英語、語文等學科知識點,有助於孩子擴充知識面,提升編程技能。
  • 《魔獸世界》懷舊服德魯伊T2.5怎麼得 德魯伊T2.5獲得方法
    導 讀魔獸懷舊服遊戲中,德魯伊的T2.5套裝獲得方法,玩家需要有上古之神的外鞘(T2.5胸部)、維克洛爾的王冠(T2.5頭部)、其拉統御腕輪(T2.5腳部)、巨型沙蟲的皮
  • 堪比python,強於Excel的可視化,我拿這個工具做出來了
    這時候,你應該好好考慮數據可視化這個問題了。數據可視化能力已經越來越成為各崗位的基礎技能。領英的數據報告顯示,數據可視化技能在2017年中國最熱門技能中排名第一。我相信,3年過去了,就數據分析而言,可視化探索幾乎是你正式進行數據分析的第一步,通過SQL拿到數據之後,我們需要使用可視化方法探索和發現數據中的模式規律。
  • 大德魯伊教做人 精靈德魯伊體系帶你吃雞
    今天為大家介紹一套精靈德魯伊流打法,作為目前版本極為強勢的體系,希望能為各位有所幫助。【精靈德——瑪法裡奧流】作為大家耳熟能詳的遊戲人物,瑪法裡奧是魔獸中的暗夜精靈族大德魯伊。相應的,今天要介紹的就是一套精靈德魯伊體系的打法。
  • SparkR編程系列 | 機器學習+數據可視化
    朝樂門@ruc為您詳細講解SparkR的KMeans機器學習和數據可視化的知識,並給出實際程序代碼、代碼介紹及運行結果  —— 一份你的大腦也可以直接執行和調試的SparkR源程序。本案例由朝樂門設計與編寫。
  • 三角函數
    角度-180-135-90-45030456090120135150180270360弧度0常用三角函數參考下圖,列出常用的三角函數:三角函數之間的關係:三角函數的周期定義 設函數 對於三角函數而言,有的周期是
  • 高中三角函數知識點大全 高中數學三角函數
    高中三角函數知識點大全 高中數學三角函數三角函數是六類基本初等函數之一,是以角度(數學上最常用弧度制,下同)為自變量,角度對應任意角終邊與單位圓交點坐標或其比值為因變量的函數。也可以等價地用與單位圓有關的各種線段的長度來定義。
  • 更直觀地編程!ABB 機器人推出Wizard 簡易編程軟體
    abb最新推出的Wizard簡易編程軟體使機器人更易安裝、編程和操作,無需專門培訓,減少了首次使用機器人的用戶實現自動化的障礙!   Wizard簡易編程是一種圖形化編程方法,旨在使用戶能夠為ABB單臂YuMi協作機器人快速創建應用程式,而不需要專門的培訓。先來看視頻!  該簡易編程軟體基於Blockly概念建立。
  • 有關matlab三角函數角度與弧度計算的小竅門
    法二: 將所有三角函數形如「sin, cos, tan」等後面加個d,變為「sind, cosd, tand」,這個「d」代表就是degree角度的意思,再來計算sind(30)和cosd(30)那是妥妥的等於0.5了。好了,先介紹到這裡,有空的時候會給大家介紹matlab編程小技巧。歡迎大家留言討論,提供更好的方法。
  • 有這5小段代碼在手,輕鬆實現數據可視化(Python+Matplotlib)
    大數據文摘作品編譯:傅一洋、吳雙、龍牧雪本文要講的是Matplotlib,一個強大的Python可視化庫。一共5小段代碼,輕鬆實現散點圖、折線圖、直方圖、柱狀圖、箱線圖,每段代碼只有10行,也是再簡單不過了吧!數據可視化是數據科學家工作的一項主要任務。