Flash 与数学:圆的切线(3)
? 在上面幾節當中,已經了解過計算圓上任意一點的切線的方法,我們首先知道使用導數幾何意義在哪里?在我們高中數學和大學的數學當中,說明了。導數的幾何意義函數y=f(x)在點x0處導數為f'(x0)在幾何上表示曲線y=f(x)在點M(x0,f(x0))處的切線斜率
?即
????????? f’(x0)=tana,其中a是切線的傾角。
我們借用這種概念,結合我們編程當中使用,例如,我們需要對一個圖形進行按圓形分布。情況如下,但是使用導數之后,將圖形變化成另外一種情況。
他們看起來分布情況位置是一樣的,但是他們角度偏移并不是一樣,看起來會多一種的形態。然后我們為他們添加一種運動方式---圓周運動。讓他們看起來運動效果不一樣。
下面我們進行一次快速嘗試,這種只是一個實現,同樣嘗試一下Math2類的使用。這個類封裝如下,它可以為我們創作帶來一定幫助。
在這里我添加幾種導數求法,其中一個做圓形分布的時候,另外一個是正弦和余弦分布情況。你可以增加更加功能進去。或者使用我給你提供的簡單方法。
//一些數學方面的計算計算工具類 //author 夏天的樹人 package org.summerTree.math { public final class Math2 { /*求出圓的任意角度切線的傾斜角 * */ public static function getCircle_K(angle:Number,R:Number=1):Number { var px:Number=R * Math.cos(angle); var py:Number=R * Math.sin(angle); var k:Number=- px / py; return Math.atan(k) * 180 / Math.PI; } //正弦曲線y=sinx的導數,求切線的傾斜角 private static function getSinLine_K(angle:Number):Number { //正弦曲線的sin導數 var cos_daoshu:Number=Math.cos(angle); return Math.atan(cos_daoshu) * 180 / Math.PI; } //余弦曲線y=cosx的導數 private static function getCosLine_K(angle:Number):Number { //正弦曲線的sin導數 var sin_daoshu:Number=- Math.sin(angle); return Math.atan(sin_daoshu) * 180 / Math.PI; } } }
簡單的測試:
import org.summerTree.math.Math2; var list:Array=new Array(); var angleList:Array=new Array(); var angle:Number=0; sort(); function sort():void { var perAngle:Number=2*Math.PI/10; for (var j:int=0; j<10; j++) { var image:Sprite=new Sprite(); addChild(image); image.graphics.lineStyle(1); image.graphics.beginFill(0x00ff00); image.graphics.drawRect(-15,-15,30,30);//把圖片的注冊點設置在中心位置 image.graphics.endFill(); image.x=250+ 100*Math.cos(j*perAngle); image.y=200+ 100*Math.sin(j*perAngle); angleList.push(j*perAngle); image.rotation=Math2.getCircle_K(j*perAngle);//設置切線的角度 list.push(image); } } stage.addEventListener(Event.ENTER_FRAME,Run); function Run(event:Event):void { //角速度圓周運動 angle+=2; for (var i:int=0; i<10; i++) { var temp:Number=angleList[i]+angle*Math.PI/180; list[i].x=250+ 100*Math.cos(temp); list[i].y=200+ 100*Math.sin(temp); list[i].rotation=Math2.getCircle_K(temp); } }
轉載于:https://www.cnblogs.com/guoyiqi/archive/2010/06/19/2069125.html
總結
以上是生活随笔為你收集整理的Flash 与数学:圆的切线(3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (附源码)计算机毕业设计ssm宠物管理系
- 下一篇: 常用的匹配正则表达式