달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
728x90
반응형
안드로이드 - Math 삼각함수 기본
출처: http://butterguy.tistory.com/

개발시 특히 AS3로 개발하는 것은 보통 UI나 front 단계가 많이 있다... 앞으로 Math를 변형하거나 개량한 NumberUtilies클래스에 들어가기게 앞서 Math클래스를 간단하 살펴보고 넘어가도록 한다.
Math클래스는 상수로서 어디서든 delegate없이 사용이 가능하며 수학적 함수나 값을 표현하는 메서드들로 구성되어있다.

* 라디안 값을 계산하려면 다음 공식을 사용합니다.
radians = degrees * Math.PI/180


* 라디안에서 각도를 계산하려면 다음 공식을 사용합니다.
degrees = radians * 180/Math.PI

다음 예제에서는 45도 각도의 사인을 계산하기 위해 수식을 매개 변수로 전달합니다.
Math.sin(45 * Math.PI/180) 이 공식은 Math.sin(.7854) 공식과 같습니다.

참고: Math 함수 acos, asin, atan, atan2, cos, exp, log, pow, sin 및 sqrt는 CPU 또는 운영 체제에 사용되는 알고리즘에 따라 결과 값이 조금씩 다를 수 있습니다. Flash Player에서는 CPU(CPU가 부동 소수점 계산을 지원하지 않는 경우 운영 체제)를 호출하여 이러한 함수를 계산하므로 사용 중인 CPU 또는 운영 체제에 따라 결과가 약간 달라집니다.

어떠한 객체를 회전운동하고 싶을 때는 원의 자취를 구하는 식을 이용하면 된다.
이는 sin과 cos을 이용하여 기본적인 삼각비를 구한다.

사용자 삽입 이미지
각 면의 길이와 각도를 아는 경우에는 삼각함수를 통해 p1의 좌표를 구할 수 있다.
sin = b/c -> b = sin * c : y좌표를 구할 수 있다.
cos = a/c -> a = cos * c : x좌표를 구할 수 있다.
그림처럼 높이 b는 y축에 관한 값을 구할 수 있고 밑변 a는 x축의 값을 구할 수 있다.



소스)
var degree:int = 0;

this.addEventListener( Event.ENTER_FRAME, onEnter);

function onEnter ( e:Event ):void
{

var radian:Number = degree * Math.PI/180 ; //radian 값 구하기
mc.x = 200 + 150*Math.cos ( radian ); //x축 200 반지름 150, radian만큼 Math.cos
mc.y = 200 + 150*Math.sin ( radian ); //y축 200 반지름 150, radian 만큼 Math.sin
degree++; //증가
}


고딩때 학습했었던...cos와 sin의 움직임을 비교해 봐야겠다...
물리학자가 된 기분이다 ㅋ... 점점 미쳐가고 있다.


소스)
var t:Number = 0;
this.addEventListener( Event.ENTER_FRAME, onEnter);
function onEnter ( e:Event ):void
{
//cos와 sin의 비교.
mc.x = 200 + 150*Math.cos ( t );

mc2.x = 200 + 150*Math.sin ( t );

t = t + .1;
}
728x90
반응형
:
Posted by mapagilove