Flash / Flex / ActionScript/Development/Math — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 12:19, 26 мая 2010
Содержание
- 1 All trig functions operate on radians, an angular unit in which radians measure a full revolution.
- 2 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)
- 3 Finding Absolute Values
- 4 Finding the Greater or Lesser of Two Numbers
- 5 Generate a random number within a range that does not start with 0
- 6 Generate random number in a range
- 7 Generating Random Numbers: The random() returns a floating-point value between 0 and 0.999999, inclusive.
- 8 If you are working with one six-sided die, you want to generate a random number between 1 and 6 each time
- 9 Math Class Arithmetic
- 10 Math class includes the constant Math.PI for the number, ratio of a circle"s circumference to its diameter.
- 11 Math Class Trigonometry
- 12 Math Constants
- 13 package{
- 14 Random integer values
- 15 Rounding and Truncating Numbers: round(), ceiling(), and floor()
- 16 The calculation for finding compound interest: newValue = originalValue * (1 + rate/cp)^(cp*t)
- 17 The ceil() method returns the next-highest integer value of the number passed it as an argument.
- 18 The exp() method requires one parameter: a number. It then raises e (Math.E) to the power of that number.
- 19 The floor()returns the next-lowest integer.
- 20 To round a number to the nearest decimal place:
- 21 Use Math.ceil( ) to round a number up.
- 22 Use Math.floor( ) to round a number down
- 23 Use Math.round( ) to round a number to the nearest integer
- 24 Use round(), ceiling(), and floor() to round or truncate to decimal place values.
- 25 Use the identical math to round a number to the nearest multiple of an integer.
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>