1.本说明书中公开的实施例涉及一种虚拟
高尔夫模拟装置以及虚拟高尔夫模拟方法,更具体而言,涉及一种基于用于表示虚拟
高尔夫球道上的地形的坚硬程度的
硬度值而执行虚拟高尔夫模拟的装置和方法。
背景技术:
2.近年来,屏幕高尔夫(screen golf)球场的人气正在增加。随着在用户的生活圈内出现了与利用高尔夫球场相比价格便宜且可以不受场所、时间等限制地享受的屏幕高尔夫球场,并且任何人都可以轻松享受高尔夫模拟游戏(game)。
3.随着各种屏幕高尔夫企业的出现,享受屏幕高尔夫游戏的用户的期待值越来越高,用户希望在更有现实感的环境中享受一轮高尔夫。
4.另一方面,当在实际的高尔夫球场上打高尔夫球时,影响比赛结果的因素有很多。例如,虽然对玩家的高尔夫击球(shot)能力也有影响,但选手进行比赛的天气或地形等环境也会产生很大的影响。
5.然而,目前提出的屏幕高尔夫系统在通过反映地形状态来提供虚拟的高尔夫模拟方面上具有局限性。其结果,很难向用户提供具有现实感的高尔夫游戏。
6.与此相关,在作为现有技术文献的韩国授权专利第10-2009-0070857号中描述了屏幕高尔夫系统,但并没有提出也考虑到如上
所述的环境而提供具有现实感的高尔夫游戏的技术。
7.因此,需要一种解决上述问题的技术。
8.另一方面,上述背景技术是发明人为导出本发明而拥有或在本发明的导出过程中获得的技术信息,不能说一定是在本发明申请之前向一般公众公开的已知技术。
技术实现要素:
9.发明要解决的问题
10.根据本说明书中公开的实施例,其目的在于,提供一种虚拟高尔夫模拟装置以及虚拟高尔夫模拟方法。
11.此外,根据本说明书中公开的实施例,其目的在于,提出一种根据用于表示虚拟高尔夫球道(course)上的地形的坚硬程度的硬度值,能够模拟高尔夫球的移动轨迹的虚拟高尔夫模拟装置以及虚拟高尔夫模拟方法。
12.此外,根据本说明书中公开的实施例,其目的在于,提出一种能够以具有现实感的方式实现弹跳、滚动等的虚拟高尔夫模拟装置以及虚拟高尔夫模拟方法。
13.用于解决问题的手段
14.作为用于解决上述技术问题的技术手段,根据本说明书中公开的实施例,涉及一种基于用于表示虚拟高尔夫球道上的地形的坚硬程度的硬度值而执行虚拟高尔夫模拟的装置和方法。
15.发明效果
16.根据前述的用于解决技术问题的手段之一,可以提供一种虚拟高尔夫模拟装置以及虚拟高尔夫模拟方法。
17.根据前述的用于解决技术问题的手段之一,可以提供一种基于用于表示虚拟的高尔夫球道上的地形的坚硬程度的硬度值,能够模拟出高尔夫球的移动轨迹的虚拟高尔夫模拟装置和虚拟高尔夫模拟方法。
18.根据前述的用于解决技术问题的手段之一,可以提供一种能够以更具有现实感的方式实现弹跳、滚动等的虚拟高尔夫模拟装置以及虚拟高尔夫模拟方法。由此,能够实现与实际的高尔夫球道上的情况相同的击球距离,从而能够使用户在高尔夫游戏中的沉浸感最大化。
19.在所公开的实施例中可获得的效果不限于上面提及到的效果,还有其他未提及到的效果可以被从以下记载公开的实施例所属的技术领域的普通技术人员明确理解。
附图说明
20.图1是示出体现了根据本说明书中公开的一实施例的虚拟高尔夫模拟装置的屏幕高尔夫系统的图。
21.图2是示出根据本说明书中公开的一实施例的虚拟高尔夫模拟装置的构成的框图。
22.图3至图10是用于描述根据本说明书中公开的一实施例的虚拟高尔夫模拟装置的示意图。
23.图11是用于描述根据本说明书中公开的一实施例的虚拟高尔夫模拟方法的流程图。
24.图12是用于描述根据本说明书中公开的一实施例的虚拟高尔夫模拟方法的示意图。
25.具体优选实施方式
26.作为解决上述技术问题的技术手段,根据本说明书中记载的一实施例,一种用于模拟高尔夫球在虚拟高尔夫球道上移动的虚拟高尔夫模拟装置,可以包括:数据存储部,其存储用于表示所述虚拟高尔夫球道上的地形的坚硬程度的硬度值;以及影像处理部,基于与用户的高尔夫击球相关的击球数据和所述硬度值而模拟虚拟高尔夫球道上的高尔夫球的移动轨迹。
27.并且,作为解决上述技术问题的技术手段,根据本说明书中记载的一实施例,一种由虚拟高尔夫模拟装置模拟高尔夫球在虚拟高尔夫球道上移动的虚拟高尔夫模拟方法,可以包括:存储用于表示所述虚拟高尔夫球道上的地形的坚硬程度的硬度值的步骤;以及基于与用户的高尔夫击球相关的击球数据和所述硬度值而模拟虚拟高尔夫球道上的高尔夫球的移动轨迹的步骤。
具体实施方式
28.在下文中,将参照附图详细描述各种实施例。以下描述的实施例可以以各种不同的形式进行修改和实施。为了更清楚地描述实施例的特征,省略对以下实施例所属的本领
域普通技术人员公知的事项的详细描述。并且,在附图中,省略了与实施例的描述无关的部分,并且在整个说明书中对相似的部分分配了相似的附图标记。
29.在整个说明书中,当一个组件被称为与另一个组件“连接”时,它不仅包括“直接连接”的情况,还包括“其中间隔着另一个组件连接”的情况。并且,当某个组件“包括”某个组件时,除非另有说明,否则意味着可以进一步包括其他组件,而不是排除其他组件。
30.在下文中,将参照附图详细描述实施例。
31.图1是示出体现了根据本说明书中公开的一实施例的虚拟高尔夫模拟装置的屏幕高尔夫系统的图,图2是示出虚拟高尔夫模拟装置的构成的框图,图3至图10是用于描述根据本说明书中公开的一实施例的虚拟高尔夫模拟装置的示意图。
32.如图1所示,根据在本说明书中记载的一实施例的屏幕高尔夫系统100,其包括:击球区10,用户u可以在所述击球区10击打高尔夫球g;传感装置20,其用于检测用户u、高尔夫球g和高尔夫球杆的移动中的至少一个;影像输出装置40,其将规定影像输出到设置在正面的屏幕30上;以及虚拟高尔夫模拟装置200,其用于实现虚拟高尔夫模拟中所需的所有数据的存储和处理等。
33.根据在本说明书中记载的实施例的虚拟高尔夫模拟装置200被配置为:存储虚拟高尔夫模拟中所需的所有数据,并且对与虚拟高尔夫球道相关联的影像、高尔夫球的移动影像等所有虚拟高尔夫模拟相关影像进行处理。而且,由虚拟高尔夫模拟装置200处理后的影像显示在屏幕30上。
34.因此,当用户u在击球区10朝着屏幕30击打高尔夫球g时,传感装置20对其进行感测并将感测结果传输到虚拟高尔夫模拟装置200,并且虚拟高尔夫模拟装置200可以基于用户u、高尔夫球g以及高尔夫球杆的运动中的至少一个,模拟出虚拟高尔夫球道上的高尔夫球的虚拟移动轨迹。即,虚拟高尔夫模拟装置200考虑到高尔夫球的实际移动特性而配置虚拟高尔夫球道上的高尔夫球的移动影像等高尔夫模拟影像信息,并且将其通过由投影仪等所实现的影像输出装置40来投射到屏幕30,以便进行基于模拟的高尔夫比赛。
35.此外,虚拟高尔夫模拟装置200进行工作,以处理用于实现虚拟高尔夫模拟的所有复杂操作,例如,当获得操作指令时,为了实现虚拟高尔夫模拟,虚拟高尔夫模拟装置200可以让用户登录,或者可以操作模拟环境。因此,用户可以向虚拟高尔夫模拟装置200输入例如与硬度值等相关的环境数据的设定等。
36.另一方面,根据一实施例的传感装置20是,一种对击球区10中的用于放置高尔夫球g的一定区域、即用高尔夫球杆击球的区域(即、击打区域)进行监视的同时,获得高尔夫球g在所述击打区域被高尔夫球杆击打时的图像,并且从该图像中对用户u的运动、高尔夫球g的运动以及高尔夫球杆的运动中的至少一个进行感测的装置。
37.传感装置20可以被提供为诸如对击打区域进行拍摄的视觉传感器(vi sion sensor)的成像装置(imaging device)。与此相关,在图1中,传感装置20被示出为设置在屏幕高尔夫系统的墙面,除此以外,传感装置20也可以由设置在屏幕高尔夫系统的天花板上的传感器和设置在屏幕高尔夫系统的侧面墙上的传感器构成,或者设置在虚拟高尔夫模拟装置200上。例如,当传感装置20由两个视觉传感器构成时,所述两个视觉传感器可以在击打区域以重叠的方式进行监视,但这只是一个例,并不限定于此,也可以包括设置两个以上的视觉传感器的情况,并且将视觉传感器设置在天花板或墙面上的情况及设置在屏幕高尔
夫系统的柜(booth)内任何位置的情况都可以包括。
38.传感装置20根据检测到的用户、高尔夫球和高尔夫球杆中的至少一个运动而计算针对高尔夫球的移动的运动参数等感测信息,并将其传输到虚拟高尔夫模拟装置200,由此虚拟高尔夫模拟装置200可以从感测信息中计算出击球数据。
39.以上描述了根据在本说明书中记载的一实施例的虚拟高尔夫模拟装置200应用到屏幕高尔夫系统100的情况,但是,不一定局限于应用到屏幕高尔夫系统100的情况,也可以适用在对虚拟高尔夫球道进行模拟并做影像化,以及对虚拟球活动的影像进行模拟的所有形式的系统或装置。
40.另一方面,如图2所示,虚拟高尔夫模拟装置200可以包括控制部210、数据存储部220、影像输出部230和影像处理部240。
41.控制部210控制虚拟高尔夫模拟装置200的整体工作,并且可以包括诸如cpu等处理器。
42.例如,控制部210可以执行存储在数据存储部220中的程序,或者读取存储在数据存储部220中的文件,或者也可以将新的文件存储在数据存储部220中。
43.另一方面,数据存储部220可以设置并存储有各种类型的数据,例如文件、应用程序和程序等。例如,在数据存储部220可以设置有用于执行虚拟高尔夫模拟方法的程序,由此,控制部210可以通过执行存储在数据存储部220中的程序来执行虚拟高尔夫模拟方法。
44.数据存储部220可以存储虚拟高尔夫模拟的影像实现等所需的所有数据,例如,可以存储与通过影像化高尔夫球场来实现的虚拟高尔夫球道相关的数据等。
45.例如,数据存储部220可以存储用于表示虚拟高尔夫球道上的地形的坚硬程度的“硬度值”。此时,对于“硬度值”而言,其值可以随着坚硬程度的增加而增加,并且其值也可以随着坚硬程度的减少而降低。
46.为此,数据存储部220也可以被配置为,通过网络从服务器(未示出)接收与虚拟高尔夫球道相关的各种数据等,并将其临时存储。
47.并且,数据存储部220可以被配置为,从传感装置20接收与高尔夫球的移动相关的运动参数等感测信息,并将其临时存储。
48.另一方面,影像输出部230将被影像处理部240处理后的模拟影像通过影像输出装置40投射到屏幕30,以供用户观看影像。
49.此时,影像处理部240利用与存储于数据存储部220中的虚拟高尔夫球道相关的数据来执行信息处理,以实现有关虚拟高尔夫球道的影像,并且,可以对用户所击打的高尔夫球g在虚拟高尔夫球道上的移动轨迹进行模拟,并将其实现为影像。
50.根据一实施例,影像处理部240可以将基于环境数据的高尔夫球道的环境影像化并提供。
51.此时,“环境数据”是影响对在虚拟的高尔夫球道上的高尔夫球的移动进行模拟的结果的因素,但是,是指无法根据用户的高尔夫击球而算出的值。即,环境数据是表示用户执行高尔夫击球的虚拟高尔夫球道上的环境的值,例如,可以由虚拟的高尔夫球道上的地形数据和地形以外的数据构成。此时,“地形数据”可以包括用于表示地形的坚硬程度的硬度值、用于表示地形的坡度的坡度值以及根据地形的草等的状态而表示果岭速度的果岭速度值等,“地形以外的数据”例如可以包括季节、天气、温度、湿度、风速、风向等。
52.虚拟高尔夫模拟装置200可以设定各种各样的环境数据,以向用户支援各种各样的环境。
53.此时,环境数据可以是预设的,例如,硬度值可以是对每个地形预设的值。然而,环境数据可以从用户或管理者接收并设定,为此,影像处理部240还可以包括界面部(未示出)。
54.与此相关,如图3所示,界面部(未示出)可以向用户或管理者提供能够输入环境数据(所述环境数据例如为“果岭速度”、“失球数(concede)”、“果岭硬度”、“推杆格数”等)的界面(interface)300,并且可以根据由所述界面300输入的值而设定环境数据。
55.为此,例如,界面部(未示出)可以构成为只需点击几下即可设定“果岭速度”,由此,用户可以仅仅通过光标310或触摸等操作就可以快速、容易地设定“果岭速度”的程度,从而可以基于其进行高尔夫比赛。
56.同样,界面部(未示出)可以通过用于指示多个硬度值的界面来选择硬度值,例如,如果用户将针对“果岭硬度”默认设定的“一般”设定为“坚硬”,则影像处理部240可以处理为根据与“坚硬”对应的硬度值而变更弹跳距离、滚动距离。
57.同时,硬度值可以基于用户执行高尔夫击球的时间点上的天气、季节、温度、湿度和时间中的至少一个而改变。例如,冬季和夏季的硬度值可以设定成不同的值。
58.此外,硬度值可以根据用户执行高尔夫击球时的高尔夫球信息而改变。“高尔夫球信息”包括与制造商、品牌和该高尔夫球的规格相关的信息。因此,即使是在相同的地形上,也可以根据用户所使用的高尔夫球的品牌而设定不同的硬度值。例如,即使将有关坚硬的地形的硬度值设定为规定值,当感测到使用硬度或弹性较低的品牌的高尔夫球来进行高尔夫击球时,可以将硬度值调整为具有与一般的地形相似的硬度值。
59.根据另一实施例,影像处理部240可以运算出高尔夫球在虚拟高尔夫球道上的移动轨迹,此时,“移动轨迹”表示了:随着用户执行高尔夫击球,对高尔夫球在虚拟的高尔夫球道上的移动进行模拟的结果。移动轨迹可以被表示为高尔夫球在虚拟高尔夫球道上进行移动的情景,或者以将高尔夫球在虚拟高尔夫球道上进行移动的痕迹用线连接的方式表示,或者也可以由用于指示击打距离值的文字、图像、语音或影像表示。
60.这种影像处理部240可以包括飞行(carry)处理部241、弹跳(bounc e)处理部242以及滚动(rolling)处理部243。
61.即,击打距离由飞行距离、弹跳距离以及滚动距离构成。根据一实施例,高尔夫球在虚拟的高尔夫球道上漂浮在空中,直到第一次落地为止的动作称为“飞行”;高尔夫球从第一次落地之后,直到弹跳并移动为止的动作称为“弹跳”;高尔夫球弹跳之后在地面上滚动,直到最后停止为止的动作称为“滚动”。
62.因此,影像处理部240可以处理用户击打之后的高尔夫球的击球距离,为此,可以利用飞行处理部241、弹跳处理部242以及滚动处理部243各自的处理结果。
63.例如,影像处理部240可以基于分别在飞行处理部241、弹跳处理部242以及滚动处理部243中被处理的飞行距离、弹跳距离以及滚动距离,对高尔夫球在虚拟的高尔夫球道上移动的模样进行处理。
64.另一方面,飞行处理部241可以计算虚拟的高尔夫球道上的高尔夫球的飞行距离。
65.根据一实施例,飞行处理部241可以通过模拟多个因子来模拟出飞行距离。
66.此时,“因子”是影响对高尔夫球在虚拟高尔夫球道上的移动进行模拟的结果的因子,根据一实施例,可以由击球数据和环境数据构成。
67.飞行处理部241可以从感测信息中算出击球数据,作为击球数据可以包括球速、方向角、发射角、后旋球、侧旋球等。
68.飞行处理部241可以通过模拟击球数据来算出飞行距离,但是可以通过将虚拟的高尔夫球道上的环境数据也一起模拟来算出飞行距离。
69.因此,飞行处理部241可以对根据环境数据所形成的高尔夫球道上的环境进行影像化并提供,并且在对基于用户的高尔夫击球的飞行距离进行模拟时,可以对环境数据和击球数据一并进行模拟。此外,飞行处理部241可以对模拟后的飞行距离进行影像化,并将其通过影像输出部230投射到屏幕40。
70.另一方面,弹跳处理部242可以计算在虚拟的高尔夫球道上的高尔夫球弹跳距离。
71.即,弹跳处理部242可以计算出高尔夫球在虚拟的高尔夫球道上弹跳的同时进行移动的距离、即弹跳距离,并且可以对弹跳的模样进行影像化,并将其通过影像输出部230投影到屏幕40上。
72.根据一实施例,弹跳处理部242可以基于地形的硬度值和击球数据而模拟高尔夫球的移动轨迹。
73.例如,当根据击球数据而获得已移动的高尔夫球第一次与地面发生碰撞时的移动矢量时,弹跳处理部242可以利用所述移动矢量和硬度值来模拟高尔夫球的移动轨迹。
74.根据另一实施例,弹跳处理部242可以基于高尔夫球在飞行之后与地面发生碰撞时的地形硬度值和击球数据,模拟出高尔夫球的移动轨迹。
75.例如,当根据击球数据而获取已移动的球第一次与地面发生碰撞时的移动矢量时,弹跳处理部242可以利用与高尔夫球发生碰撞的地面的硬度值和所述移动矢量来模拟出高尔夫球的移动轨迹。
76.因此,例如,弹跳处理部242可以根据高尔夫球飞行之后高尔夫球在果岭边界内发生碰撞时的果岭的硬度值,计算出基于适用于所述球的击球数据的移动矢量,由此模拟出高尔夫球的移动轨迹。
77.另一方面,根据一实施例,弹跳处理部242可以对虚拟的高尔夫球道上的多个弹跳进行处理。
78.此时,“弹跳”是指,高尔夫球从与地面发生碰撞到弹起后再碰撞地面为止的情况。因此,例如,高尔夫球在虚拟的高尔夫球道上并不是只弹起一次,可能会弹跳多次,由此,弹跳处理部242可以处理多次弹跳。例如,弹跳处理部242可以计算出每次弹跳的弹跳距离,并且根据每次弹跳而处理高尔夫球的移动轨迹。
79.为此,弹跳处理部242可以计算出针对下一次弹跳的矢量值。
80.根据一实施例,弹跳处理部242可以基于硬度值校正超速(out speed)。
81.此时,“超速”是指当前弹跳中反弹的高尔夫球刚刚与地面发生碰撞之后的速度,例如,可以是高尔夫球在下一次弹跳时与地面发生碰撞时的速度。可以基于超速确定下一次弹跳中的矢量值。
82.例如,弹跳处理部242可以对在最后一次弹跳(高尔夫球即将滚动之前的弹跳)中的超速进行校正,并且,如果判断为硬度值从“一般”变更为“坚硬”,则将最后一次弹跳中的
超速、即x轴方向的矢量值和y轴方向的矢量值增加至1.1倍。如此一来,若将最后一次弹跳中的超速朝着增加方向校正,则可以在滚动处理部243中增加滚动速度,并由此可以增加滚动距离。
83.根据又一实施例,若弹跳处理部242基于弹力性值而确认到弹跳时的移动方向矢量的z轴值发生改变,则可以改变所述矢量的x轴值和y轴值。
84.例如,对于弹跳处理部242而言,若当前弹跳中的z轴值发生改变,则可以将x轴值和y轴值加倍,或者,若下一次弹跳中的z轴值发生改变,则可以增加用于针对下一次弹跳的移动矢量中的x轴值和y轴值。
85.与此相关,如图4的(a)部分所示,弹跳时的移动方向矢量410可以分别分解为x、y、z值,如果z轴值基于弹力性值而发生改变,则也可以一起增加x轴值和y轴值,由此如图4的(b)部分所示,可以增加移动方向矢量420。
86.另一方面,根据另一实施例,弹跳处理部242可以基于硬度值而调整夹持(clamp)范围,并且可以基于调整后的夹持范围而算出超速。
87.即,由于在计算超速时所采用的弹跳衰减率中设定有最大限制值和最小限制值,因此只有在最大限制值和最小限制值之间才能确定弹跳衰减率。例如,当判断为硬度值发生了改变时,弹跳处理部242可以通过改变最大限制值来增加在下一次弹跳中的高度和距离。此时,“弹跳衰减率”是指,与在当前弹跳中碰撞时的值和在下一次弹跳中弹出去时的值相关的比率。
88.与此相关,如图5所示,与在当前弹跳中碰撞时的值510和在下一次弹跳中弹飞时的值520相关的比率、即弹跳衰减率可以在最大限制值和最小限制值之间被设定,弹跳衰减率也可以通过增加最大限制值来形成为比调整夹持范围之前更大。
89.例如,弹跳处理部242可以将当前设定的值增加为在果岭地形中弹跳时最大可允许值、即最大限制值。例如,当作为最大限制值的当前设定值为0.75时,弹跳处理部242可以通过增加0.15来将最大限制值调整为0.9。由此,可以允许高尔夫球的弹跳高度形成为最大可弹跳的高度。
90.因此,例如,弹跳处理部242设定最小限制值和最大限制值,由此实现:高尔夫球在弹跳时能够以从最小限制值到最大限制值之间的高度弹出。因此,例如,对于弹跳处理部242而言,若在高尔夫球弹跳时高尔夫球的弹跳衰减率小于最小限制值,则可以将高尔夫球的弹跳衰减率设定为最小限制值,并且,若在高尔夫球弹跳时计算为高尔夫球的弹跳衰减率在最小限制值和最大限制值之间,则可以将该值设定为高尔夫球的弹跳衰减率,而且,若高尔夫球弹跳时高尔夫球的弹跳衰减率大于最大限制值,则可以将高尔夫球的弹跳衰减率设定为最大限制值。
91.这样的弹跳衰减率可能会影响速度阻尼值,稍后将详细描述与此相关的内容。
92.另一方面,根据另一实施例,弹跳处理部242可以基于硬度值而对下一次弹跳矢量的z轴值进行校正。
93.为此,弹跳处理部242可以对每次弹跳更新弹力性值。
94.此时,弹力性值是影响后述的速度阻尼值的因子,随着更新弹力性值,超速也会发生变化。即,当从当前弹跳转到下一次弹跳时,超速根据动量守恒定律只能会减小,例如,随着弹跳处理部242增加弹力性值,可以降低超速的减小程度。
95.当更新弹力性值时,例如,弹跳处理部242可以将第一次弹跳时、即第一次发生碰撞时的弹力性值加倍。例如,可以通过将设定为弹力性值的值乘以1.25倍来更新弹力性值。
96.此外,当更新弹力性值时,例如,弹跳处理部242可以针对每次弹跳将弹力性值加倍,例如,可以将设定为弹力性值的值乘以1.5倍来更新弹力性值。
97.通过以上,可以强化包括第一次弹跳在内的所有弹跳。
98.另一方面,弹跳处理部242可以调整弹性模量。
99.此时,弹性模量是影响后述的速度阻尼值的因子,超速随着更新弹性模量也发生变化。
100.例如,当高尔夫球与果岭发生碰撞时,相对于碰撞地形不是果岭时,弹跳处理部242可以减少弹性模量,并且弹跳处理部242可以改变弹性模量,例如0.7倍。由此,当与果岭发生碰撞时,弹跳处理部242可以减少弹性模量。
101.另一方面,弹跳处理部242可以基于弹跳衰减率、弹力性值、弹性模量中的至少一个而算出速度阻尼值。
102.即,弹跳处理部242可以基于硬度值而确定弹跳衰减率,然而可以根据后述的[数学公式3]并基于弹跳衰减率而算出速度阻尼值。并且,弹跳处理部242根据已被确定的速度阻尼值,例如根据[数学公式2]而调整超速,并且可以通过将根据超速算出的下一次弹跳矢量的z值校正来模拟出高尔夫球的移动轨迹。
[0103]
弹跳处理部242可以算出当前的移动方向标量值和超出方向标量值。
[0104]
即,弹跳处理部242可以通过发生碰撞的地形的法矢量与当前的移动方向矢量的标量积来获取当前的方向标量值。此时,当前的移动方向矢量是指高尔夫球在当前的弹跳中刚刚与地面发生碰撞之后的矢量。
[0105]
此外,弹跳处理部242可以通过碰撞的地形的法矢量与超出方向矢量的标量积来获取超出方向标量值。此时,超出方向是指,在当前的弹跳之后的下一次弹跳中,高尔夫球刚刚与地面发生碰撞之后的矢量。
[0106]
首先,弹跳处理部242可以根据[数学公式1]求出弹跳衰减率(r)。
[0107]
[数学公式1]
[0108]
r=b/a(但是,b/a大于1时,r=a/b)
[0109]
此时,a是与当前方向相对应的标量值(scalar value),b是与超出方向相对应的标量值。
[0110]
此外,可以基于硬度值而调整弹跳衰减率。此时,可以根据当前的高尔夫球的矢量长度是否超过预定值,重新计算出根据硬度值而调整的弹跳衰减率(r)。
[0111]
之后,弹跳处理部242可以根据[数学公式2]求出用于表示下一次弹跳的时间点上的前进速度的超速(out_speed)。
[0112]
[数学公式2]
[0113]
out_speed*=spd_damp
[0114]
此时,spd_damp是速度阻尼值,可以根据[数学公式3]求出。
[0115]
[数学公式3]
[0116]
spd_damp=r*(e*elascity_factor+1-elascity_factor)
[0117]
此时,r表示弹跳衰减率,e表示弹力性值,elascity_factor表示弹性模量。
[0118]
例如,如果根据上述的[数学公式3]而算出的速度阻尼值(spd_damp)是规定范围内的值,则该值直接被设定为速度阻尼值并使用在[数学公式2]中,并且,如果是规定范围以下的值,则设定为规定范围内的最小值,如果是超出规定范围的值,则设定为规定范围的最大值并使用在[数学公式2]中。
[0119]
因此,如[数学公式2]中所示,可以通过超速(out_speed)乘以速度阻尼值(spd_damp)来调整超速(out_speed)。
[0120]
根据如此算出的超速,弹跳处理部242可以计算出下一次弹跳中的矢量值,并且可以计算出在所述矢量值中的z方向上的值。由此,可以增加z方向上的值。
[0121]
根据硬度值,弹跳处理部242可以对下一次弹跳中的矢量值中z方向上的值进行校正,据此,能够模拟出具有现实感的高尔夫球的移动轨迹。
[0122]
即,如图6所示,弹跳处理部242根据计算出的超速而计算出如图6的(a)部分所示的下一次弹跳中的矢量610,并由此计算出z方向上的值620;弹跳处理部242根据使所算出的z方向上的值620增加的z方向上的值621而计算出如图6的(b)部分所示的矢量611,由此可以实现与实际的高尔夫球道上的弹跳类似的弹跳。
[0123]
另一方面,滚动处理部243可以计算出虚拟的高尔夫球道上的滚动距离。
[0124]
根据一实施例,滚动处理部243可以计算出在最后一次弹跳之后高尔夫球在虚拟的高尔夫球道上滚动的距离、即滚动距离,并且也对高尔夫球在地面上滚动的模样进行影像化,并将其通过影像输出部230投影到屏幕40上。
[0125]
滚动处理部243可以基于由弹跳处理部242所算出的超速而计算出滚动距离。
[0126]
因此,当基于硬度值并通过弹跳处理部242调整并算出超速时,滚动处理部243可以根据调整后的超速而改变滚动距离。
[0127]
例如,滚动处理部243根据超速而确定球的移动速度,并且可以同时考虑到地形的坡度、果岭速度等而确定滚动距离。由此,例如在地形的硬度坚硬的情况下,可以增加滚动距离。
[0128]
如上所述,计算基于飞行、弹跳以及滚动的高尔夫球的击球距离,并且对其进行影像化并通过影像输出部230投影到屏幕40上,从而影像处理部240可以根据用户的高尔夫击球而模拟出在虚拟的高尔夫球道上高尔夫球的移动并提供。
[0129]
与此相关,图7至图10是用于描述虚拟高尔夫模拟装置的图,并且是示出在屏幕上显示了虚拟高尔夫模拟影像的模样的图。
[0130]
如图7所示,在用户执行高尔夫击球的位置上观察目标地点时的模拟影像可以显示在屏幕30上。
[0131]
此外,随着用户击打高尔夫球,虚拟高尔夫模拟装置100可以基于击球数据和硬度值而模拟出高尔夫球在虚拟的高尔夫球道上的移动轨迹。
[0132]
在图8中,当果岭(green)的硬度为“一般”时,通过屏幕30显示出高尔夫球800最终着落的模样,基于此的击球距离810也可以提供给用户。
[0133]
另一方面,图9中示出了在果岭的硬度为“坚硬”时高尔夫球进行移动的模样,图10中示出了通过屏幕30表示高尔夫球最终着落的模样。如图7所示,可以看出,即使在相同的起点上基于相同的击球数据(球速、杆头速度、后旋球等)而进行模拟,当与图8中的高尔夫球800的位置和击球距离810相比时,若果岭的硬度变得不同,则高尔夫球1000着落的位置
也变得不同,并且基于其的击球距离1010也变得不同。
[0134]
另一方面,图11是用于描述根据一实施例的虚拟高尔夫模拟方法的流程图。图11所示的虚拟高尔夫模拟方法,包括在由通过图1至图10描述了的虚拟高尔夫模拟装置100中按时间顺序进行处理的步骤。因此,即使是在下文中被省略的内容,以上关于在图1至图10中示出的虚拟高尔夫模拟装置100所述的内容也可以用于根据图11至图12所示的实施例的虚拟高尔夫模拟方法。
[0135]
虚拟高尔夫模拟装置100可以存储硬度值(步骤s1110)。
[0136]
此时,虚拟高尔夫模拟装置100可以通过用于指示多个硬度值的界面来选择硬度值,并且可以设定被选择的硬度值。
[0137]
此外,若感测到用户击打高尔夫球(步骤s1120),则虚拟高尔夫模拟装置100可以获取高尔夫球发生碰撞时的硬度值(步骤s1130)。
[0138]
即,虚拟高尔夫模拟装置100可以获取高尔夫球的飞行之后与地面发生第一次碰撞时的地形的硬度值。
[0139]
此时,例如,虚拟高尔夫模拟装置100可以基于高尔夫球信息而调整硬度值,或者,例如可以基于用户执行高尔夫击球的时间点上的天气、季节、温度、湿度、时间中的至少一个而调整硬度值。
[0140]
此外,虚拟高尔夫模拟装置100可以基于硬度值和击球数据而模拟出高尔夫球的移动轨迹(步骤s1140)。
[0141]
根据一实施例,虚拟高尔夫模拟装置100可以基于硬度值而对在所述高尔夫球的最后一次弹跳中的超速进行校正,并基于已被校正的超速而计算出滚动距离。
[0142]
根据另一实施例,若弹跳矢量的z方向上的值因弹力性值而发生改变,则虚拟高尔夫模拟装置100可以改变所述弹跳矢量的x方向上的值和y方向上的值。
[0143]
根据另一实施例,虚拟高尔夫模拟装置100可以基于硬度值而调整弹跳衰减率的夹持范围,并且基于调整后的夹持范围内的弹跳衰减率而计算出超速,由此模拟出高尔夫球的移动轨迹。
[0144]
根据另一实施例,虚拟高尔夫模拟装置100可以基于硬度值而校正针对下一次弹跳的矢量中的z方向上的值,由此模拟出高尔夫球的移动轨迹。
[0145]
根据另一实施例,虚拟高尔夫模拟装置100可以基于硬度值而确定弹跳衰减率,并且基于所述弹跳衰减率而计算出速度阻尼值并应用于下一次弹跳中的超速中,而且基于所述超速而计算出下一次弹跳中的矢量并校正所述矢量中的z方向上的值,由此模拟出所述高尔夫球的移动轨迹。
[0146]
根据另一实施例,虚拟高尔夫模拟装置100可以基于硬度值而校正下一次弹跳中的高度和距离,由此模拟出高尔夫球的移动轨迹。
[0147]
随着地形的硬度变得坚硬,地形的弹性力将会增加,据此,高尔夫球的弹跳力增加,由此高尔夫球弹跳的高度上升,据此,与地面发生碰撞时的角度只能增加。随着碰撞角度增大,超速减小,因此,x轴或y轴上的力减少,由此最后一次弹跳中的x轴或y轴上的力将会降低,从而存在滚动距离也会减小的问题。
[0148]
与此相关,图12的(a)部分至(c)部分中分别示出了根据高尔夫球被击打并与地面发生第一次碰撞之后弹跳的模样,在图12的(a)部分中示出了果岭硬度为“一般”时高尔夫
球弹跳的高度和距离,而在图12的(b)部分和(c)部分中示出了果岭硬度为“坚硬”时高尔夫球弹跳的高度和距离。
[0149]
如图12的(a)部分所示,果岭的硬度为“一般”时,高尔夫球可以沿着箭头方向弹跳的同时移动与弹跳距离1210相应的距离。
[0150]
另一方面,即使果岭的硬度为“坚硬”,当未增加超速时,高尔夫球弹跳并移动与如图12的(b)部分所示的弹跳距离1220相应的距离,但是,根据在增加超速的同时使高尔夫球发生弹跳的本说明书中公开的虚拟高尔夫模拟方法,如图12的(c)部分所示,高尔夫球移动到比弹跳距离1220更远的位置,由此移动与弹跳距离1230相应的距离,并且在最后一次弹跳中的超速也比在图12的(b)部分中的情况更大,因此滚动距离也可以更长。
[0151]
当实际击打高尔夫球时,若果岭的硬度坚硬,则随着弹跳高度增加,弹跳距离或滚动距离也增加是很自然的情况,若根据如上所述那样模拟出高尔夫球的移动轨迹,则能够解决随着碰撞角度增加而滚动距离减少的问题。由此,能够提供一种更具有现实感的虚拟高尔夫模拟影像。
[0152]
如上所述的虚拟高尔夫模拟方法可以由存储有计算机可执行的指令和数据的、计算机可读介质的形式实现。此时,指令和数据可以以程序代码的形式存储,当由处理器执行时,可以创建规定的程序模块而执行规定工作。并且,计算机可读介质可以是计算机可以访问的任何可用介质,并且包括所有的易失性和非易失性、可移动和不可移动的介质。并且,计算机可读介质可以是计算机记录介质,计算机记录介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机记录介质可以是诸如机械硬盘(hdd,hard disk drive)和固态硬盘(ss d,solid state disk)的磁存储介质,诸如cd、dvd和蓝光盘的光记录介质,或者包括在可通过网络访问的服务器中的存储器。
[0153]
如上所述的虚拟高尔夫模拟方法可以由包含计算机可执行的指令的计算机程序(或计算机程序产品)实现。计算机程序包括由处理器处理的可编程机器指令,可以由高级程序设计语言(high-level programming langu age)、面向对象的程序设计语言(object-oriented programming language)、汇编语言或机器语言实现。并且,计算机程序可以记录在有形的计算机可读记录介质(例如,存储器、硬盘、磁/光介质或固态驱动器(ssd,solid-state drive))中。
[0154]
如上所述的虚拟高尔夫模拟方法可以通过计算装置(computing device)执行如上所述的计算机程序来实现。计算装置可以包括处理器、存储器、存储装置、连接到存储器和高速扩展端口的高速接口以及连接到低俗总线和存储装置的低速接口中的至少一部分。这些组件中的每一个都使用各种总线相互连接,并且可以装载在公共主板上或以任何其他合适的方式设置。
[0155]
这里,处理器可以在计算装置内处理命令,例如,这样的指令可以包括外部输入(例如,连接到高速接口的显示器)以及用于在输出装置上提供图形用户界面(gui,graphic user interface)的存储在内存或存储器中以显示图形信息的指令。作为另一实施例,多个处理器和/或多个总线可以适当的与多个存储器和存储器形式一起使用。并且,处理器可以被实现为由包括多个独立的模拟和/或数字处理器的芯片组成的芯片组。
[0156]
并且,存储器在计算装置中用于存储信息。作为一例,存储器可以由易失性存储单
元或其集合组成。作为另一例,存储器可以由非易失性存储单元或其集合组成。并且,存储器也可以是另一种形式的计算机可读介质,例如磁盘或光盘。
[0157]
并且,存储装置可以为计算装置提供大量的存储空间。存储装置可以是计算机可读介质或包括这种介质的结构,例如,还可能包括存储区域网络(san,storage area network)内的装置或其他组件,可以是软盘装置、硬盘装置、光盘装置或磁带装置、闪存或其他半导体存储装置或装置阵列等。
[0158]
上述实施例中使用的术语“~部”是指软件或硬件(例如,现场可编程门阵列(fpga,field programmable gate array)或专用集成电路(as ic,application specific integrated circuit)组件,并且“~部”执行特定的作用。然而,“~部”不限于软件或硬件。“~部”可以被配置为在可寻址存储介质中并且可以被配置为再现一个或多个处理器。因此,作为一例,“~部”包括组件(例如,软件组件、面向对象的软件组件、类组件和任务组件等)、进程、函数、属性、过程、子例程、程序专利代码段、驱动程序、固件、微代码、电路、数据、数据库、数据结构、表、数组以及变量。
[0159]
组件和“~部”的内部提供的功能可以组合成更少数量的组件和“~部”,或者从附加组件和“~部”分离。
[0160]
此外,组件和“~部”可被实现为在设备或安全多媒体卡中播放一个或多个cpu。上述实施例仅用于例示,在不改变上述实施例的技术思想或必要特征的情况下,上述实施例所属领域的技术人员可以理解可以轻易地变换成其他具体形式。因此,应当理解,上述实施例在所有方面都是示例性的而不是限制性的。例如,描述为单一类型的各个组件可以以分散型的方式实现,类似地,描述为分散型的组件可以以组合的方式实现。
[0161]
通过本说明书想要得到保护的范围由所附的权利要求书而不是上面的详细描述来表示,并且应被解释为包括从权利要求书及其等同概念的含义和范围导出的所有变化或修改形式。
技术特征:
1.一种虚拟高尔夫模拟装置,其为用于模拟高尔夫球在虚拟高尔夫球道上移动的虚拟高尔夫模拟装置,其中,包括:数据存储部,存储用于表示所述虚拟高尔夫球道上的地形的坚硬程度的硬度值;以及影像处理部,基于与用户的高尔夫击球相关的击球数据和所述硬度值而模拟虚拟高尔夫球道上的所述高尔夫球的移动轨迹。2.根据权利要求1所述的虚拟高尔夫模拟装置,其中,所述影像处理部基于所述高尔夫球飞行之后碰撞时的地形的硬度值和所述击球数据而模拟所述高尔夫球的移动轨迹。3.根据权利要求1所述的虚拟高尔夫模拟装置,其中,若通过用于显示多个硬度值的界面来选择硬度值,则所述影像处理部基于被选择的硬度值和所述击球数据而模拟所述高尔夫球的移动轨迹。4.根据权利要求1所述的虚拟高尔夫模拟装置,其中,所述影像处理部基于所述硬度值而校正所述高尔夫球的最后一次弹跳中的超速,并且基于校正后的超速而算出滚动距离,以模拟所述高尔夫球的移动轨迹。5.根据权利要求1所述的虚拟高尔夫模拟装置,其中,若基于所述硬度值而改变弹跳矢量的z方向上的值,则所述影像处理部通过改变所述弹跳矢量的x方向上的值和y方向上的值来模拟所述高尔夫球的移动轨迹。6.根据权利要求1所述的虚拟高尔夫模拟装置,其中,所述影像处理部基于所述硬度值而调整夹持范围,并且基于调整后的夹持范围而算出超速,以模拟所述高尔夫球的移动轨迹。7.根据权利要求1所述的虚拟高尔夫模拟装置,其中,所述影像处理部基于所述硬度值而校正用于下一次弹跳的矢量的z方向上的值,以模拟所述高尔夫球的移动轨迹。8.根据权利要求1所述的虚拟高尔夫模拟装置,其中,所述影像处理部基于所述硬度值而确定弹跳衰减率,并且基于所述弹跳衰减率而计算速度阻尼值并将所述速度阻尼值应用到下一次弹跳的超速中,而且基于所述超速而计算用于下一次弹跳的矢量并校正所述矢量的z方向上的值,以模拟所述高尔夫球的移动轨迹。9.根据权利要求1所述的虚拟高尔夫模拟装置,其中,所述影像处理部基于所述硬度值而校正下一次弹跳中的高度和距离,以模拟所述高尔夫球的移动轨迹。10.根据权利要求1所述的虚拟高尔夫模拟装置,其中,所述影像处理部基于所述高尔夫击球中的高尔夫球信息、所述击球数据以及所述硬度值而模拟所述高尔夫球的移动轨迹。11.根据权利要求1所述的虚拟高尔夫模拟装置,其中,所述影像处理部基于实现所述用户的高尔夫击球的时间点上的天气、季节、温度、湿度、时间中的至少一个以及所述击球数据和所述硬度值而模拟所述高尔夫球的移动轨迹。12.一种虚拟高尔夫模拟方法,其为虚拟高尔夫模拟装置模拟高尔夫球在虚拟高尔夫球道上移动的虚拟高尔夫模拟方法,其中,包括:存储用于表示所述虚拟高尔夫球道上的地形的坚硬程度的硬度值的步骤;以及
基于与用户的高尔夫击球相关的击球数据和所述硬度值而模拟虚拟高尔夫球道上的所述高尔夫球的移动轨迹的步骤。13.根据权利要求12所述的虚拟高尔夫模拟方法,其中,模拟所述高尔夫球的移动轨迹的步骤包括:基于所述高尔夫球飞行之后碰撞时的地形的硬度值和所述击球数据而模拟所述高尔夫球的移动轨迹的步骤。14.根据权利要求12所述的虚拟高尔夫模拟方法,其中,模拟所述高尔夫球的移动轨迹的步骤包括:基于所述硬度值而调整夹持范围的步骤;以及基于调整后的夹持范围而算出超速,以模拟所述高尔夫球的移动轨迹的步骤。15.根据权利要求12所述的虚拟高尔夫模拟方法,其中,模拟所述高尔夫球的移动轨迹的步骤包括:基于所述硬度值而校正用于下一次弹跳的矢量的z方向上的值,以模拟所述高尔夫球的移动轨迹的步骤。16.根据权利要求12所述的虚拟高尔夫模拟方法,其中,模拟所述高尔夫球的移动轨迹的步骤包括:基于所述硬度值而确定弹跳衰减率的步骤;基于所述弹跳衰减率而计算速度阻尼值,并将所述速度阻尼值应用到下一次弹跳的超速中的步骤;基于所述超速而计算用于下一次弹跳的矢量的步骤;以及校正所述矢量的z方向上的值,以模拟所述高尔夫球的移动轨迹的步骤。17.根据权利要求12所述的虚拟高尔夫模拟方法,其中,模拟所述高尔夫球的移动轨迹的步骤包括:基于所述硬度值而校正下一次弹跳中的高度和距离,以模拟所述高尔夫球的移动轨迹的步骤。
技术总结
本发明提供一种虚拟高尔夫模拟装置以及虚拟高尔夫模拟方法,根据一实施例的种虚拟高尔夫模拟装置,包括:数据存储部,其存储用于表示虚拟高尔夫球道上的地形的坚硬程度的硬度值;以及影像处理部,其基于与用户的高尔夫击球相关的击球数据和所述硬度值而模拟在虚拟高尔夫球道上的高尔夫球的移动轨迹。高尔夫球道上的高尔夫球的移动轨迹。高尔夫球道上的高尔夫球的移动轨迹。
技术研发人员:
李京踊 宋奉浩 崔珍炯
受保护的技术使用者:
高尔纵株式会社
技术研发日:
2021.08.17
技术公布日:
2023/3/28