WEBVTT 00:00:00.960 --> 00:00:03.029 전적으로 그리는 도구에 대해 더 공부해 봅시다. 00:00:03.029 --> 00:00:05.270 직사각형 이외에 어떤것을 더 그릴수 있을까요? 00:00:05.270 --> 00:00:07.716 타원형을 ellipse를 이용해 그릴수 있습니다. 00:00:07.716 --> 00:00:09.966 이는 컴퓨터가 알수있는 다른 명령어 입니다. 00:00:09.966 --> 00:00:12.775 프로그래밍을 할때 컴퓨터를 위한 명령어를 가지고 있는데요 00:00:12.775 --> 00:00:14.751 이를 함수라고 부릅니다. 00:00:14.751 --> 00:00:17.790 지금부터 함수라는 단어를 명령어 라는뜻으로 사용하겠습니다. 00:00:18.510 --> 00:00:20.836 먼저 ellipse라는 함수를 적습니다. 00:00:20.836 --> 00:00:22.790 그리고 () 와 ; 를 적어줍니다. 00:00:23.000 --> 00:00:24.005 작동하지 않네요! 00:00:24.005 --> 00:00:26.136 매개변수에 대한 에러창이 뜹니다. 00:00:26.136 --> 00:00:27.367 그게 뭔지 모르지만 말이에요. 00:00:27.367 --> 00:00:30.330 직사각형을 그리는것을 봤을때와 비교해 봤을때 빠뜨린게 무엇이 있을까요? 00:00:30.922 --> 00:00:33.291 ellipse 만 정의했지, 숫자에 대해서 논의하지 않았네요. 00:00:33.291 --> 00:00:35.030 이 숫자는 직사각형에서 했던것과 똑같다고 볼수 있습니다. 00:00:35.030 --> 00:00:37.060 이 숫자들은 매개변수라고 부릅니다. 00:00:37.550 --> 00:00:40.500 이를 통해 함수속의 매개변수를 통해서 00:00:40.500 --> 00:00:43.000 그 함수가 어떻게 기능하는지 알수 있습니다. 00:00:45.470 --> 00:00:46.523 그러므로 매개변수 없이 00:00:46.523 --> 00:00:48.716 프로그램은 그리고 싶은 원을 어디에 그리는지 모릅니다. 00:00:48.716 --> 00:00:49.881 혹은 얼마나 크게 그릴지 말이죠. 00:00:50.211 --> 00:00:52.530 이제 에러창이 뜬 이유가 어느정도 이해갈겁니다. 00:00:52.530 --> 00:00:54.717 앞으로 돌아가서 4개 매개변수를 다시 봅시다. 00:00:54.717 --> 00:00:58.505 얼마나 옆으로 떨어져있고 얼마나 아래로 떨어져 있으며 또 얼마나 넓은지, 00:00:58.505 --> 00:01:00.563 그리고 그리고 싶은 원이 얼마나 긴지 알려줍니다. 00:01:00.753 --> 00:01:03.771 이전과 같이, 원으로 몇몇 재밌는 움직임을 시도해볼수 있습니다. 00:01:03.771 --> 00:01:05.775 심지어 커지거나 줄어들게도 가능합니다. 00:01:08.205 --> 00:01:11.633 이제 기본적인 함수를 봤습니다. 이제 큰 원을 하나 그려보도록 합시다. 00:01:11.633 --> 00:01:13.292 이 도화지의 중간에 말이죠. 00:01:14.012 --> 00:01:16.535 첫번째로 고려해야될것은 어디가 중심이냐는 것입니다. 00:01:17.505 --> 00:01:20.299 복습해보면, 위끝 왼쪽부분을 0, 00:01:20.299 --> 00:01:25.490 그리고 오른쪽 위끝, 기억나려나 모르겠지만 400이구요, 바닥은 또한 400입니다. 00:01:25.490 --> 00:01:27.761 그럼 중간은 어딜까요? 00:01:27.761 --> 00:01:31.285 400의 절반은 200이라고 할수있겠죠 그럼 가로로 200이구요 00:01:31.285 --> 00:01:33.759 세로로 절반은 또한 200이지요. 00:01:33.759 --> 00:01:35.024 하려던걸 해볼수 있겠네요. 00:01:35.024 --> 00:01:36.746 ellipse 함수를 만들고 00:01:36.746 --> 00:01:40.788 꽤나 크게 만들기 위해 매개변수를 집어 넣습니다. 00:01:41.468 --> 00:01:42.810 네 만들어 졌네요. 00:01:43.480 --> 00:01:45.772 재미로, 직사각형도 그려보도록 합시다. 00:01:46.242 --> 00:01:50.216 rect(200,200,100,100)을 적어서 조금 작게 만들겠습니다. 00:01:50.216 --> 00:01:53.005 재밌는 모양이 됐네요. 00:01:53.005 --> 00:01:54.813 이러한 수식을 통해 무엇을 알수 있었나요? 00:01:55.243 --> 00:01:58.000 200,200의 점을 볼수 있습니다. 00:01:58.000 --> 00:02:01.767 이는 원형의 중심을 어디에 잡아야 할지 알게 해줍니다. 00:02:01.767 --> 00:02:04.498 하지만 직사각형은 다릅니다. 왜냐하면 00:02:04.498 --> 00:02:08.539 200,200이 말하는 것은 직사각형의 왼쪽 위 가장자리 부분에 놓기 때문입니다. 00:02:09.969 --> 00:02:13.202 이것이 모양을 배치하려할때 기억해야할 중요한 요소입니다. 00:02:14.752 --> 00:02:16.565 이제 간단한 선그리기로 넘어갑시다. 00:02:16.825 --> 00:02:19.278 이 함수이름은 line입니다. 00:02:19.478 --> 00:02:21.773 다시 4개의 매개변수가 필요합니다. 00:02:21.773 --> 00:02:24.984 하지만 선은 직사각형과 다르게 폭과 너비가 없지요? 00:02:25.234 --> 00:02:27.225 그러면 매개변수는 무엇을 다룰까요? 00:02:28.485 --> 00:02:31.270 첫번째와 두번째의 매개변수는 이전형태와 같습니다. 00:02:31.270 --> 00:02:34.265 어디서 시작할지 얼마나 시작점이 옆으로 아래로 떨어져있는지 알게해줍니다. 00:02:34.545 --> 00:02:36.561 반면에 나머지 두 매개변수는요 00:02:36.981 --> 00:02:40.017 아 여기 뒤쪽이네요, 여기 90과 200인 두 매개변수는요 00:02:40.017 --> 00:02:43.533 얼마나 길게 또는 낮게 선이 끝나는지 알수있게 해줍니다. 00:02:46.523 --> 00:02:48.242 이제 어떻게 작동하는지 알겠네요. 00:02:48.242 --> 00:02:51.761 먼저 정말 이상해 보이는것을 다뤄봅시다. 00:02:52.501 --> 00:02:56.757 직사각형을 위끝 왼쪽부분에서 시작하면 00:02:56.757 --> 00:03:00.283 다시말해서 직사각형의 왼쪽위 가장자리를 지정하면 어떻게 될까요? 00:03:00.533 --> 00:03:02.281 그리고 좀 크게요 00:03:03.991 --> 00:03:07.017 이정도 크기로 할수있겠지만, 좀 큰거 같네요. 00:03:07.777 --> 00:03:11.760 이를 보면 원이 점점 없어지는것을 볼수 있습니다. 00:03:11.910 --> 00:03:13.780 완전히 없앨 수도 있지요. 00:03:14.760 --> 00:03:16.543 이젠 어디에 있었는지도 모르겠네요. 00:03:17.773 --> 00:03:21.502 사실 프로그램은 명령대로 그린 상태입니다. 00:03:21.502 --> 00:03:24.702 먼저 원을 그리고 그위에 직사각형을 그렸네요 00:03:24.702 --> 00:03:26.502 그리고 선을 그렸습니다. 00:03:26.502 --> 00:03:29.762 그러므로 원은 그자리에 그대로 있고, 여기 보신거처럼 아래에 있습니다. 00:03:30.772 --> 00:03:32.500 이는 기억해야할 중요한 점입니다. 00:03:32.500 --> 00:03:35.808 왜냐하면 선을 먼저 그렸을때 어떤일이 일어날까요? 00:03:36.498 --> 00:03:38.520 선에 대해 아무것도 볼수없죠? 00:03:38.520 --> 00:03:41.730 내 선이 어디갔냐고 의아해 할지도 모릅니다. 00:03:41.740 --> 00:03:45.023 사실은 선은 그자리에 있고 그밑에 숨겨져 있는 것입니다. 00:03:45.023 --> 00:03:48.050 원과 동시에 직사각형 밑에 숨겨져 있습니다. 00:03:50.250 --> 00:03:53.501 이를 통해 단지 그리는 순서를 바꾸는것을 통해서 00:03:53.501 --> 00:03:56.562 무엇이 위에 그리는지 정할수 있습니다. 00:03:58.592 --> 00:04:01.031 이제 몇몇 기술적인 용어들을 소개해 드리겠습니다. 00:04:01.031 --> 00:04:02.280 끝내기 전에 말이이요. 00:04:02.770 --> 00:04:04.512 수학에서 배웠던것과 마찬가지로 00:04:04.512 --> 00:04:07.494 x 라는 문자를 얼마나 멀리 떨어져있는지로 사용할수 있습니다. 00:04:07.494 --> 00:04:09.216 이제껏 수학에서 써왔던 것과 마찬가지로 말입니다. 00:04:09.216 --> 00:04:11.528 y 는 얼마나 아래로 멀리 떨어져 있는지를 나타냅니다. 00:04:11.528 --> 00:04:14.001 사용하지 않았더라면 조금 이상할수도 있습니다. 00:04:14.001 --> 00:04:17.232 이는 얼마나 떨어졌는지를 말하는것보다 나타내기 쉽습니다. 00:04:17.232 --> 00:04:18.543 항상 말하기는 힘드니까 말이에요. 00:04:19.493 --> 00:04:22.216 예를들어 원에서 앞의 두개의 매개변수는 00:04:22.216 --> 00:04:27.528 x 는 200이고 y 는 229가 되겠네요. 00:04:28.968 --> 00:04:30.250 이말은 00:04:30.250 --> 00:04:33.042 얼마나 멀리, 얼마나 아래로 떨어졌는지와 똑같은 말입니다. 00:04:33.982 --> 00:04:36.034 다음으로 고려해야할것은 00:04:36.034 --> 00:04:38.564 어떤 단위가 사용되고 있느냐 입니다. 00:04:38.794 --> 00:04:42.763 200센치미터, 200인치, 200마일 무엇일까요? 00:04:42.763 --> 00:04:44.810 우리는 여기서 픽셀 단위를 사용합니다. 00:04:45.260 --> 00:04:47.787 픽셀은 화면에서 아주 작은 점 하나입니다. 00:04:48.477 --> 00:04:51.957 이 도화지는 400개의 픽셀의 너비로 구성되있습니다. 00:04:52.287 --> 00:04:56.497 이게 왼쪽 위 모서리가 0 인 이유입니다. 00:04:56.497 --> 00:05:00.588 이쪽이 400인 이유입니다. 왜냐하면 400 픽셀이기 때문이지요. 00:05:01.508 --> 00:05:04.784 똑같이 200을 보면 200 픽셀을 의미하게 됩니다. 00:05:04.784 --> 00:05:06.540 이해하셨을거라 생각합니다. 00:05:07.180 --> 00:05:08.303 멋지네요! 00:05:08.303 --> 00:05:10.788 line ellipse rect 세가지 함수들을 알게됬습니다. 00:05:10.788 --> 00:05:12.003 그리고 각각의 매개변수도요. 00:05:12.253 --> 00:05:14.791 많은것을 다루었지만 계속해서 공부하고 다룬다면 00:05:14.791 --> 00:05:16.423 곧 익숙해질겁니다.