별의 공부 블로그 🧑🏻‍💻
728x90
728x170

* 베지에 곡선 그리기

- 베지에 곡선은 제어점을 이용하여 그려지는 곡선임.

- 왠지 복잡하고 어려울 것 같은 이미지가 떠오르지만, 다양한 곡선을 직관적으로 그릴 수 있음.

 

 프로퍼티 및 메서드

기능 

 quadraticCurveTo(cpx, cpy, x, y)

 제어점이 하나인 2차 베지에 곡선을 그림.

 cpx와 cpy로 제어점의 좌표를, x와 y로 패스 그리기의 끝점의 좌표를 지정함.

 bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)

 제어점이 2개인 3차 베지에 곡선을 그림.

 cp1x와 cp1y로 첫 번째 제어점의 좌표를, cp2x와 cp2y로 두번째 제어점의 좌표를, x와 y로 패스 그리기의 끝점의 좌표를 지정함.

 

cvs.moveTo(0, 0);

cvs.quadraticCurveTo(50, 100, 100, 0);

 

cvs.moveTo(200, 0);

cvs.bezierCurveTo(300, 50, 100, 50, 200, 100);

 

* 원을 이용한 곡선

- canvas에서는 원을 그릴 수 있음.

- 원은 arc() 메서드로 그림.

 

arc(x, y, radius, startAngle, endAngle, anticlockwise);

    : 원의 중심 좌표

    : 원의 반지름

    : 그리기를 시작 및 종료할 각도(라디안으로 지정)

    : 원을 그릴 방향. true는 반시계 방향, false는 시계 방향.

 

- 예)

cvs.arc(100, 100, 100, 0, Math.PI*2, false);

                              π의 값은 Math.PI로 나타냄.

 

- 각도를 지정하면 부채꼴을 나타낼 수도 있음

 

cvs.moveTo(500, 100);

cvs.arc(500, 100, 100, Math.PI/3, Math.PI, false);

cvs.lineTo(500, 100);

 

- 원호를 그리기 위한 arcTo()라는 메서드도 있음.

- '현재 좌표-좌표1', '좌표1-좌표2'의 두 직선에 접하는 반지름 r의 원호를 그림.

 

arcTo(x1, y1, x2, y2, radius);

 

 

내용 출처 : HTML5가 보이는 그림책 (ANK Co., Ltd 저, 성안당)

 

728x90
그리드형(광고전용)

'Programming > HTML5' 카테고리의 다른 글

Web Storage  (0) 2017.05.19
이미지 표시  (0) 2017.05.19
타이머를 사용한 예  (0) 2017.05.19
도형 그리기 4  (0) 2017.05.19
도형 그리기 2  (0) 2017.05.19
도형 그리기 1  (0) 2017.05.19
canvas를 사용한 그림 그리기  (0) 2017.05.19
Ajax란?  (0) 2017.05.19
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖