1. 점그리기 a) 마우스 왼쪽 드래깅을 이용하여 점을 그림. b) 점의 개수를 화면에 표시함. c) 마우스 오른쪽 드래깅을 이용하여 만든 사각형 내의 점을 지움. 2. 선그리기 a) 마우스 드래깅을 통해 선을 그림 (hint: 연속된 점들을 선으로 연결하면 그 릴 수 있음.) b) 창의 크기를 변화시키면, 그림의 크기가 변화되어 그린 내용의 전체가 항 상 표시된다. (hint: 점의 좌표를 실제 좌표가 아닌, 창 크기에 따른 비율로 표현해 볼 것. 예를 들어 크기 800x600 창의 중점의 좌표는 (400,300) 이 지만 이를 (0.5,0.5)라고 표현하면 창의 크기에 상관없이 표시할 수 있음) 3. 사각형 그리기 및 색 바꾸기 a) 마우스 드래깅을 통해 사각형을 여러 개 그림. b) Color라는 ..
sin θ의 값은 단위원의 원둘레 위의 동점 P의 y좌표로 표시되므로 동점 P가 A에서 출발하여 A, P1, P2,…로 회전하며 움직일 때의 y좌표의 변화를 보면 sin θ의 값의 변화를 알 수 있다. 이것을 사인곡선이라 한다. 마찬가지로 y=cos θ의 값의 변화, 즉 동점 P의 x좌표의 변화를 그래프로 나타내면 코사인 곡선이 된다. 또 y=tan θ의 곡선은 다음과 같다. sin θ, cos θ는 θ가 360°씩 변화할 때마다 같은 값을 되풀이하며, tan θ는 θ가 180°씩 변화할 때마다 같은 값을 되풀이한다. 이 사실은 sin θ, cos θ는 360°(2π)를 주기로 하는 주기함수, tan θ는 180°를 주기로 하는 주기함수임을 의미한다. 또, y=cos θ의 그래프는 y=sin θ의 그래프..
floatcheck_x = 좌표1.x - 좌표2.x;// 좌표 1과 좌표 2의 x 값 만큼의 차이floatcheck_y = 좌표1.y - 좌표2.y;// 좌표 1과 좌표 2의 y 값 만큼의 차이intdistance = sqrt((check_x * check_x) + (check_y * check_y));// 피타고라스의 정리에 의해 C^2 = A^2 + B^2 // 만약 구해진 사잇값이 원의 반지름보다 크면 비충돌, 작으면 충돌.// 두 원 사이의 충돌도 구할 수 있음. ex) 사잇값
점과 직선 사이의 거리를 구하는 식은 다음과 같다. 그 중, 직선을 이루는 두 점의 좌표를 아는 상황에서 점과 직선사이의 거리(충돌처리)를 구하는 방법은 다음과 같다. 직선을 이루는 (x1, y1)과 (x2, y2)를 가지고 있다면 직선의 방정식은 다음과 같다. 따라서, 위의 식을 구하여 a, b, c를 구하고, 점과 직선 사이의 거리를 구하는 방정식을 사용하여 최종적으로 거리를 구한다. 그러나, 만약 직선의 x좌표와 점의 x좌표가 같거나, 직선의 y좌표와 점의 y좌표가 같으면 문제가 생긴다.이와 같이 할 경우, 정확한 거리 계산으로 충돌처리를 할 수 없기 때문에 예외 처리를 해주어야 한다. 직선과 점이 충돌하기 위해서는 점은 직선의 x축, y축의 길이 내에 있어야 한다. 값 5는 원활한 충돌을 위한 보..
위와 같이 코딩하면 사용 가능함. 위 사진과 같이 최근 목록이 유지된 상태로, colorChooser의 기본 정보가 계속 유지되어 키고 끌 수 있다.또한, 확인과 취소 버튼을 눌렀을 때의 Action Listener를 설정할 수 있다. 단, colorChooser를 선언을 static 함수 내부에 했을 때, final로 선언을 해야하는데, 이렇게 하면 기본 정보가 계속 유지될 수 없다. 따라서 위와같이 해야 기본정보가 유지되면서 사용할 수 있음. 위와 같이 사용해도 되지만, 이 방법은 colorChooser의 기본 정보는 유지되지 않고, 확인과 취소버튼을 내 입맛대로 설정할 수 없다.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104#include #include #include #pragma comment(lib, "WS2_32.lib")#include "resource.h" #define WM_NETWORK (WM_USER + 1) HWND hDlgMain; SOCKET Socket;sockaddr_in Address; char ListStr[256]; BOOL CALL..