사각형이라면 원하는 (x,y) 좌표를 쉽게 구할 수 있다.

하지만 은 (x,y) 좌표를 구하기가 쉽지 않았다.

원의 좌표 구하기

 

원의 각 점의 좌표를 구하기 위해서는 다음과 같은 공식을 활용할 수 있다.

 

원의 좌표 공식

 

 

우리는 0, 30, 60, 90도등의 좌표는 sin 함수와 cos 함수를 통해 구할 수 있다.

x = Math.cos(0) * radius; // radius = 반지름
y = Math.sin(0) * radius;

x = Math.cos(30) * radius;
y = Math.sin(30) * radius;

원의 좌표 예제

 

대부분 프로그래밍에서는 각도의 크기를 대부분 라디안이라는 단위로 사용한다.

Math.cos(), Math.sin() 을 사용에 있어서, 각도의 크기를 라디안으로 변환하는 과정이 필요하다.

function toRadians(degrees) {	
	return degrees * (Math.PI / 180);
}

 

첫번째 사진을 그리기 위한 자바스크립트 전체 코드 이다.

<!DOCTYPE html>
<head>
	<meta charset="utf-8">
	<style>canvas { border:2px solid magenta; }</style>
</head>
<body>
	<canvas id="canvas" width="400" height="400"></canvas>
	<script>
		window.onload = function() {
			var canvas = document.getElementById("canvas");
			var ctx = canvas.getContext("2d");
			var radius = 150;		//반지름
			var center = { x: 200, y: 200 };
			var obj = {};

			// 0도 ~ 360도 까지 10도씩 증가
			for (var i = 0; i <= 360; i += 10) {
				obj.x = Math.floor(radius * Math.cos( toRadians(i) ));
				obj.y = Math.floor(radius * Math.sin( toRadians(i) ));
				ctx.strokeRect( center.x+obj.x , center.y+obj.y, 2,2);
			}
		}
		function toRadians(degrees) {	
			return degrees * (Math.PI / 180);
		}
	</script>
</body>
</html>

 

 

 

 

 



참고 : https://mygumi.tistory.com/346 [마이구미의 HelloWorld]

 

+ Recent posts