Flash / Flex / ActionScript/Development/Math

Материал из Web эксперт
Перейти к: навигация, поиск

Содержание

All trig functions operate on radians, an angular unit in which radians measure a full revolution.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
        var valInRadians;
        var valInDegrees;
        valInRadians = valInDegrees / 180 * Math.PI;
        valInDegrees = valInRadians / Math.PI * 180;
   }
 }

}

       </source>
   
  


atan2(), takes two parameters (an X- and a Y-coordinate), and returns the angle formed by the right triangle measured in radians: Math.atan2(x, y)

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
      trace(Math.atan2(2,3));
   }
 }

}

       </source>
   
  


Finding Absolute Values

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var nValue:int = 10;
       
       if(nValue < 10 && nValue > -10) {
         // Code goes here.
       } 
       //can be rewritten in the following way using the abs() method: 
       if(Math.abs(nValue) < 10) {
         // Code goes here.
       }
   }
 }

}

       </source>
   
  


Finding the Greater or Lesser of Two Numbers

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace(Math.min(25, 2));  // Displays: 2
       trace(Math.max(25, 2));  // Displays: 25
   }
 }

}

       </source>
   
  


Generate a random number within a range that does not start with 0

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var nRandomFloat:Number = (Math.random() * 10) + 20;
   }
 }

}

       </source>
   
  


Generate random number in a range

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
      trace(randomInRange(2,5));
   }
    function randomInRange(min:Number, max:Number):Number {
       var scale:Number = max - min;
       return Math.random() * scale + min;
    }
 }

}

       </source>
   
  


Generating Random Numbers: The random() returns a floating-point value between 0 and 0.999999, inclusive.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var randomFloat:Number = Math.random() * 2;
       
       var nRandomFloat:Number = Math.random() * 45;
       
       trace(nRandomFloat);
   }
 }

}

       </source>
   
  


If you are working with one six-sided die, you want to generate a random number between 1 and 6 each time

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
         var nValue:Number = Math.floor(Math.random() * 6) + 1;
         trace(nValue);
   }
 }

}

       </source>
   
  


Math Class Arithmetic

   <source lang="java">

Method Call Returns Math.pow(a, b) a raised to the b power (ab) Math.exp(a) e raised to the a power (ea) Math.floor(a) a rounded down Math.ceil(a) a rounded up Math.round(a) a rounded to the nearest digit Math.max(a, b, c...) Maximum of the set a, b, c � Math.min(a, b, c...) Minimum of the set a, b, c � Math.sqrt(a) Square root of a Math.abs(a) Absolute value of a Math.log(a) Logarithm (base 10) of a Math.ln(a) Natural logarithm (base e) of a

       </source>
   
  


Math class includes the constant Math.PI for the number, ratio of a circle"s circumference to its diameter.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace(Math.PI);
   }
 }

}

       </source>
   
  


Math Class Trigonometry

   <source lang="java">

Method Call Returns Math.sin(a) Sine of an angle measuring a radians Math.cos(a) Cosine of an angle measuring a radians Math.tan(a) Tangent of an angle measuring a radians Math.asin(a) Angle in radians whose sine is a (arcsine of a) Math.acos(a) Angle in radians whose cosine is a (arccosine of a) Math.atan(a) Angle in radians whose tangent is a (arctangent of a) Math.atan2(y, x) Angle which, drawn from the origin, intersects the point (x, y) (arctangent of y/x)

       </source>
   
  


Math Constants

   <source lang="java">

Property Value Description E ~2.718 Base of natural logarithm LN10 ~2.302 Natural logarithm of 10 LN2 ~0.693 Natural logarithm of 2 LOG10E ~0.434 Base-10 logarithm of E LOG2E ~1.442 Base-2 logarithm of E PI ~3.142 Pi SQRT1_2 ~0.707 Square root of 1/2 SQRT2 ~1.414 Square root of 2

       </source>
   
  


package{

   <source lang="java">

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var nPathRadius:Number = 100;
       var nDegrees:Number = 0; 
       
       var nRadians:Number = nDegrees * (Math.PI / 180); 
       
       var nX:Number = nPathRadius * Math.sin(nRadians);
       var nY:Number = nPathRadius * Math.cos(nRadians); 
       
       trace(nX);
       trace(nY);
       
   }
 }

}

       </source>
   
  


Random integer values

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var nRandomInteger:Number = Math.floor(Math.random()*10);
       trace(nRandomInteger);
       
       nRandomInteger = Math.floor(Math.random()*10) + 1;
       trace(nRandomInteger);
   }
 }

}

       </source>
   
  


Rounding and Truncating Numbers: round(), ceiling(), and floor()

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace(Math.round(5.75));  // Displays: 6
       trace(Math.round(93.3));  // Displays: 93
   }
 }

}

       </source>
   
  


The calculation for finding compound interest: newValue = originalValue * (1 + rate/cp)^(cp*t)

   <source lang="java">

cp is the number of compounding periods per year (12 if it is compounded every month) t is the number of years. package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var nOrig: int = 10;
       var nRate:int = 2;
       var nCp: int = 3;
       var nT: int = 3;
       
       var nNew = nOrig * Math.pow((1 + nRate/nCp), (nCp*nT));
       trace(nNew);
   }
 }

}

       </source>
   
  


The ceil() method returns the next-highest integer value of the number passed it as an argument.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace(Math.ceil(5.75));  // Displays: 6
       trace(Math.ceil(93.3));  // Displays: 94
       trace(Math.ceil(93));  // Displays: 93
   }
 }

}

       </source>
   
  


The exp() method requires one parameter: a number. It then raises e (Math.E) to the power of that number.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       if(Math.exp(5) == Math.pow(Math.E, 5)){
         trace("=");    
       }
   }
 }

}

       </source>
   
  


The floor()returns the next-lowest integer.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace(Math.floor(5.75));  // Displays: 5
       trace(Math.floor(93.3));  // Displays: 93
       trace(Math.floor(93));  // Displays: 93
   }
 }

}

       </source>
   
  


To round a number to the nearest decimal place:

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace (Math.round(90.337 / .01) * .01);   // Displays: 9.34
   }
 }

}

       </source>
   
  


Use Math.ceil( ) to round a number up.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace(Math.ceil(401.01));    // Displays: 402
   }
 }

}

       </source>
   
  


Use Math.floor( ) to round a number down

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace(Math.floor(204.99));   // Displays: 204
   }
 }

}

       </source>
   
  


Use Math.round( ) to round a number to the nearest integer

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace(Math.round(204.499));  // Displays: 204
       trace(Math.round(401.5));    // Displays: 402
   }
 }

}

       </source>
   
  


Use round(), ceiling(), and floor() to round or truncate to decimal place values.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var nValue:Number = 6.39639;
       nValue *= 100;
       nValue = Math.floor(nValue);
       nValue /= 100;
       trace(nValue);  // Displays: 6.39
   }
 }

}

       </source>
   
  


Use the identical math to round a number to the nearest multiple of an integer.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace (Math.round(92.5 / 5)  *  5);   // Displays: 95
   }
 }

}

       </source>