백분율 간단하지만 자주 까먹으므로 공식화해서 정리 1. 전체 값에 대한 '몇 퍼센트' 는 얼마? 전체값 * n% / 100 예제보기) 100의 50퍼센트 100 * 50% / 100 = 50 200의 30퍼센트 200 * 30% / 100 = 60 2. 전체 값에서 '일부 값'은 몇 퍼센트? 일부값 / 전체값 * 100 예제보기) 300에서 105는 몇 퍼센트? 105 / 300 * 100 = 35% 함수화 PHP //퍼센트 함수 function fnPercent($range, $total, $slice) { if($total == 0)$total = 1; //Division by zero 에러방지 $result; if($range == "totalPer" || $range == "total"){ //n..
앞서 본 비례공식의 일차함수, 내항외항의 곱과 같다. 스크립트는 자바스크립트 이다. 대응점 = 현재위치 * 대응너비 / 현재너비 var _stageHeight = $(window).height(); var _stageWidth = $(window).width(); var IMAGE_WIDTH = 1000; var IMAGE_HEIGHT = 800; //높이제어(세로기준으로 가로를 맞춤) if(_stageHeight _imageHeight){ //플랫폼이 이미지의세로보다 작거나 크면 _imageHeight = _stageHeight; //이미지의 세로를 플랫폼으로 맞추고 _imageWidth = _stageHeight * IMAGE_WIDTH/IM..
내항의곱과 외항의 곱은 같다는 것을 이용 A : a = B : b A * b = a * B b = a * B / A 대응점 = 위치 * 전체너비 / 현재너비 ∴Y.x = X.x * ( D - C ) / (B - A) + C ∴Y.x = X.x * D / B (시작점을 0으로 맞추었을경우) import flash.events.MouseEvent; import flash.geom.Rectangle; import flash.events.Event; var A:int = 10; var B:int = 210; var C:int = -10; var D:int = 390; var X_legnth:Number = (B - A); X.bar.buttonMode = true; X.bar.addEventListener(Mo..
일차함수의 원리는 전체길이에서 현재길이를 나눈 비율을 현재위치에 곱해서 대응점을 찾는 것이다. 대응점 = 전체너비 / 현재너비 * (위치-A) + C ∴ Y.x = (D-C) / (B-A) * ( X.x - A) + C ∴ Y.x = D / B * X.x (시작점을 0으로 맞추었을경우) A-B에서의 움직임에 대한 C-D의 대응점 A-------B 1---2---4 C-------D 2---4---8 (D-C) / (B-A) * (x - A) + C 6 / 3 * (2 - 1) + 2 (2 * 1) + 2 이미지 출처 : http://blog.naver.com/qqprriy/60149376967 import flash.events.MouseEvent; import flash.geom.Rectangle; i..
탄성공식에서 목표값을 마우스로만 바꾸어 주면 된다. import flash.events.Event; import flash.events.MouseEvent; [SWF(frameRate = "30",width = "800",height = "600",backgroundColor = "0x91A4AC")] var disX:Number = 0; var disY:Number = 0; mc.addEventListener(Event.ENTER_FRAME, loop); function loop(e:Event):void { disX = (mouseX - mc.x) * 0.3 + disX * 0.55; mc.x += disX; disY = (mouseY - mc.y) * 0.3 + disY * 0.55; mc.y += ..
슬라이딩 공식에서 일정한 수를 계속 더하고 곱해서 탄성 효과를 만들 수 있다. 선행되어야 할 값들 이동거리 : var dis:Number = 0; 목표값 : 최종 도착지점 현재값 : x혹은 y 속도 : n < 1 (기본값 0.3) 탄성계수 : n < 1 (기본값 0.55) 공식 이동거리 = (목표값 - 현재값) * 속도 + (이동거리 * 탄성계수); 현재값 += 이동거리 한줄로 쓰면 현재값+= 이동거리 = (목표값 - 현재값) * 속도 + (이동거리 * 탄성계수); import flash.events.Event; import flash.events.MouseEvent; import flash.utils.setTimeout; [SWF(frameRate = "30",width = "800",height = ..
이전에 설명한 공식에서, 도착 지점을 마우스 좌표로 바꿔주기만 하면 된다.import flash.events.Event; import flash.events.MouseEvent; [SWF(frameRate="30", width="800", height="600", backgroundColor="0x91A4AC")] mc.addEventListener(Event.ENTER_FRAME, loop); function loop(e:Event):void{ mc.x += (mouseX - mc.x) * 0.3; mc.y += (mouseY - mc.y) * 0.3; }
현재위치 = (목표위치 - 현재위치) x n (n 640) { setTimeout (function(){ mc.x = 0; mc.removeEventListener(Event.ENTER_FRAME, loop); }, 1000); } } 8: 마우스를 오버하면 실행 16: 공식적용 18: 도착지점은 650인데 객체mc가 x좌표 640을 넘게되면, 1초뒤 ENTER_FRAME을 remove시키고 mc객체를 다시 0으로 가져다 놓는다.
대부분의 프로그램 언어에는 Math.atan2 라는 아크탄젠트 메서드를 지원한다. 해당 메서드의 API는 다음과 같다. atan2() public static function atan2(y:Number, x:Number):Number 언어 버전: ActionScript 3.0 런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4 설명) y/x 점의 각도를 라디안 단위로 계산하여 반환합니다. 각도는 원의 x 축부터 반시계 방향으로 측정되며 원의 중심은 0,0입니다. 반환 값의 범위는 +pi에서 -pi 사이입니다. atan2의 첫 번째 매개 변수는 항상 y 좌표입니다. 매개 변수) y:Number — 점의 y 좌표입니다. x:Number — 점의 x 좌표입니다. 반환값) Numb..
이전에 작성한 삼각함수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="0xCC..
60분법 : 원주를 360등분한 것의 하나를 1도로 정한것. 수치를 직관적으로 이해하기 좋다는 장점. 임의로 지정한 단위라는 단점이 존재한다. 호도법 : 1rad를 기반으로 하는 호도법은 원의 반지름과 호의 길이를 기반으로 정의한 것으로 그러한 단점을 극복하였다. 라디안 : 1라디안은 반지름의 길이와 호의 길이가 같은 부채꼴의 끼인각의 크기를 말한다. 즉, 반지름(r)이 1이고, 원의 둘레 길이도 1일때의 각. 그림으로 보면 다음과 같다. 만일 반지름의 배수만큼 움직이면 라디안도 배수만큼 변한다. 2r = 2라디안 원의 전체 둘레 = 지름(2r) x ㅠ(파이) 원이 360도 회전을 할때 라디안(단위)의 값은 '2ㅠ' 가 된다. 즉 'ㅠ' 이면 180도 Math 메서드의 Radian단위의 값의 예) Mat..
*수정. 2016.05.08. calc 함수에서 dy = mouseX-rec_mc.x; 를dy = mouseY-rec_mc.y;로 수정됨. 제보 : 범이아빠님 ---------------------------------------------------------------------------------------------------------------- 삼각함수1. 피타고라스의 정리. 직각삼각형의 두 변 (인접변과 대변)의 제곱의 합은 빗변의 제곱근과 동일하다. a:인접변, b:대변, c:빗변 이 공식을 프로그래밍에 응용해 보자. 한점 rec_mc 가 있을때, rec_mc로 부터 마우스의 거리는 피타고라스의 공식을 응용하면 쉽게 구할수 있다. dx * dx + dy * dy = vLine * vLi..
허브/스위치, 라우터 컴퓨터 네트워크 이론 자체가 일반 사용자에게는 결코 쉽지 않은 것이다 보니, 이 이론에 기초하여 다양한 서비스를 제공하는 네트워크 장비(기기, 부품)에 관해서는 더욱 어렵게 여기게 된다. 물론 전문용 고급 네트워크 장비는 다분히 그러하지만, 사무실이나 가정에서 사용하는 소형 장비는 조금만 관심을 갖고 다뤄보면 ‘컴맹’이나 ‘넷맹’이라도 능히 활용할 수 있다. 이에 이번 4부 강의에서는 컴퓨터와 인터넷을 사용하다 보면 언젠가 한 번쯤은 접하게 될 일반용 네트워크 기기 및 부품 등에 대해 알아본다. 각 장비의 상세한 사용방법까지는 다룰 수 없지만, 적어도 뭐 하는 데 쓰는 물건인지, 그리고 나에게 필요한 것이 무엇인지는 알 수 있을 것이다. 여러 컴퓨터를 연결하는 네트워크 분배기, 허브..