CN106055518A - 一种下球线路推荐方法及装置 - Google Patents
一种下球线路推荐方法及装置 Download PDFInfo
- Publication number
- CN106055518A CN106055518A CN201610395941.9A CN201610395941A CN106055518A CN 106055518 A CN106055518 A CN 106055518A CN 201610395941 A CN201610395941 A CN 201610395941A CN 106055518 A CN106055518 A CN 106055518A
- Authority
- CN
- China
- Prior art keywords
- ball
- line road
- bag mouth
- object ball
- releasing line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63D—BOWLING GAMES, e.g. SKITTLES, BOCCE OR BOWLS; INSTALLATIONS THEREFOR; BAGATELLE OR SIMILAR GAMES; BILLIARDS
- A63D15/00—Billiards, e.g. carom billiards or pocket billiards; Billiard tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Pinball Game Machines (AREA)
Abstract
本发明实施例提供一种下球线路推荐方法。该方法包括:计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分,所述得分用于表征所述下球线路的进球难易度;输出所述多条下球线路各自的线路标识和所述得分,所述线路标识包括所述下球线路所属目标球的球标识和所述台球桌的袋口的袋口标识。本发明实施例能够为参赛选手选择下球线路提供依据。
Description
技术领域
本发明实施例涉及台球运动领域,特别是涉及一种下球线路推荐方法及装置。
背景技术
斯诺克(Snooker)台球是深受人们欢迎的一项体育运动。斯诺克的意思是“阻碍、障碍”,所以斯诺克台球有时也被称为障碍台球。此项运动使用的球桌长约3569毫米、宽1778毫米,台面四角以及两长边中心位置各有一个球洞,使用的球分为1个白球,15个红球和6个彩球(黄、绿、咖啡、蓝、粉、黑)共22个球。击球顺序为一个红球、一个彩球,直到红球全部落袋,然后以黄、绿、咖啡、蓝、粉红、黑的顺序逐个击球,最后以得分高者为胜。
击打前参赛选手可能看到多条下球线路,并根据自身经验比较各条线路的击打难易度,从而进行下球线路的选择。但是,这种根据经验的判断比较主观。
发明内容
本发明实施例提供一种下球线路推荐方法及装置,以便向参赛选手提供下球线路的进球难易度的客观参考依据。
为了解决上述技术问题,本发明实施例提供如下技术方案:
本发明实施例提供一种下球线路推荐方法,包括:
计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分,所述得分用于表征所述下球线路的进球难易度;
输出所述多条下球线路各自的线路标识和所述得分,所述线路标识包括所述下球线路所属目标球的球标识和所述台球桌的袋口的袋口标识。
本发明实施例还提供一种下球线路推荐装置,包括:
计算模块,用于计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分,所述得分用于表征所述下球线路的进球难易度;
输出模块,用于输出所述多条下球线路各自的线路标识和所述得分,所述线路标识包括所述下球线路所属目标球的球标识和所述台球桌的袋口的袋口标识。
本发明实施例至少具有如下有益效果:
通过计算多条下球线路各自的得分并输出,以便向参赛选手提供下球线路的进球难易度的客观参考,从而为参赛选手选择下球线路提供依据。
附图说明
图1为本发明实施例提供的一种下球线路推荐方法的步骤流程图;
图2为本发明实施例的较佳实施方式提供的一种斯诺克台球局面进球难易度分析方法的流程图;
图3为母球和目标球之间的击打多边形示意图;
图4为母球和目标球之间的外接矩形示意图;
图5为母球和目标球之间的左切线矩形示意图;
图6为母球和目标球之间的右切线矩形示意图;
图7为进球通道包括的两个外接矩形的示意图;
图8为球的四个切点示意图;
图9为本发明实施例提供的一种下球线路推荐装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为本发明实施例提供的一种下球线路推荐方法的步骤流程图,参照图1,本发明实施例提供一种下球线路推荐方法,包括如下步骤:
步骤101,计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分,所述得分用于表征所述下球线路的进球难易度;
步骤102,输出所述多条下球线路各自的线路标识和所述得分,所述线路标识包括所述下球线路所属目标球的球标识和所述台球桌的袋口的袋口标识。
可见,通过计算多条下球线路各自的得分并输出,以便向参赛选手提供下球线路的进球难易度的客观参考,从而为参赛选手选择下球线路提供依据。此外,本实施例还便利了下球线路的选择。
其中,目标球可以为红球或彩球。母球及各目标球可以通过字母和/或编号来标识,例如15颗红球的标识分别为b1~b15,6颗彩球的标识分别为b16~b21。母球的标识例如,可以为b0。
同一目标球可以有1个或更多个下球线路。
台球桌一般有6个袋口,其标识例如,分别为pocket1~6。
本发明实施例中,所述计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分之前,还可以包括:
确定所述多条下球线路各自的所述线路标识。
其中,所述确定所述多条下球线路各自的所述线路标识可以包括:
对于所述至少一个目标球中的每个目标球和所述台面上的每个袋口,根据所述每个目标球、所述每个袋口、母球和所述台面上其他球各自在与所述台面平行的平面坐标系上的位置坐标信息,判断所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间是否有至少一个所述其他球阻挡;
当所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间没有所述至少一个其他球阻挡时,将所述每个目标球的所述球标识和所述每个袋口的所述袋口标识确定为所述多条下球线路中一条下球线路的所述线路标识。
这里,所述根据所述每个目标球、所述每个袋口、母球和所述台面上其他球各自在与所述台面平行的平面坐标系上的位置坐标信息,判断所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间是否有至少一个所述其他球阻挡可以包括:
根据所述每个目标球、所述每个袋口和所述母球各自在所述平面坐标系上的位置坐标信息,确定所述每个目标球与所述母球之间的进球通道和所述每个目标球与所述每个袋口之间的进球通道分别在所述平面坐标系上的位置坐标范围;
根据全部所述其他球各自在所述平面坐标系上的位置坐标信息,判断是否存在所述至少一个其他球在所述每个目标球与所述母球之间的进球通道内或在所述每个目标球与所述每个袋口之间的进球通道内,如果存在,则所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间有所述至少一个其他球阻挡;否则,所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间没有所述至少一个其他球阻挡。
其中,所述每个目标球与所述母球之间的进球通道可以包括第一坐标范围,所述第一坐标范围可以包括第一外接矩形或击打多边形在所述平面坐标系上的位置坐标范围,所述第一外接矩形可以为所述每个目标球和所述母球分别在所述平面坐标系的坐标平面上投影的圆形的外接矩形,所述击打多边形可以由所述每个目标球和所述母球分别在所述平面坐标系的坐标平面上投影的圆形的外接矩形、左切线矩形和右切线矩形构成;
所述每个目标球与所述每个袋口之间的进球通道在所述平面坐标系上的位置坐标范围可以包括第二坐标范围,所述第二坐标范围可以包括第二外接矩形在所述平面坐标系上的位置坐标范围,所述第二外接矩形可以以所述每个目标球和所述每个袋口分别在所述平面坐标系的坐标平面上投影的圆形的共切线的两对切点为顶点;
所述根据全部所述其他球各自在所述平面坐标系上的位置坐标信息,判断是否存在所述至少一个其他球在所述每个目标球与所述母球之间的进球通道内或在所述每个目标球与所述每个袋口之间的进球通道内可以包括:
根据全部所述其他球各自在所述平面坐标系上的位置坐标信息,判断全部所述其他球各自在所述平面坐标系上的位置坐标范围与所述第一坐标范围或所述第二坐标范围是否有交叠,如果有交叠,则所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间有所述至少一个其他球阻挡;如果没有交叠,则所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间没有所述至少一个其他球阻挡。
本发明实施例中,可以有:
所述得分越低表明下球线路的进球难易度越容易,所述计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分包括:
计算所述多条下球线路中每条下球线路的多个得分因子;
计算所述多个得分因子的加权平均值,得到所述每条下球线路的得分。
其中,所述多个得分因子可以包括所述母球到所述每条下球线路中所述目标球和所述每条下球线路中所述目标球到所述袋口之间的第一夹角angel的得分angScore、所述母球到所述每条下球线路中所述目标球的距离d1的得分d1Score、所述每条下球线路中所述目标球到所述袋口的距离d2的得分d2Score和所述d1与所述d2之和d3的得分d3Score,所述计算所述多条下球线路中每条下球线路的多个得分因子可以包括:
根据所述母球和所述每条下球线路中所述目标球分别在与所述台面平行的平面坐标系上的球心位置坐标,计算所述d1;
根据所述每条下球线路中所述目标球和所述袋口分别在所述平面坐标系上的球心位置坐标,计算所述d2;
计算d1与d2之和,得到d3;
计算angel,其中,angel=(180*arccosX)/π,其中,X=(da*da+db*db-dc*dc)/(2*da*db),da为所述母球到所述每条下球线路中所述目标球的距离,db为所述每条下球线路中所述目标球到所述袋口的距离,dc为所述母球到所述袋口的距离;
判断是否angel>90且angel<=180,如果是,则angScore=100-(angel-90)*(100/90);否则angScore为100;
d1Score=(100/tablediag)*d1,其中,所述tablediag为所述台球桌的对角线长度;
d2Score=(100/tablediag)*d2;
d3Score=(100/tablediag)*d3。
其中,X可以为所述第一夹角的余弦值。
进一步地,所述多个得分因子还可以包括所述每条下球线路中所述目标球到所述袋口的连线和所述第一库边之间的第二夹角edgeAngel的得分edgeAngelScore,所述第一库边为所述台球桌的全部库边中与所述每条下球线路中所述目标球距离最近的所述库边,所述计算所述多条下球线路中每条下球线路的多个得分因子还可以包括:
根据所述每条下球线路中所述目标球在所述平面坐标系上的目标球位置坐标和全部所述库边各自在所述平面坐标系上的线段位置坐标范围,确定所述第一库边;
根据所述目标球位置坐标和所述第一库边在所述平面坐标系上的线段位置坐标范围,计算所述每条下球线路中所述目标球到所述第一库边的距离d4;
根据所述d4和所述d2,计算所述edgeAngel,edgeAngel=(arcsin(d4/d2))/π*180;
判断第一条件是否成立,所述第一条件为edgeAngel<30且d2>ballradiu*2*3,其中,ballradiu为所述目标球的半径;
当所述第一条件成立时,所述edgeAngelScore,edgeAngelScore=100-(100/30)*edgeAngel;
当所述第一条件不成立时,所述edgeAngelScore为0。
此外,所述多个得分因子还可以包括所述母球到第二库边的最短距离d5的得分d5Score,所述第二库边为全部所述库边中与所述母球距离最近的所述库边,所述计算所述多条下球线路中每条下球线路的多个得分因子还可以包括:
根据所述母球在所述平面坐标系上的母球位置坐标和全部所述库边各自在所述平面坐标系上的线段位置坐标范围,确定所述第二库边;
根据所述母球位置坐标和所述第二库边在所述平面坐标系上的线段位置坐标范围,计算所述d5;
判断第一条件或第二条件是否成立,所述第一条件为d5<3且angel>135,所述第二条件为d5>52;
当所述第一条件或所述第二条件成立时,所述d5Score为0;
当所述第一条件和所述第二条件均不成立时,所述d5Score为100-(100/52)*d5。
为将本发明实施例描述得更加清楚明白,下面给出本发明实施例的较佳实施方式。参照图2,本较佳实施方式提供一种斯诺克台球局面进球难易度分析方法,基本思路如下:
根据台面上球的位置及数量,构成初始局面,首先判断母球和目标球之间是否有阻挡,目标球和袋口之间是否有阻挡,如果都没有阻挡,则有下球线路。以此类推,每个目标球遍历六个袋口,来计算出所有的下球线路。具体地,可以首先判断母球到目标球之间的通道是否有其他球阻挡,再判断目标球到袋口之间的通道是否有其他球阻挡,只有两条通道都没有其他球阻挡的时候,才有下球线路。然后,计算各下球线路的得分,得分越低,表明相应下球线路的进球难易度越容易。
本较佳实施方式具体可以包括如下步骤:
步骤S201,获取初始局面;
其中,初始局面包括台面上母球和各目标球的位置信息,目标球的数量。目标球可以为红球或彩球。
本步骤获取的是现实中台球桌的局面。获取过程是,在台球桌的正上方,安装一个摄像机,镜头正对台球桌,摄像机每秒钟采集50张图片,然后利用采集的图片进行分析,通过程序裁剪掉图片中的台球桌,使图片中只保留台球。以开球区域左下角袋口处台球桌长边和短边之间的交点为坐标原点,台球桌长边为X轴,短边为Y轴,获取当前台面上母球和各个目标球各自的坐标(例如球心位置坐标)。然后,摄像机生成字符串发送给计算机。其中,字符串由15颗红球的球标识和坐标、6颗彩球的球标识和坐标以及1颗白球的球标识和坐标组成,每个坐标后面有“W”或“L”字样,“W”表示这颗球未落袋,“L”表示这颗球已落袋。
步骤S202,解析球的字符串,获得各个球的坐标;
具体地,计算机接收到摄像机发送的字符串后,解析球的字符串,获得各个球的坐标。
步骤S203,生成目标球局面;
具体地,根据各个球的坐标,确定当前台球桌上未落袋的球的颜色标识和坐标,进而得到当前的目标球局面,例如,可以包括目标球的数目以及每个目标球的球标识、颜色和坐标。
步骤S204,遍历目标球,遍历六个袋口;
步骤S205,对于目标球与袋口的每个组合,判断该组合中目标球到袋口是否有下球通道,如果有下球通道,则执行步骤S206;否则,执行步骤S207;
本步骤包括如下阶段:
阶段A.击打多边形判断进球通道
在台球的击打过程中,母球和目标球之间有一个进球通道,目标球和袋口之间有一个进球通道,当两个进球通道内都没有其他球时,理论上,形成一条下球通道。为了判断是否有球在下球通道内,我们假设进球通道为矩形,则母球和目标球之间的进球通道可以包括母球和目标球之间的外接矩形,此外,考虑到利用左右切线矩形来判断是否为自由球的情况,母球和目标球之间的进球通道还可以包括母球和目标球之间的左、右切线矩形,以避免击打后犯规被判自由球。外接矩形以及左、右切线矩形这三个矩形构成击打多边形。
对于不考虑自由球的情况,如果有其他球的边缘点在母球和目标球之间的外接矩形内,则母球和目标球之间没有进球通道;否则,母球和目标球之间有进球通道;
对于考虑自由球的情况,如果有其他球的边缘点在母球和目标球之间的击打多边形内,则母球和目标球之间没有进球通道;否则,母球和目标球之间有进球通道。
参照图3,其中,b1代表母球,(x1,y1)为母球圆心坐标,b2代表目标球,(x2,y2)为目标球圆心坐标。
point1,point2,point3,point4代表外接矩形的四个切点。
图3中rt表示外接矩形,(rt.x1,rt.y1),(rt.x2,rt.y2),(rt.x3,rt.y3),(rt.x4,rt.y4)代表外接矩形的四个顶点。
图3中Leftrt表示左切线矩形,(Leftrt.x1,Leftrt.y1),(Leftrt.x2,Leftrt.y2),(Leftrt.x3,Leftrt.y3),(Leftrt.x4,Leftrt.y4)表示左切线矩形四个顶点。
图3中Rightrt表示右切线矩形,(Rightrt.x1,Rightrt.y1),(Rightrt.x2,Rightrt.y2),(Rightrt.x3,Rightrt.y3),(Rightrt.x4,Rightrt.y4)表示右切线矩形四个顶点。
bsPoints[0],bsPoints[1],bsPoints[2],bsPoints[3],bsPoints[4],bsPoints[5]代表击打多边形的六个顶点。
阶段B.通过圆心确定外接矩形
为了确定母球和目标球之间的外接矩形,通过已知的母球和目标球的圆心,来求出外接矩形的四个顶点,从而确定外接矩形。
参照图4,其中,b1代表母球,(x1,y1)为母球圆心坐标,b2代表目标球,(x2,y2)为目标球圆心坐标。
具体过程是:我们通过(x1,y1)求出C点坐标,再通过C点坐标求出P1,P2两点。
通过(x2,y2)求出D点坐标,再通过D点坐标求出P3,P4两点。
所用公式:
两点之间斜率公式:
k=(y2-y1)/(x2-x1),其中(x1,y1),(x2,y2)是已知两点的坐标。
两点之间距离公式:
其中(x1,y1),(x2,y2)是已知两点的坐标。
阶段C.求母球和目标球之间的左切线矩形
为了确定击打多边形,求母球和目标球之间的左切线矩形。
参照图5,其中,b1代表母球,(x1,y1)为母球圆心坐标,b2代表目标球,(x2,y2)为目标球圆心坐标。
point1,point2,point3,point4代表外接矩形的四个切点。
图5中Leftrt表示左切线矩形,(Leftrt.x1,Leftrt.y1),(Leftrt.x2,Leftrt.y2),(Leftrt.x3,Leftrt.y3),(Leftrt.x4,Leftrt.y4)表示左切线矩形四个顶点。
所用公式:
两点之间斜率公式:
k=(y2-y1)/(x2-x1),其中(x1,y1),(x2,y2)是已知两点的坐标。
两点之间距离公式:
其中(x1,y1),(x2,y2)是已知两点的坐标。
母球和目标球之间的左切线矩形的长和宽分别与母球和目标球之间的外接矩形的长和宽相同。
阶段D.求母球和目标球之间的右切线矩形
为了确定击打多边形,求母球和目标球之间的右切线矩形。
参照图6,其中,b1代表母球,(x1,y1)为母球圆心坐标,b2代表目标球,(x2,y2)为目标球圆心坐标。
point1,point2,point3,point4代表外接矩形的四个切点。
图6中Rightrt表示右切线矩形,(Rightrt.x1,Rightrt.y1),(Rightrt.x2,Rightrt.y2),(Rightrt.x3,Rightrt.y3),(Rightrt.x4,Rightrt.y4)。
所用公式:
两点之间斜率公式:
k=(y2-y1)/(x2-x1),其中(x1,y1),(x2,y2)是已知两点的坐标。
两点之间距离公式:
其中(x1,y1),(x2,y2)是已知两点的坐标。
母球和目标球之间的右切线矩形的长和宽分别与母球和目标球之间的外接矩形的长和宽相同。
阶段E.求两个矩形通道
为了判断是否有下球通道,通过计算母球和目标球之间的矩形,目标球和袋口之间的矩形,来判断是否有球在这两个矩形里,如果有球在任何一个矩形里,则没有下球通道,如图7所示,为两个矩形下球通道。
其中,b1为母球,b2为目标球,Bag为袋口,a为母球到目标球的距离,b为目标球到袋口的距离,ImagBall为母球撞击目标球时的假想球。
所用公式:
两点之间斜率公式:
k=(y2-y1)/(x2-x1),其中(x1,y1),(x2,y2)是已知两点的坐标。
两点之间距离公式:
其中(x1,y1),(x2,y2)是已知两点的坐标。
已知三角形的三条边,求两边夹角公式:
cosA=(a2+b2-c2)/2*a*b
A=arccos(cosA),其中A为所求夹角,a,b,c为已知三角形的三条边。
已知夹角弧度,求对应角度公式:
θ=(180*A)/π,其中θ为所求角度,A为已知弧度。
阶段F.通过球的切点判断是否在击打多边形内
为了判断球是否在母球和目标球之间的矩形通道或是在目标球和袋口之间的矩形通道里,我们来判断球的切点是否在矩形通道内,如果有任何一个切点在矩形通道里,则没有下球通道,如图8所示,为球的四个切点。图8中,b1为台面上的任何一颗球,P1,P2,P3,P4分别为球的四个切点。
步骤S206,记录该组合中目标球到袋口的下球通道的相关参数,形成有效进球局面;
其中,具体记录的参数包括:
目标球,包括目标球的坐标,id,编号,例如C32;
袋口编号;
母球停止位,即母球停止位置的坐标;
母球到目标球和目标球到袋口形成的夹角angle;
母球到目标球之间的距离d1;
目标球到袋口之间的距离d2;
母球到目标球之间的距离d1和目标球到袋口之间的距离d2之和,即总的距离d3;
目标球到与目标球距离最近的第一库边的距离d4;
目标球到袋口的连线和第一库边之间的夹角edgeAngel;以及
母球到与母球距离最近的第二库边的距离d5。
步骤S207,排除该组合中目标球到袋口的下球线路;
步骤S208,计算每条下球线路的得分;
本步骤中,首先,根据每条下球线路的中母球到目标球之间的距离,目标球到袋口之间的距离,母球到目标球之间的距离和目标球到袋口之间的距离之和,目标球到库边的距离,计算出各个距离的得分,距离越短,击打越容易,得分越低。具体地,计算母球到目标球的距离d1的得分d1Score、目标球到袋口的距离d2的得分d2Score和d1与d2之和d3的得分d3Score。d1Score=(100/tablediag)*d1,其中,tablediag为台球桌的对角线长度;d2Score=(100/tablediag)*d2;d3Score=(100/tablediag)*d3。
其次,根据母球到目标球和目标球到袋口之间的夹角,计算出夹角的得分,夹角在90度到180度之间,夹角越大,得分越低。当夹角小于90度或者大于180度时,得分为100分。具体地,可以计算母球到目标球和目标球到袋口之间的夹角angel的得分angScore,判断是否angel>90且angel<=180,如果是,则angScore=100-(angel-90)*(100/90);否则angScore为100。Angel可以在得到母球、目标球和袋口两两之间的距离之后,结合正弦及余弦定律计算得到。
考虑到库边的影响,可以计算目标球到袋口的连线和第一库边之间的第二夹角edgeAngel的得分edgeAngelScore,可以根据目标球在所述平面坐标系上的目标球位置坐标和全部所述库边各自在所述平面坐标系上的线段位置坐标范围,确定第一库边,可以根据目标球位置坐标和第一库边在所述平面坐标系上的线段位置坐标范围,计算d4,并可以由d4计算出d2和目标球离得最近的库边之间的夹角edgeAngel,edgeAngel=(arcsin(d4/d2))/π*180;
判断第一条件是否成立,所述第一条件为edgeAngel<30且d2>ballradiu*2*3;
当所述第一条件成立时,所述edgeAngelScore为edgeAngelScore=100-(100/30)*edgeAngel;
当所述第一条件不成立时,所述edgeAngelScore为edgeAngelScore=0。
其中,ballradiu为球的半径。
考虑到库边的影响,当母球到库边的距离小于3毫米时,此时,判断母球贴边,母球贴边时且夹角大于135度,此时,这条线路得分0分,当母球到较近库边的距离大于52毫米时,此时,我们认为母球不贴边,这条线路中母球到库边的距离得分0分。具体地,可以计算母球到第二库边的距离d5的得分d5Score,其中,可以根据母球在所述平面坐标系上的母球位置坐标和全部所述库边各自在所述平面坐标系上的线段位置坐标范围,确定第二库边;可以根据母球位置坐标和第二库边在所述平面坐标系上的线段位置坐标范围,计算d5;可以判断第一条件或第二条件是否成立,第一条件为d5<3且angel>135,第二条件为d5>52;当第一条件或第二条件成立时,d5Score为0;当第一条件和第二条件均不成立时,d5Score为100-(100/52)*d5。
整条线路的得分由各距离得分和各夹角得分构成,我们设定各夹角及各距离在线路得分中的比重,根据加权平均算法,求出整条线路的得分。得分越高,表明这条线路的击打越难。
关于加权平均计算单条路线总得分的具体方式,本领域技术人员能想到很多,现举例如下:
情况一:当angel>90且angel<=120时,求出夹角angel得分angScore和d3得分d3Score中的较大值,如果较大值为angScore,单条路线总得分为:score=angScore+d1Score*canshu[1]+d2Score*canshu[2]+d3Score*canshu[3]+edgeAngelScore*canshu[4]+d5Score*canshu[5];如果较大值为d3Score,单条路线总得分为:score=d3Score+angScore*canshu[0]+d1Score*canshu[1]+d2Score*canshu[2]+edgeAngelScore*canshu[4]+d5Score*canshu[5];其中,canshu[0],canshu[1],canshu[2],canshu[3],canshu[4],canshu[5]分别为angel>90且angel<=120时,angel、d1、d2、d3、edgeAngel和d5在总分中所占比重。
情况二:当angel>120且angel<=150时,求出夹角angel的得分angScore和d3得分d3Score中的较大值,如果较大值为angScore,单条路线总得分为:score=angScore+d1Score*canshu[7]+d2Score*canshu[8]+d3Score*canshu[9]+edgeAngelScore*canshu[10]+d5Score*canshu[11];如果较大值为d3Score,单条路线总得分为:score=d3Score+angScore*canshu[6]+d1Score*canshu[7]+d2Score*canshu[8]+edgeAngelScore*canshu[10]+d5Score*canshu[11];其中,canshu[6],canshu[7],canshu[8],canshu[9],canshu[10],canshu[11]分别为angel>120且angel<=150时,angel、d1、d2、d3、edgeAngel和d5在总分中所占比重。
情况三:当angel>150且angel<=180时,求出夹角angel的得分angScore和d3得分d3Score中的较大值,如果较大值为angScore,单条路线总得分为:score=angScore+d1Score*canshu[13]+d2Score*canshu[14]+d3Score*canshu[15]+edgeAngelScore*canshu[16]+d5Score*canshu[17];如果较大值为d3Score,单条路线总得分为:score=d3Score+angScore*canshu[12]+d1Score*canshu[13]+d2Score*canshu[14]+edgeAngelScore*canshu[16]+d5Score*canshu[17];其中,canshu[12],canshu[13],canshu[14],canshu[15],canshu[16],canshu[17]分别为angel>150且angel<=180时,angel、d1、d2、d3、edgeAngel和d5在总分中所占比重。
当d2<=260时,目标球到袋口的距离小于等于五颗球直径时,认为是袋口球,比较容易进球,此时的总分socre=(情况一或情况二或情况三计算出的总分score)-(100-(100/(ballradiu*2*5))*d2);(其中,ballradiu为球的半径)。
最后,如果score>100,则强制为score=100;如果score<0,则强制为score=0。
步骤S209,输出下球线路的线路标识和得分。
本步骤中,下球线路的线路标识可以包括目标球的编号和袋口的编号。可以将线路标识和得分通过显示屏输出。由此,在众多的击打线路中给予击打者参考。
图9为本发明实施例提供的一种下球线路推荐装置的结构框图,参照图9,本发明实施例提供一种下球线路推荐装置,包括:
计算模块901,用于计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分,所述得分用于表征所述下球线路的进球难易度;
输出模块902,用于输出所述多条下球线路各自的线路标识和所述得分,所述线路标识包括所述下球线路所属目标球的球标识和所述台球桌的袋口的袋口标识。
可见,通过计算多条下球线路各自的得分并输出,以便向参赛选手提供下球线路的进球难易度的客观参考,从而为参赛选手选择下球线路提供依据。此外,本实施例还便利了下球线路的选择。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (10)
1.一种下球线路推荐方法,其特征在于,包括:
计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分,所述得分用于表征所述下球线路的进球难易度;
输出所述多条下球线路各自的线路标识和所述得分,所述线路标识包括所述下球线路所属目标球的球标识和所述台球桌的袋口的袋口标识。
2.根据权利要求1所述的方法,其特征在于,所述计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分之前,还包括:
确定所述多条下球线路各自的所述线路标识。
3.根据权利要求2所述的方法,其特征在于,所述确定所述多条下球线路各自的所述线路标识包括:
对于所述至少一个目标球中的每个目标球和所述台面上的每个袋口,根据所述每个目标球、所述每个袋口、母球和所述台面上其他球各自在与所述台面平行的平面坐标系上的位置坐标信息,判断所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间是否有至少一个所述其他球阻挡;
当所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间没有所述至少一个其他球阻挡时,将所述每个目标球的所述球标识和所述每个袋口的所述袋口标识确定为所述多条下球线路中一条下球线路的所述线路标识。
4.根据权利要求3所述的方法,其特征在于,所述根据所述每个目标球、所述每个袋口、母球和所述台面上其他球各自在与所述台面平行的平面坐标系上的位置坐标信息,判断所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间是否有至少一个所述其他球阻挡包括:
根据所述每个目标球、所述每个袋口和所述母球各自在所述平面坐标系上的位置坐标信息,确定所述每个目标球与所述母球之间的进球通道和所述每个目标球与所述每个袋口之间的进球通道分别在所述平面坐标系上的位置坐标范围;
根据全部所述其他球各自在所述平面坐标系上的位置坐标信息,判断是否存在所述至少一个其他球在所述每个目标球与所述母球之间的进球通道内或在所述每个目标球与所述每个袋口之间的进球通道内,如果存在,则所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间有所述至少一个其他球阻挡;否则,所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间没有所述至少一个其他球阻挡。
5.根据权利要求4所述的方法,其特征在于,所述每个目标球与所述母球之间的进球通道包括第一坐标范围,所述第一坐标范围包括第一外接矩形或击打多边形在所述平面坐标系上的位置坐标范围,所述第一外接矩形为所述每个目标球和所述母球分别在所述平面坐标系的坐标平面上投影的圆形的外接矩形,所述击打多边形由所述每个目标球和所述母球分别在所述平面坐标系的坐标平面上投影的圆形的外接矩形、左切线矩形和右切线矩形构成;
所述每个目标球与所述每个袋口之间的进球通道在所述平面坐标系上的位置坐标范围包括第二坐标范围,所述第二坐标范围包括第二外接矩形在所述平面坐标系上的位置坐标范围,所述第二外接矩形以所述每个目标球和所述每个袋口分别在所述平面坐标系的坐标平面上投影的圆形的共切线的两对切点为顶点;
所述根据全部所述其他球各自在所述平面坐标系上的位置坐标信息,判断是否存在所述至少一个其他球在所述每个目标球与所述母球之间的进球通道内或在所述每个目标球与所述每个袋口之间的进球通道内包括:
根据全部所述其他球各自在所述平面坐标系上的位置坐标信息,判断全部所述其他球各自在所述平面坐标系上的位置坐标范围与所述第一坐标范围或所述第二坐标范围是否有交叠,如果有交叠,则所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间有所述至少一个其他球阻挡;如果没有交叠,则所述每个目标球与所述母球之间或所述每个目标球与所述每个袋口之间没有所述至少一个其他球阻挡。
6.根据权利要求1所述的方法,其特征在于,所述得分越低表明下球线路的进球难易度越容易,所述计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分包括:
计算所述多条下球线路中每条下球线路的多个得分因子;
计算所述多个得分因子的加权平均值,得到所述每条下球线路的得分。
7.根据权利要求6所述的方法,其特征在于,所述多个得分因子包括所述母球到所述每条下球线路中所述目标球和所述每条下球线路中所述目标球到所述袋口之间的第一夹角angel的得分angScore、所述母球到所述每条下球线路中所述目标球的距离d1的得分d1Score、所述每条下球线路中所述目标球到所述袋口的距离d2的得分d2Score和所述d1与所述d2之和d3的得分d3Score,所述计算所述多条下球线路中每条下球线路的多个得分因子包括:
根据所述母球和所述每条下球线路中所述目标球分别在与所述台面平行的平面坐标系上的球心位置坐标,计算所述d1;
根据所述每条下球线路中所述目标球和所述袋口分别在所述平面坐标系上的球心位置坐标,计算所述d2;
计算d1与d2之和,得到d3;
计算angel,其中,angel=(180*arccosX)/π,其中,X=(da*da+db*db-dc*dc)/(2*da*db),da为所述母球到所述每条下球线路中所述目标球的距离,db为所述每条下球线路中所述目标球到所述袋口的距离,dc为所述母球到所述袋口的距离;
判断是否angel>90且angel<=180,如果是,则angScore=100-(angel-90)*(100/90);否则angScore为100;
d1Score=(100/tablediag)*d1,其中,所述tablediag为所述台球桌的对角线长度;
d2Score=(100/tablediag)*d2;
d3Score=(100/tablediag)*d3。
8.根据权利要求7所述的方法,其特征在于,所述多个得分因子还包括所述每条下球线路中所述目标球到所述袋口的连线和所述第一库边之间的第二夹角edgeAngel的得分edgeAngelScore,所述第一库边为所述台球桌的全部库边中与所述每条下球线路中所述目标球距离最近的所述库边,所述计算所述多条下球线路中每条下球线路的多个得分因子还包括:
根据所述每条下球线路中所述目标球在所述平面坐标系上的目标球位置坐标和全部所述库边各自在所述平面坐标系上的线段位置坐标范围,确定所述第一库边;
根据所述目标球位置坐标和所述第一库边在所述平面坐标系上的线段位置坐标范围,计算所述每条下球线路中所述目标球到所述第一库边的距离d4;
根据所述d4和所述d2,计算所述edgeAngel,edgeAngel=(arcsin(d4/d2))/π*180;
判断第一条件是否成立,所述第一条件为edgeAngel<30且d2>ballradiu*2*3,其中,ballradiu为所述目标球的半径;
当所述第一条件成立时,所述edgeAngelScore,edgeAngelScore=100-(100/30)*edgeAngel;
当所述第一条件不成立时,所述edgeAngelScore为0。
9.根据权利要求7或8所述的方法,其特征在于,所述多个得分因子还包括所述母球到第二库边的最短距离d5的得分d5Score,所述第二库边为全部所述库边中与所述母球距离最近的所述库边,所述计算所述多条下球线路中每条下球线路的多个得分因子还包括:
根据所述母球在所述平面坐标系上的母球位置坐标和全部所述库边各自在所述平面坐标系上的线段位置坐标范围,确定所述第二库边;
根据所述母球位置坐标和所述第二库边在所述平面坐标系上的线段位置坐标范围,计算所述d5;
判断第一条件或第二条件是否成立,所述第一条件为d5<3且angel>135,所述第二条件为d5>52;
当所述第一条件或所述第二条件成立时,所述d5Score为0;
当所述第一条件和所述第二条件均不成立时,所述d5Score为100-(100/52)*d5。
10.一种下球线路推荐装置,其特征在于,包括:
计算模块,用于计算台球桌当前台面上至少一个目标球的多条下球线路各自的得分,所述得分用于表征所述下球线路的进球难易度;
输出模块,用于输出所述多条下球线路各自的线路标识和所述得分,所述线路标识包括所述下球线路所属目标球的球标识和所述台球桌的袋口的袋口标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610395941.9A CN106055518A (zh) | 2016-06-07 | 2016-06-07 | 一种下球线路推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610395941.9A CN106055518A (zh) | 2016-06-07 | 2016-06-07 | 一种下球线路推荐方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106055518A true CN106055518A (zh) | 2016-10-26 |
Family
ID=57171022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610395941.9A Pending CN106055518A (zh) | 2016-06-07 | 2016-06-07 | 一种下球线路推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106055518A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694466A (zh) * | 2018-05-18 | 2018-10-23 | 梁栋 | 击球路线的推荐方法及装置 |
CN108701364A (zh) * | 2017-08-15 | 2018-10-23 | 深圳英麦吉科技有限公司 | 台球位置确定方法、台球位置确定装置及电子设备 |
CN110314368A (zh) * | 2019-06-14 | 2019-10-11 | 梁栋 | 台球击球的辅助方法、装置、设备及可读介质 |
CN113827945A (zh) * | 2021-11-02 | 2021-12-24 | 深圳百广科科技有限公司 | 一种台球击球辅助方法 |
-
2016
- 2016-06-07 CN CN201610395941.9A patent/CN106055518A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108701364A (zh) * | 2017-08-15 | 2018-10-23 | 深圳英麦吉科技有限公司 | 台球位置确定方法、台球位置确定装置及电子设备 |
CN108701364B (zh) * | 2017-08-15 | 2021-09-07 | 深圳英麦吉科技有限公司 | 台球位置确定方法、台球位置确定装置及电子设备 |
CN108694466A (zh) * | 2018-05-18 | 2018-10-23 | 梁栋 | 击球路线的推荐方法及装置 |
WO2019219075A1 (zh) * | 2018-05-18 | 2019-11-21 | Liang Dong | 击球路线的推荐方法及装置 |
CN108694466B (zh) * | 2018-05-18 | 2021-12-07 | 梁栋 | 击球路线的推荐方法及装置 |
CN110314368A (zh) * | 2019-06-14 | 2019-10-11 | 梁栋 | 台球击球的辅助方法、装置、设备及可读介质 |
CN113827945A (zh) * | 2021-11-02 | 2021-12-24 | 深圳百广科科技有限公司 | 一种台球击球辅助方法 |
CN113827945B (zh) * | 2021-11-02 | 2024-04-12 | 南京源铭振跃科技有限公司 | 一种台球击球辅助方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106055518A (zh) | 一种下球线路推荐方法及装置 | |
WO2018035821A1 (zh) | 台球击球辅助方法、台球击球辅助系统及便携式电子设备 | |
EP3734551A1 (en) | Extraction program, extraction method, and information processing device | |
US7766771B2 (en) | Circonic game | |
US9884235B2 (en) | System and method for a multi-stations sport game | |
US9737784B1 (en) | Automated officiating and player development system for sports that utilize a netted court | |
KR101346345B1 (ko) | 당구 시뮬레이터 | |
BR102021010624A2 (pt) | Centro poliesportivo com sistema de refrigeração e aquecimento | |
KR101752310B1 (ko) | 혼합 현실공간을 활용한 골프 게임 시스템 | |
US20200330842A1 (en) | System for team ball game having interactive goal barriers | |
CN108096805A (zh) | 一种气排球比赛显示方法及气排球比赛系统 | |
WO2018035822A1 (zh) | 台球击球辅助方法、台球击球辅助系统及便携式电子设备 | |
CN110801607A (zh) | 一种智能乒乓球台系统及其得分判定方法 | |
KR101975512B1 (ko) | 당구게임 진행시스템 및 그 진행방법 | |
CN205549467U (zh) | 一种足球射门训练室 | |
CN212187708U (zh) | 一种智能乒乓球台系统 | |
KR102551388B1 (ko) | 시각 향상 이미지를 제공하는 가상 스포츠 장치 | |
KR102502774B1 (ko) | 가상 골프 시스템 | |
KR102637297B1 (ko) | 온라인 당구 게임 시스템 및 그 방법 | |
TWI822380B (zh) | 球體追蹤系統及方法 | |
CN117122932A (zh) | 一种多人组队的方法、装置、电子设备及存储介质 | |
JP7363402B2 (ja) | 画面生成プログラム、画面生成方法および情報処理装置 | |
TWI676496B (zh) | 地板滾球比賽專用顯示裝置 | |
KR102551386B1 (ko) | 시각 보호 이미지를 제공하는 가상 스포츠 장치 | |
KR102664960B1 (ko) | 골프 플레이 정보를 제공하는 가상 골프 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161026 |