三角形的邊
對(duì)于三角形的邊,沒有太多可說的,但它們都有各自的術(shù)語(yǔ)。以直角三角形為例,如圖3-7所示,每條邊都有各自的名稱,與90度角相接的兩條邊稱為直角邊(legs),相對(duì)的邊稱為斜邊,它總是那個(gè)最長(zhǎng)的邊。
圖3-7 直角三角形各部分(圖丟失)
剛才說到對(duì)邊時(shí),說它是與該角不相接的邊。說到鄰邊時(shí),說它是與角相接的邊。在很多例子中,都是與其余兩個(gè)不是90度的角打交道。在三角形中最有趣的就是角與邊的關(guān)系,這些關(guān)系對(duì)于動(dòng)畫制作非常有用,下面就讓我們來看看。
三角函數(shù)
ActionScript 擁有一套用于計(jì)算不同三角關(guān)系的三角函數(shù):正弦,余弦,正切,反正弦,反余弦和反正切。下面我們就開始定義和使用這些函數(shù),而后還會(huì)介紹它們的實(shí)際應(yīng)用。
正弦(Sine)
下面是三角學(xué)的第一個(gè)部分。一個(gè)角的正弦值等于該角的對(duì)邊與斜邊的比,在 ActionScript中,使用 Math.sin(angle) 函數(shù)來表示。圖3-8 所示為一個(gè)30度角的正弦。對(duì)邊長(zhǎng)為1,斜邊長(zhǎng)為2,兩條邊的比為1比2,或記作1/2或0.5,因此,我們可以說30度角的正弦值為0.5,下面在 Flash 中測(cè)試一下: trace(Math.sin(30));
圖3-8 角的正弦值為對(duì)邊/斜邊
輸出結(jié)果為 –0.988031624092862,為什么會(huì)這樣,能夠找出原因嗎?這是因?yàn)槲覀兺浟藢⒔Y(jié)果轉(zhuǎn)換為弧度制。我敢說你以后會(huì)常犯這種錯(cuò)誤(我也一樣),所以一定要小心。以下是正確的寫法: trace(Math.sin(30 * Math.PI / 180)); 成功!輸出 0.5
還可能得到 0.4999… 這樣的值,這并不是程序的錯(cuò)誤,而是由于二進(jìn)制計(jì)算機(jī)常以浮點(diǎn)形式表示數(shù)值。但這個(gè)值已經(jīng)非常接近了,所以就認(rèn)為它等于0.5。 可以把一個(gè)三角形想象為角度為30,兩條邊長(zhǎng)分別為1和2,然后把它移到普通坐標(biāo)系中,不要忘了, Flash 坐標(biāo)系的Y軸向下,角度是順時(shí)針的。所以,對(duì)邊和角度都是相反的,見圖3-9。
圖3-9 在 Flash 坐標(biāo)系中創(chuàng)建相同的角
因此,比例也變成了-1/2,我們就稱它為-30度角的正弦值。同時(shí),把表達(dá)式改為: trace(Math.sin(-30 * Math.PI / 180));
好的,不會(huì)很痛苦吧?下面再來看一個(gè)三角函數(shù):余弦。
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁(yè) 三角學(xué)應(yīng)用 [2] 下一頁(yè) 三角學(xué)應(yīng)用 [4]
◎進(jìn)入論壇RIA設(shè)計(jì)與應(yīng)用版塊參加討論
|