티스토리 뷰
이전에 작성한 삼각함수1 ~ 3편을 모두 읽고 직접 프로그램에 응용해 보자.
특정 점(point)에서 마우스가 움직일때마다 원의 형태로 객체가 rotation되는 프로그램을 만들어보자.
피타고라스의 정리를 이용하여 마우스까지의 거리를 구하고, 그 거리까지의 cos을 구하여 끼인각을 구한다.
끼인각은 라디안 단위 이므로 라디안을 다시 각도로 변환하는 공식을 구하여 객체에 대입한다.
import flash.display.Sprite; import flash.display.Graphics; import flash.events.Event; import flash.display.Stage; [SWF(frameRate="30", width="550", height="420", backgroundColor="0xCCCCCC")] var sp:Sprite = new Sprite(); var g:Graphics = sp.graphics; addChild(sp); var dx:Number; var dy:Number; var distance:int; var cos:Number; var cosDegree:Number; this.addEventListener(Event.ENTER_FRAME, draw); function draw(e:Event):void{ dx = mouseX - rec_mc.x; //밑변 dy = mouseY - rec_mc.y; //높이 distance = Math.sqrt(dx*dx + dy*dy); //빗변 g.clear(); g.lineStyle(1,0x000000,1); g.moveTo(rec_mc.x, rec_mc.y); g.lineTo(mouseX, mouseY); cos = dx / distance; //cos = 밑변 / 빗변 //rad -> degree cosDegree = cos * 180 / Math.PI; dis_txt.text = distance.toString(); cos_txt.text = cos.toString(); cosDegree_txt.text = cosDegree.toString(); i_mc.rotation = cosDegree; }
'■ 개발관련 ■ > 산수와 알고리즘' 카테고리의 다른 글
감속도공식 - easeOutExpo (0) | 2013.10.13 |
---|---|
Math.atan2() - y,x점의 각도를 라디안 단위로 계산하여 반환 (0) | 2013.10.13 |
삼각함수3 - 60분법과 호도법 그리고 라디안의 정의 (2) | 2013.10.13 |
삼각함수2 - 삼각비 cos, sin, tan (0) | 2013.10.13 |
삼각함수1 - 피타고라스의 정리 (1) | 2013.10.13 |
댓글