KR20050035563A - Billiards teaching system and method using image processing - Google Patents
Billiards teaching system and method using image processing Download PDFInfo
- Publication number
- KR20050035563A KR20050035563A KR1020030070982A KR20030070982A KR20050035563A KR 20050035563 A KR20050035563 A KR 20050035563A KR 1020030070982 A KR1020030070982 A KR 1020030070982A KR 20030070982 A KR20030070982 A KR 20030070982A KR 20050035563 A KR20050035563 A KR 20050035563A
- Authority
- KR
- South Korea
- Prior art keywords
- billiard
- ball
- coordinates
- path
- water polo
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 77
- 238000003384 imaging method Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
Landscapes
- Image Analysis (AREA)
Abstract
본 발명에 따른 이미지 프로세싱을 이용한 당구 교습 시스템의 제어방법은, 당구대와 당구공을 촬상하여 소정의 시간마다 영상을 캡쳐하여 저장하는 단계; 캡쳐된 영상에서 당구공의 좌표를 산출하는 단계; 캡쳐된 영상의 프레임간에 대응된 각 당구공의 좌표가 일치하는지를 체크하는 단계; 당구공의 좌표가 일치하면 각 좌표를 이용하여 상기 당구공중에서 게임의 룰에 따라 점수를 얻기 가능한 수구의 경로를 산출하는 단계; 및 산출된 상기 수구의 경로를 화면에 디스플레이하는 단계;를 포함함을 특징으로 한다. A control method of a billiard teaching system using image processing according to the present invention includes: capturing a billiard table and a billiard ball, capturing and storing an image every predetermined time; Calculating the coordinates of the billiard ball in the captured image; Checking whether the coordinates of the respective billiard balls corresponding to the frames of the captured image match; Calculating a path of a water polo which can obtain a score according to the rules of the game in the billiard ball using the coordinates if the coordinates of the billiard ball match; And displaying the calculated path of the water polo on the screen.
본 발명에 의하면 처음 당구를 배우려는 입문자들이 당구 교본을 읽거나 고수에게 직접 배우지 않아도 주어진 당구의 배치 상태에서 득점할 수 있는 수구의 경로를 사전에 습득한 후에 직접 실습할 수 있으므로 수구의 예상 득점경로와 실제 경로를 비교 검토할 수 있어 교육 효과가 높을 뿐 아니라 보다 쉽게 당구를 배울 수 있다. According to the present invention, even if the beginners who want to learn billiards for the first time do not have to read billiard textbooks or learn directly to the master, they can learn the path of water polo that can be scored in a given billiard arrangement beforehand. You can compare and examine the actual path, and not only the education effect is high, but also the billiards are easier to learn.
Description
본 발명은 당구 교습 시스템 및 그 제어 방법에 관한 것으로서, 보다 상세하게는 당구대를 디지털 캠코더로 촬상하여 캡쳐한 영상으로부터 각 당구공의 좌표를 산출하고 득점이 가능한 수구의 경로를 디스플레이하여 사용자가 사전에 수구의 진행 경로를 습득하고 당구를 칠 수 있는 이미지 프로세싱을 이용한 당구 교습 시스템 및 그 제어 방법에 관한 것이다. The present invention relates to a billiard teaching system and a control method thereof, and more particularly, to calculate the coordinates of each billiard ball from the captured image of the billiard table with a digital camcorder and to display the path of the water polo that can be scored by the user in advance. The present invention relates to a billiard teaching system using image processing capable of learning billiards and playing billiards, and a control method thereof.
일반적으로 당구에 취미가 있는 사람은 컴퓨터 상에서 당구게임용 소프트웨어가 출시되어 있어 가상적으로 게임을 즐길 수 있으나, 이러한 컴퓨터 게임은 사용자가 각도를 입력하고 수구를 치고 나면 단지 주어진 변수가 입력된 정해진 수식에 따라 수구가 진행하는 것을 디스플레이하며 게임의 룰에 따라 득점여부만을 체크하기 때문에 당구의 초보자가 실질적으로 당구의 득점 가능 경로를 파악해 가며 교습용으로 이용하기에는 적합하지 않았다. Generally, a person who is interested in billiards can enjoy the game virtually because the software for billiards games is released on the computer.However, once a user enters an angle and plays a water polo, the user can only play a given variable according to a given formula. It displays the progress of the water polo and checks only the score according to the rules of the game, so it is not suitable for the beginners of the billiards to grasp the billiard scoring path and use it for teaching.
또한, 기존의 인터넷 당구게임이나 당구게임의 TV 중계시에 화면에 디스플레이되는 당구공의 경로표시는 각도와 힘을 고려하여 정해진 수식에 따라 경로를 디스플레이하는 정도에 지나지 않았다. In addition, the display of the path of the billiard ball displayed on the screen during the TV broadcast of the existing Internet billiard game or billiard game is only the degree to display the path in accordance with the formula defined in consideration of the angle and force.
따라서, 당구 분야의 고수의 도움없이 주어진 게임의 상황에따라 득점이 가능한 수구의 진행 경로를 사전에 숙지할 수 있고 이를 즉석에서 사용자가 숙지한 경로대로 직접 수구를 쳐가며 실력을 향상시킬 수 있는 보다 실질적인 교습 시스템이 요구되어 왔다. Therefore, it is possible to know in advance the progress path of the water polo which can be scored according to the given game situation without the help of the cue in the field of billiards. Practical teaching systems have been required.
본 발명이 이루고자 하는 기술적 과제는 촬상된 당구대의 영상으로부터 각 당구공의 좌표를 산출하고 게임룰에 따라 점수를 얻을 수 있는 수구의 가능한 경로를 산출하고 이를 화면에 디스플레이되도록 하여 사용자가 득점 가능한 수구의 경로를 사전에 숙지하여 실제 수구경로와 비교 검토하여 배울 수 있는 이미지 프로세싱을 이용한 당구 교습 시스템 및 그 제어 방법을 제공하는 데 있다. The technical problem to be achieved by the present invention is to calculate the coordinates of each billiard ball from the image of the billiard table photographed and to calculate the possible path of the water polo to obtain a score according to the game rules and to display it on the screen so that the user can score The present invention provides a billiard teaching system using image processing and a control method thereof, which can be learned by comparing the path with the actual water path in advance.
본 발명의 상기한 기술적 과제를 달성하기 위한 당구대와 당구공을 촬상하기 위한 촬상부와 영상 캡쳐기능을 갖는 컴퓨터를 구비하여 촬상된 수구의 득점 가능한 경로를 디스플레이하는 이미지 프로세싱을 이용한 당구교습시스템의 제어방법은, Control of a billiard teaching system using an image processing to display the scoreable path of the image of the water polo, including a billiard table for photographing the billiard ball and the image capture function for achieving the above technical problem of the present invention and a computer having an image capture function Way,
당구대와 당구공을 촬상하며 소정의 시간마다 영상을 캡쳐하여 저장하는 단계; 캡쳐된 영상에서 당구공의 좌표를 산출하는 단계; 캡쳐된 영상의 프레임간에 대응된 각 당구공의 좌표가 일치하는지를 체크하는 단계; 당구공의 좌표가 일치하면 각 좌표를 이용하여 상기 당구공중에서 게임의 룰에 따라 득점이 가능한 수구의 경로를 산출하는 단계; 및 산출된 상기 수구의 경로를 화면에 디스플레이하는 단계;를 포함함을 특징으로 한다. Capturing a billiard table and a billiard ball and capturing and storing an image every predetermined time; Calculating the coordinates of the billiard ball in the captured image; Checking whether the coordinates of the respective billiard balls corresponding to the frames of the captured image match; Calculating a path of the water polo which can be scored according to the rules of the game in the billiard ball using the coordinates if the coordinates of the billiard ball match; And displaying the calculated path of the water polo on the screen.
또한, 상기 각 당구공의 좌표는 해당 당구공의 색상을 나타내는 각 픽셀의 좌표값의 평균치로서 산출됨을 특징으로 한다. In addition, the coordinates of each billiard ball is characterized in that it is calculated as an average value of the coordinate values of each pixel representing the color of the billiard ball.
또한, 상기 수구가 상대 적구와 충돌시의 상기 수구의 경로를 산출하기 위한 진행 방향 수식은 로 산출됨을 특징으로 한다. 여기서, x2, y2는 적구의 좌표, X, Y는 상기 적구와 충돌시점에서의 상기 수구의 좌표이다.Further, a travel direction equation for calculating the path of the water polo when the water polo collides with the opponent red ball is It is characterized in that calculated. Here, x 2 and y 2 are coordinates of the red ball, and X and Y are coordinates of the water ball at the point of collision with the red ball.
또한, 상기 수구가 쿠션에 충돌시의 상기 수구의 경로를 산출하기 위한 진행방향의 수식은로 산출됨을 특징으로 한다. 여기서, X,Y는 충돌전 수구의 초기 좌표, x4, y4 는 상기 수구가 쿠션에 충돌한 시점의 좌표이다.Further, the formula of the advancing direction for calculating the path of the water polo when the water polo collides with the cushion It is characterized in that calculated. Here, X and Y are initial coordinates of the water polo ball before collision, and x 4 and y 4 are coordinates of the time point when the water polo collides with the cushion.
또한, 상기 게임의 룰이 3쿠션인 경우에는 상기 수구의 진행방향에 따라 설정된 경로에 의해 쿠션과의 충돌 횟수가 3회 이상이고, 서로 다른 상대 적구와의 충돌 횟수가 각 한번으로 체크되면 득점 가능한 경로로서 디스플레이되도록 제어함을 특징으로 한다. In addition, when the rule of the game is three cushions, the number of collisions with the cushion is three or more times according to the path set according to the direction of the water polo, and the number of collisions with different opponents is checked once. Control to be displayed as a path.
또한, 본 발명의 상기한 기술적 과제를 달성하기 위한 이미지 프로세싱을 이용한 당구 교습 시스템은, In addition, the billiard teaching system using image processing to achieve the above technical problem of the present invention,
당구대와 당구공을 촬상하기 위한 촬상부; 상기 촬상된 영상을 캡쳐하는 캡쳐보드; 상기 캡쳐된 영상을 저장하는 메모리; 상기 캡쳐된 영상에서의 당구공의 좌표를 산출하며, 산출된 좌표로서 상기 당구공 중 수구의 진행방향에 따른 경로를 산출하고 산출된 경로가 당구 게임의 룰에 따른 득점 가능한 조건이면 해당 산출된 경로를 디스플레이 제어하는 제어부; 및 상기 캡쳐된 영상과 득점이 가능한 상기 수구의 경로를 디스플레이하는 디스플레이부;를 포함함을 특징으로 한다.An imaging unit for imaging the billiard table and the billiard ball; A capture board for capturing the captured image; A memory for storing the captured image; Calculate the coordinates of the billiard ball in the captured image, calculate the path according to the direction of the water polo of the billiard ball as the calculated coordinates and if the calculated path is a condition that can be scored according to the rules of the billiard game, the calculated path A control unit for controlling display; And a display unit configured to display the captured image and the path of the water polo that can be scored.
또한, 상기 제어부는 상기 게임의 룰이 3쿠션인 경우에는 상기 수구의 진행방향에 따라 설정된 경로에 의해 쿠션과의 충돌 횟수가 3회 이상이고, 서로 다른 상대 적구와의 충돌 횟수가 각 한번으로 체크되면 득점 가능한 경로로서 디스플레이되도록 제어함을 특징으로 한다.In addition, when the rule of the game is three cushions, the controller checks the number of collisions with the cushion three or more times and the number of collisions with different opponent red balls by the path set according to the moving direction of the water polo. Control to display as a scoreable path.
또한, 상기 촬상부는 디지털 캠코더임을 특징으로 한다.In addition, the imaging unit is characterized in that the digital camcorder.
이하 첨부 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 하다. Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명에 따른 당구 교습 시스템을 설명하기 위한 블록도이다. 1 is a block diagram illustrating a billiard teaching system according to the present invention.
도 1에서, 당구 교습 장치는 당구대를 촬상하기 위한 디지털 캠코더(100)와, 상기 촬상된 영상을 소정 시간마다 캡쳐하는 영상캡쳐부(120)와, 캡쳐된 영상을 저장하는 메모리부(130)와, 상기 캡쳐된 영상에서의 당구공의 좌표를 산출하며, 산출된 좌표로서 상기 당구공 중의 수구의 진행방향에 따른 경로를 산출하고 산출된 경로가 당구 게임의 룰에 따른 점수가 득점되는 조건이면 산출된 해당 경로가 디스플레이되도록 제어하는 제어부(140)와, 상기 제어부에 의해 상기 캡쳐된 영상에서 수구의 각 경로를 표시하는 디스플레이부(150)를 포함한다. In FIG. 1, the billiard teaching apparatus includes a digital camcorder 100 for photographing a billiard table, an image capturing unit 120 for capturing the captured image every predetermined time, a memory unit 130 storing the captured image, and Calculates the coordinates of the billiard ball in the captured image, calculates a path according to the moving direction of the water polo in the billiard ball as the calculated coordinates, and calculates if the calculated path is a condition in which a score according to the rules of the billiard game is scored The controller 140 controls to display the corresponding path, and the display unit 150 displays each path of the water polo in the captured image by the controller.
여기서, 영상캡쳐부(129)와 메모리부(130), 제어부(140)와 디스플레이부(150)는 캡쳐보드가 장착된 퍼스널 컴퓨터로서 구현될 수 있다. Here, the image capturing unit 129, the memory unit 130, the control unit 140, and the display unit 150 may be implemented as a personal computer equipped with a capture board.
도 2는 본 발명에 따른 당구 교습 시스템의 제어방법을 설명하기 위한 흐름도이다. 2 is a flowchart illustrating a control method of a billiard teaching system according to the present invention.
도 1과 도 2를 참조하면, 200단계는 당구대(110)의 위쪽에 위치한 디지털 캠코더(100)에서 당구대(110)를 촬상된 영상신호는 영상캡쳐부(120)로 전송된다. 1 and 2, in step 200, an image signal photographed on the billiard table 110 by the digital camcorder 100 positioned above the billiard table 110 is transmitted to the image capture unit 120.
제어부(140)에서는 영상캡쳐부(120)를 제어하여 소정의 주기로 예컨대 1/10초마다 영상신호를 캡쳐하여 BMP 파일로 변환시킨 후(210 단계), 메모리부(130)에 임시 저장하고 영상 프레임 내의 당구공의 좌표를 거의 실시간으로 산출한다(220 단계). The controller 140 controls the image capturing unit 120 to capture an image signal at a predetermined cycle, for example, every 1/10 second, convert the image signal into a BMP file (step 210), and temporarily store the image signal in the memory unit 130 and store the image frame. The coordinates of the billiard ball within are calculated in real time (step 220).
여기서, 캡쳐된 영상에서의 당구대(110)의 바탕면은 녹색으로 나타나며, 3쿠션 게임인 경우 3개의 당구공은 흰색, 노란색, 적색으로 구분되어 나타나게 된다. Here, the base surface of the billiard table 110 in the captured image is shown in green, and in the case of a three-cushion game, three billiard balls are divided into white, yellow, and red.
도 3은 도 1의 영상캡쳐부(120)에서 BMP파일로 변환된 영상의 일부를 도시한 도면으로서, 당구공(30)의 색상과 위치좌표를 산출하기 위하여 BMP파일의 영상을 화살표와 같이 우측으로 순차적으로 픽셀을 검색해 나간다. 당구대의 바탕면(32)을 나타내는 녹색의 픽셀이 연속해서 체크되는 중에서 적색 또는 흰색, 노란색 픽셀이 발견되면 해당 픽셀의 정보를 저장한다. 상기 픽셀의 정보는 RGB 코드와 픽셀의 위치정보로서, BMP파일의 데이터 어레이를 특정한 좌표값에 대칭시킴으로 얻을 수 있다. FIG. 3 is a view showing a part of an image converted into a BMP file by the image capturing unit 120 of FIG. 1. In order to calculate the color and position coordinates of the billiard ball 30, the image of the BMP file is right as shown by an arrow. Search for pixels sequentially. If red, white or yellow pixels are found while the green pixels representing the base surface 32 of the billiard table are continuously checked, the information of the corresponding pixels is stored. The pixel information is RGB code and position information of the pixel. The pixel information can be obtained by symmetry of the data array of the BMP file to a specific coordinate value.
캡쳐된 영상의 당구공(30)은 노이즈가 포함되어 완전한 원 형태가 아니라 다소 왜곡된 다각형의 모습으로 나타나게 되며, 제어부(140)는 체크된 당구공(30)이 적색인 경우 적색의 각 픽셀에 대한 x,y의 좌표값을 산출하고 산출된 적색 픽셀의 좌표값의 평균값을 체크된 당구공(30)의 중심 좌표로서 산출한다. The billiard ball 30 of the captured image appears as a shape of a rather distorted polygon, rather than a complete circle, including noise, and the controller 140 controls each pixel of red when the checked billiard ball 30 is red. The coordinate values of x and y are calculated, and the average value of the calculated coordinates of the red pixel is calculated as the center coordinate of the checked billiard ball 30.
230 및 240단계에서는 바로 이전 영상 프레임의 당구공의 좌표와 현재의 영상 프레임에 대응되는 당구공의 좌표를 비교하여, 각 대응되는 당구공 간의 좌표가 서로 차이가 있으면 당구공이 움직이고 있는 것으로 간주하여 200 단계로 리턴하여 캡쳐한 새로운 영상프레임에서 당구공의 좌표를 산출한다. In steps 230 and 240, the coordinates of the billiard ball of the previous image frame are compared with the coordinates of the billiard ball corresponding to the current image frame. If the coordinates between the corresponding billiard balls are different from each other, the billiard ball is considered to be moving. Returning to the step to calculate the coordinates of the billiard ball in the captured new image frame.
한편, 이전 영상프레임에서의 당구공의 좌표가 현재 영상프레임의 대응된 당구공의 좌표와 동일하다면 당구공이 정지한 것으로 판단하여 현재 산출된 각 당구공의 좌표를 이용하여 수구와 상대 적구와의 충돌 각도에 따른 진행경로를 산출한다(250 단계). On the other hand, if the coordinates of the billiard ball in the previous video frame is the same as the coordinates of the corresponding billiard ball in the current video frame, it is determined that the billiard ball is stopped and collides with the water polo and the relative red ball using the coordinates of each billiard ball currently calculated. The progress path according to the angle is calculated (step 250).
본 발명의 실시예에서는 사용자가 치는 수구를 흰공으로 선정하였고, 적구는 붉은 공과 노란 공 중에서 사용자가 임의로 선택하게 되므로 붉은 공과 노란공을 모두 표적구인 적구로서 고려하였다. In the embodiment of the present invention, the water ball hit by the user was selected as the white ball, and the red ball was selected by the user at random among the red ball and the yellow ball, so both the red ball and the yellow ball were considered as the target ball.
또한, 당구는 다양한 경로와 스핀의 정도, 적구를 칠 때의 두께 정도, 제1적구의 움직임에 따른 수구 또는 제2적구 방향의 변화 등 수 많은 변수를 갖고 있으나 본 실시예에서는 변수의 조건을 제한하여 수구에 가해지는 힘의 방향과 적구 또는 쿠션과 충돌된 수구의 진행방향만을 고려하여 수구의 경로를 산출하였다. In addition, billiards have a number of variables such as various paths and degrees of spin, thickness when hitting red balls, and changes in the direction of water polo or second red balls according to the movement of the first red ball. The path of the water polo was calculated by considering only the direction of the force applied to the water polo and the advancing direction of the water polo colliding with the red ball or the cushion.
도 4 내지 도 7은 수구(40)가 적구(42)와 소정의 각도로 부딪혔을 경우의 진행방향의 경로를 표시하기 위한 수식산출을 설명하기 위한 도면으로서, 구체적으로는 도 4는 소정 거리 떨어진 수구(40)가 적구(42)와 소정의 각으로 부딪힌 제1가상수구(44)의 상태를 나타내며, 도 5는 도 4의 충돌시점에서의 제1가상수구(44)의 좌표를 산출하기 위한 제2가상수구(46)의 좌표값 산출을 설명하기 위한 도면이고, 도 6은 도 5에서 산출된 제2가상수구(46)의 좌표값의 근거로 제1가상수구(44)의 좌표값 산출을 설명하기 위한 도면이며, 도 7은 제1가상수구(44)의 진행방향의 수식을 설명하기 위한 도면이다. 4 to 7 are diagrams for explaining mathematical calculations for displaying a path in a moving direction when the water polo 40 hits the red ball 42 at a predetermined angle, and specifically, FIG. 4 is a polo ball apart from a predetermined distance. 40 shows the state of the first virtual water pit 44 which has hit the red ball 42 at a predetermined angle, and FIG. 5 is a first diagram for calculating the coordinates of the first virtual water pit 44 at the time of collision of FIG. FIG. 6 is a diagram illustrating the calculation of the coordinate value of the two virtual spheres 46. FIG. 6 shows the calculation of the coordinate values of the first virtual sphere 44 based on the coordinate values of the second virtual sphere 46 calculated in FIG. It is a figure for demonstrating, FIG. 7: is a figure for demonstrating the formula of the advancing direction of the 1st virtual water port 44. As shown in FIG.
사용자가 큐로 수구(40)를 쳐서 제1적구(42)를 얼마의 두께 즉, 각도로서 맞추어야 하는 문제는 불연속적인 각도로 나눌 수밖에 없기 때문에, 도 4에 도시된 바와 같이 제1, 2가상수구(44, 46)의 충돌 전후 두 중심과 제1적구(42)와의 사이의 각으로 정의하고 각도는 30도, 45도, 60도만을 적용한다. 따라서, 수구(40)는 제1적구(42)를 중심으로 좌우 30도, 45도, 60도로 움직이게 된다. Since the problem in which the user hits the water polo 40 with a cue to fit the first red ball 42 as a thickness, that is, an angle, is inevitably divided into discrete angles, the first and second virtual water polo (as shown in FIG. 4). 44 and 46 are defined as the angle between the two centers and the first red ball 42 before and after the collision, and the angle is applied only 30 degrees, 45 degrees, 60 degrees. Therefore, the water polo 40 moves to the left and right 30 degrees, 45 degrees, 60 degrees around the first red ball 42.
또한, 수구(40)의 진행과정을 계산하기 위해 처음 캡쳐한 영상에서의 정보는 3쿠션에서 사용되는 3개의 당구공의 좌표정보가 전부이므로 이 좌표값을 바탕으로 특정 경로로 수구(40)를 칠 때 수구(40)의 위치를 계산하기 위하여 여러 가지 충돌을 다음과 같이 정의한다. In addition, since the information in the first captured image to calculate the progress of the water polo 40 is all the coordinate information of the three billiard balls used in the three cushions, the water polo 40 in a specific path based on this coordinate value In order to calculate the position of the water polo 40 when hitting, various collisions are defined as follows.
우선, 도 5에 도시된 반지름이 r인 수구(40)의 좌표(x1, y1)와 제1적구(42)의 좌표(x2, y2)를 연결한 후 제2가상수구(46)가 제1적구(42)와 정면으로 외접했을 때의 중심좌표(x3, y3)를 하기 수학식 1 및 수학식 2를 통하여 산출되며, 제2가상수구(46)의 중심좌표(x3, y3)는 선분()의 l-2r:2r의 내분점이다. 여기서, 선분 ()의 수학식 1과 같이 산출된다.First, the coordinates (x1, y1) of the water polo 40 having the radius r shown in FIG. 5 and the coordinates (x 2 , y 2 ) of the first red sphere 42 are connected, and then the second virtual water polo 46 The center coordinates (x 3 , y 3 ) when the front surface is circumscribed with the first red sphere 42 is calculated through the following equations (1) and (2), and the center coordinates (x 3 , 2) of the second virtual sphere (46). y 3 ) is the line segment ( ) Is the end point of l-2r: 2r. Where line segment ( Is calculated as in Equation (1).
제2가상수구의 좌표(x3, y3)는 수학식 2와 같이 산출된다.The coordinates x 3 and y 3 of the second virtual sphere are calculated as in Equation 2.
제2가상수구(46)의 좌표(x3, y3)는 제1적구(42)의 좌표(x2, y2 )를 중심으로 미리 정의된 각 만큼 행렬변환된 값이 된다. 제1가상수구(44)의 좌표(X, Y)는 수구(40)가 제1 적구(42)와 충돌하는 순간의 좌표이다.The coordinates (x 3 , y 3 ) of the second virtual sphere (46) are predefined angles around the coordinates (x 2 , y 2 ) of the first red sphere (42). Will be matrix converted. Coordinates X and Y of the first virtual water polo 44 are coordinates at the moment when the water polo 40 collides with the first red ball 42.
제1가상수구(44)의 좌표(X,Y)는 수학식 3과 같이 산출된다. Coordinates (X, Y) of the first virtual sphere 44 is calculated as in Equation (3).
제1적구(42)와 충돌한 제1가상수구(44)의 진행방향을 알기 위해서는 충돌 후 제1가상수구(44)의 진행방향의 직선의 방정식을 구할 필요가 있다. 직선의 방정식은 작용 반작용의 법칙에 의해 제1가상수구(44)의 중심좌표(X,Y)를 지나면서 좌표(X,Y), (x2,y2)를 잇는 직선과 수직인 직선으로서 수학식 4와 같이 산출된다.In order to know the traveling direction of the first virtual sphere 44 collided with the first red sphere 42, it is necessary to obtain the equation of the straight line in the traveling direction of the first virtual sphere 44 after the collision. The equation of the straight line is a straight line perpendicular to the straight line connecting the coordinates (X, Y), (x 2 , y 2 ) while passing through the center coordinates (X, Y) of the first virtual sphere 44 by the law of action reaction. It is calculated as in Equation 4.
그런데, 실제 제1가상수구(44)의 진행은 벡터의 형태를 띄고 있으며, 도 7에 도시된 바와 같이 직선을 길게 연장했을 때 직선은 당구대와 A,B 두점에서 만나게 된다. 실제로 제1가상수구(44)가 위쪽의 쿠션과 충돌하는 방향은 A이므로 아래쪽 B 방향을 무시하고 각 좌표(x1,y1), (X,Y), (충돌지점의 좌표)가 큰 쪽의 좌표를 쿠션 충돌 지점의 좌표로 결정한다. By the way, the actual progress of the first virtual sphere 44 is in the form of a vector, as shown in Figure 7 when the straight line is extended to meet the billiard table and A, B at two points. Actually, the direction in which the first virtual sphere 44 collides with the upper cushion is A, so that the coordinates of the larger coordinates (x1, y1), (X, Y), and (collision point of collision) are ignored, ignoring the lower B direction. Is determined by the coordinates of the cushion collision point.
또한, 도 8은 수구(50)가 쿠션(54)에 충돌했을 때의 진행방향의 수식을 설명하기 위한 도면이다. 8 is a figure for demonstrating the modification of the advancing direction at the time when the water port 50 collided with the cushion 54. As shown in FIG.
수구(50)와 쿠션(54)의 충돌은 완전 탄성 충돌을 가정하고 입사각과 반사각을 동일하게 함으로써 충돌후의 제1가상수구(52)의 직선방정식을 구할 수 있다. 이때, 제1가상수구(52)의 좌표(x4, y4)로서 입사각과 반사각을 쉽게 이용하기 위해 당구대의 크기를 당구공의 반지름 r만큼 줄인 값으로 설정하였으며, 직선방정식은 수학식 5와 같이 나타낼 수 있다.The collision between the water polo 50 and the cushion 54 assumes a perfectly elastic collision, and by making the incident angle and the reflection angle the same, the linear equation of the first virtual water spherical 52 after the collision can be obtained. In this case, in order to easily use the incident angle and the reflection angle as coordinates (x 4 , y 4 ) of the first virtual sphere 52, the size of the billiard table was set to a value reduced by the radius r of the billiard ball. Can be represented as:
도 9에서는 소정의 경로로 진행하는 수구(60)에 있어서 제2적구(62)와의 충돌여부를 판단하는 방법을 설명하기 도면이다. 9 is a view for explaining a method of determining whether or not the collision with the second red ball 62 in the water polo 60 proceeds to a predetermined path.
제어부(140)는 수구(60)의 직선방정식에서 좌표(x5, y5)에 위치한 제2적구(62)와의 중심사이의 거리(L)가 당구공의 반지름(r)보다 작으면 충돌한 것으로 간주하며, 제2적구(62)와의 충돌여부를 수구(60)의 좌표가 새롭게 업데이트 될 때마다 체크한다.The controller 140 collides when the distance L between the center and the center of the second red ball 62 located at the coordinates (x 5 , y 5 ) in the linear equation of the water polo 60 is smaller than the radius r of the billiard ball. The collision with the second red ball 62 is checked each time the coordinates of the water ball 60 are newly updated.
250 및 260 단계에서는 상술된 수구의 좌표와 직선 방정식 산출 방식을 적용하여 경로를 산출하고 이 경로가 게임 룰에 따라 점수가 증가되는 경로인지 체크한다.In steps 250 and 260, a path is calculated by applying the above-described coordinates of the water polo and a linear equation calculation method, and it is checked whether the path is a path whose score increases according to the game rules.
본 실시예의 게임 룰에 있어서 적용된 3쿠션 당구는 두 개의 적구가 서로 충돌하거나 수구가 쿠션을 3번 이상 맞추지 못한 상태에서 두 개의 적구에 부딪쳤을 경우 무효처리한다. 또한 수구가 적구를 먼저 맞추지 않고 쿠션을 먼저 맞고 적구를 맞추는 경우도 많이 있으나 경우의 수를 줄이기 위하여 적구 2개 중에서 하나를 무조건 먼저 맞추어야 한다는 가정하고, 수구가 쿠션을 3번 이상 맞추는 동안 2개의 적구를 맞출 경우 3쿠션이 성공한 것으로 간주하였다. 이때 제어부(140)는 수구가 쿠션과 충돌할 때마다 카운트한 값을 메모리부(130)에 저장하여 3개 이상인지를 판단한다. The three-cushion billiard applied in the game rule of this embodiment is invalidated when two red balls collide with each other or when two water balls hit two red balls in a state in which the water polo does not fit the cushion three or more times. It is also assumed that water polo does not hit the red ball first, but the cushion is first and the red ball is hit.However, to reduce the number of cases, it is assumed that one of the two red balls must be matched first. 3 cushions were considered successful. At this time, the controller 140 stores the counted value in the memory unit 130 whenever the water polo collides with the cushion, and determines whether there are three or more.
260 단계에서 수구의 산출된 경로가 득점이 가능한 경로이면 270 단계로 진행하여 산출된 수구의 경로를 디스플레이한다. If the calculated path of the water polo is a score that can be scored in step 260, the flow proceeds to step 270 to display the calculated water polo path.
도 10은 본 발명에 따른 수구의 경로를 화면에 표시한 상태를 도시한다. 10 shows a state in which the path of the water polo according to the present invention is displayed on the screen.
흰공을 수구(70)로 하여 적색공(72)을 제1적구로서 맞추었을 경우 3쿠션이 맞는 경로가 선으로 표시하고, 노란공(74)을 제1적구로서 맞추었을 경우 3쿠션이 맞는 경로는 점선으로 표시한 예를 나타낸다. When the white ball is the water pit 70 and the red ball 72 is set as the first red ball, the path that fits three cushions is indicated by a line, and when the yellow ball 74 is set as the first red ball, the three cushions are the right paths. Indicates an example indicated by a dotted line.
본 발명은 상기한 실시예에 한정되지 않고 본 발명의 기술적 사상으로부터 이탈됨이 없이 다양한 변형 실시예가 가능함은 이 분야의 당업자에게는 주지의 사실이다. It is well known to those skilled in the art that the present invention is not limited to the above embodiments and that various modifications can be made without departing from the spirit of the invention.
예컨대, 당구게임의 룰을 3쿠션에 한정하지 않고 다양한 게임의 룰의 조건에 따라 득점이 가능한 수구경로만을 판정하여 해당 경로를 화면에 표시할 수 있다. For example, the rule of the game of billiards is not limited to three cushions, and only the handball path which can be scored according to the conditions of various game rules can be determined and the corresponding path can be displayed on the screen.
상술한 바와 같이, 본 발명에 의하면 처음 당구를 배우려는 입문자들이 당구 교본을 읽거나 고수에게 직접 배우지 않아도 현재의 당구 배치 상태에서 득점할 수 있는 수구의 경로를 사전에 습득한 후에 직접 실습할 수 있으므로 수구의 예상 득점경로와 실제 경로를 비교 검토할 수 있어 교육 효과가 높을 뿐 아니라 보다 쉽게 당구를 배울 수 있다. As described above, according to the present invention, the beginners who want to learn billiards can practice directly after learning the path of water polo which can be scored in the current billiard arrangement state without having to read the billiard textbook or learn directly from the master. You can compare the expected score path and the actual path of the water polo, so that you can learn billiards more easily.
도 1은 본 발명에 따른 당구 교습 시스템을 설명하기 위한 블록도이다. 1 is a block diagram illustrating a billiard teaching system according to the present invention.
도 2는 도 1에 도시된 시스템의 제어방법을 설명하기 위한 흐름도이다. 2 is a flowchart illustrating a control method of the system shown in FIG. 1.
도 3은 도 1의 영상캡쳐부에서 BMP파일로 변환된 영상의 일부를 도시한 도면이다. FIG. 3 is a diagram illustrating a part of an image converted into a BMP file by the image capture unit of FIG. 1.
도 4는 소정 거리 떨어진 수구가 제1적구와 소정의 각도로 부딪힌 상태를 도시한 도면이다.4 is a view illustrating a state in which a water polo ball separated by a predetermined distance collides with the first red ball at a predetermined angle.
도 5는 본 발명에 따른 도 4의 충돌시점에서의 제1가상수구 좌표를 산출하기 위한 제2가상수구의 좌표의 산출을 설명하기 위한 도면이다.5 is a view for explaining the calculation of the coordinates of the second virtual sphere to calculate the coordinates of the first virtual sphere in the collision point of FIG. 4 according to the present invention.
도 6은 도 5에 도시된 제2가상수구의 좌표값의 근거로 제1가상수구의 좌표값 산출을 설명하기 위한 도면이다.FIG. 6 is a view for explaining calculation of coordinate values of the first virtual sphere based on the coordinate values of the second virtual sphere shown in FIG. 5.
도 7은 도 6의 당구공의 좌표값에 따라 제1 가상수구의 진행방향 A의 수식을 설명하기 위한 도면이다.FIG. 7 is a diagram for describing a formula of a moving direction A of the first virtual water polo according to the coordinate values of the billiard ball of FIG. 6.
도 8은 수구가 쿠션에 충돌했을 때의 진행방향의 수식을 설명하기 위한 도면이다.8 is a diagram for explaining the equation of the advancing direction when the water polo collides with the cushion.
도 9는 소정의 경로로 진행하는 수구에 있어서 제2적구와의 충돌여부를 판단하는 방법을 설명하기 도면이다.9 is a view for explaining a method of determining whether or not a collision with the second red ball in the water polo proceeding to a predetermined path.
도 10은 본 발명에 따른 수구의 경로를 화면에 표시한 상태를 도시한다. 10 shows a state in which the path of the water polo according to the present invention is displayed on the screen.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
40,50,60...수구, 42...제1적구40, 50, 60 ... Water polo, 42 ... First red ball
44,52...제1가상수구, 46...제2가상수구44,52 ... the first virtual sewer, 46 ... the second virtual sewer
54...쿠션, 62...제2적구54 ... cushion, 62 ... second red ball
100...디지털 캠코더, 110...당구대100 ... digital camcorder, 110 ... pool table
120...영상캡쳐부, 130...메모리부120 ... image capture section, 130 ... memory section
140...제어부, 150...디스플레이부140 ... control section, 150 ... display section
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030070982A KR20050035563A (en) | 2003-10-13 | 2003-10-13 | Billiards teaching system and method using image processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030070982A KR20050035563A (en) | 2003-10-13 | 2003-10-13 | Billiards teaching system and method using image processing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050035563A true KR20050035563A (en) | 2005-04-19 |
Family
ID=37238951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030070982A KR20050035563A (en) | 2003-10-13 | 2003-10-13 | Billiards teaching system and method using image processing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20050035563A (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100970924B1 (en) * | 2009-07-15 | 2010-07-21 | (주) 마이다스큐 | Total Billiard Service System Using Internet and Method thereof |
WO2011019258A2 (en) * | 2009-08-14 | 2011-02-17 | (주) 마이다스큐 | Billiards integrated service system using the internet, and a method for the same |
KR101056927B1 (en) * | 2009-06-05 | 2011-08-12 | 이선표 | Billiards Game Coaching System |
KR101104883B1 (en) * | 2008-09-19 | 2012-01-17 | 김현수 | Retrieval system for billiards movies and method there of |
KR101346345B1 (en) * | 2011-11-23 | 2013-12-31 | (주)한일에스티엠 | Billiards simulator |
KR101386034B1 (en) * | 2012-10-15 | 2014-04-16 | 김종석 | Billiards teaching system and method for controlling thereof |
KR20180069353A (en) * | 2016-12-15 | 2018-06-25 | 김완수 | Billiard robot |
KR20180090155A (en) | 2017-02-02 | 2018-08-10 | 김용길 | Automatic score calculation system for billiard game using coordinate values and its principle |
KR20200085048A (en) | 2019-01-04 | 2020-07-14 | 이동갑 | Billiard Teaching System Using Interworking of Online And Offline |
KR20220072194A (en) * | 2020-11-25 | 2022-06-02 | 주식회사 빅스터 | Method for coaching billiards and recording medium storing program to implement the method |
-
2003
- 2003-10-13 KR KR1020030070982A patent/KR20050035563A/en not_active Application Discontinuation
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101104883B1 (en) * | 2008-09-19 | 2012-01-17 | 김현수 | Retrieval system for billiards movies and method there of |
KR101056927B1 (en) * | 2009-06-05 | 2011-08-12 | 이선표 | Billiards Game Coaching System |
KR100970924B1 (en) * | 2009-07-15 | 2010-07-21 | (주) 마이다스큐 | Total Billiard Service System Using Internet and Method thereof |
WO2011019258A2 (en) * | 2009-08-14 | 2011-02-17 | (주) 마이다스큐 | Billiards integrated service system using the internet, and a method for the same |
WO2011019258A3 (en) * | 2009-08-14 | 2011-06-16 | (주) 마이다스큐 | Billiards integrated service system using the internet, and a method for the same |
KR101346345B1 (en) * | 2011-11-23 | 2013-12-31 | (주)한일에스티엠 | Billiards simulator |
KR101386034B1 (en) * | 2012-10-15 | 2014-04-16 | 김종석 | Billiards teaching system and method for controlling thereof |
KR20180069353A (en) * | 2016-12-15 | 2018-06-25 | 김완수 | Billiard robot |
KR20180090155A (en) | 2017-02-02 | 2018-08-10 | 김용길 | Automatic score calculation system for billiard game using coordinate values and its principle |
KR20200085048A (en) | 2019-01-04 | 2020-07-14 | 이동갑 | Billiard Teaching System Using Interworking of Online And Offline |
KR20220072194A (en) * | 2020-11-25 | 2022-06-02 | 주식회사 빅스터 | Method for coaching billiards and recording medium storing program to implement the method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2468846C2 (en) | Method and device for practicing sport skills | |
US20190176020A1 (en) | Ball-striking assist method, ball-striking assist system, and portable electronic device | |
US6890262B2 (en) | Video game apparatus, method and recording medium storing program for controlling viewpoint movement of simulated camera in video game | |
US6951515B2 (en) | Game apparatus for mixed reality space, image processing method thereof, and program storage medium | |
US9463357B2 (en) | Virtual golf simulation apparatus providing putting guide | |
US6217446B1 (en) | Game device and picture processing device | |
US11103783B2 (en) | Sports simulation system | |
KR101386034B1 (en) | Billiards teaching system and method for controlling thereof | |
KR101703859B1 (en) | Screen-golf system, method for golf information service applied to screen-golf system and method for controlling mobile terminal for the same, and recording medium recording program according to the method readable by computing device | |
CN109045688B (en) | Game interaction method and device, electronic equipment and storage medium | |
JPH08305891A (en) | Device and method for image processing | |
KR101346345B1 (en) | Billiards simulator | |
KR20050035563A (en) | Billiards teaching system and method using image processing | |
KR20190010468A (en) | Apparatus, methods, and computer program for providing billiards training using a projector and a robot arm | |
US8128496B2 (en) | Game device, object display method in game device, and display program | |
US20220249938A1 (en) | Virtual golf simulation processing method and screen golf system using the same | |
CN113312840B (en) | Badminton playing method and system based on reinforcement learning | |
CN113209597A (en) | Offline billiard hitting assisting method, device, terminal and storage medium | |
US11583728B2 (en) | System and method for tracking and analyzing golf shot | |
JP4117687B2 (en) | Image processing device | |
KR102064402B1 (en) | Placement System of Billiard Ball Using Internet and Method thereof | |
JP6305092B2 (en) | Video display system, video display method and program | |
KR102062070B1 (en) | Virtual bowling simulation system | |
KR101892514B1 (en) | Automatic score calculation system for billiard game using coordinate values | |
Shih | Aiming strategy error analysis and verification of a billiard training system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |