今天,五年級小學生Jerry在自學scratch的時候,發現了兩個奇怪的符号:sin和cos。
于是跑過來問我,這倆貨是什麼意思?
對,沒錯,就是他!
我們的英雄小哪吒
首先,按照慣例,先請出度娘,當一把文抄公:
“三角函數是基本初等函數之一,是以角度(數學上最常用弧度制,下同)為自變量,角度對應任意角終邊與單位圓交點坐标或其比值為因變量的函數。也可以等價地用與單位圓有關的各種線段的長度來定義。三角函數在研究三角形和圓等幾何形狀的性質時有重要作用,也是研究周期性現象的基礎數學工具。在數學分析中,三角函數也被定義為無窮級數或特定微分方程的解,允許它們的取值擴展到任意實數值,甚至是複數值。”
——以上内容摘自百度百科
看了這段話,Jerry一臉懵。
好了,既然問題是從scratch來的,那我們就還是用scratch來解答吧。
三角函數聽起來好像很高端的樣子,其實概念一點都不複雜。
隻要畫個圖,三言兩語就可以把概念講清楚了。
在上圖的直角三角形中,角A的對邊BC叫對邊,AC叫鄰邊,AB叫斜邊。正弦函數sinA的定義是:對邊除以斜邊,即sinA=a/c,餘弦函數cosA的定義則是:鄰邊除以斜邊,即cosA=b/c。
定義這就講完了。五年級小學生Jerry表示理解起來一點都不困難。
接下來,把這個直角三角形搬到直角坐标系中進行對應,可以一眼看出x和y坐标的關系。
很明顯,在我畫的這張圖裡,直角三角形的鄰邊就是x坐标,對邊就是y坐标:
所以,上面的那兩個式子可以寫成:
sinA=y/c
cosA=x/c
做個簡單的變換,就成了:
x=c*cosA
y=c*sinaA
接下來,事情就清楚了:确定圓心之後,我們要畫出一個圓,隻需要通過上面推導出來的三角函數式,确定出圓弧上每一點的坐标位置即可。
講到這兒,小朋友已經完全明白三角函數的概念、作用和畫圓的過程了,剩下的事,就隻是把這個思路轉化成程序就可以了。對于有一定編程基礎的孩子來說,這個程序并不複雜。
程序代碼不是本文講解的重點,這裡就不展開講解了。需要源碼的朋友可以在評論區留言或關注我。
最後,看一下程序演示的效果吧,自我感覺還不錯。
#少兒編程#
#編程#
,