JP2001297337A - Amusement device and image processing method - Google Patents

Amusement device and image processing method

Info

Publication number
JP2001297337A
JP2001297337A JP2000111316A JP2000111316A JP2001297337A JP 2001297337 A JP2001297337 A JP 2001297337A JP 2000111316 A JP2000111316 A JP 2000111316A JP 2000111316 A JP2000111316 A JP 2000111316A JP 2001297337 A JP2001297337 A JP 2001297337A
Authority
JP
Japan
Prior art keywords
coeff
spline
double
splinebase
image processing
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.)
Withdrawn
Application number
JP2000111316A
Other languages
Japanese (ja)
Other versions
JP2001297337A5 (en
Inventor
Kashiyo Hayashida
嘉将 林田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sega Corp filed Critical Sega Corp
Priority to JP2000111316A priority Critical patent/JP2001297337A/en
Publication of JP2001297337A publication Critical patent/JP2001297337A/en
Publication of JP2001297337A5 publication Critical patent/JP2001297337A5/ja
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce calculation costs concerning a high-order spline. SOLUTION: When a spline curve is defined with two points P1 and P2 and fine coefficients DP1 and DP2 at these two points on a locus f(t), it is applied by an equality (1). A simple tertiary equality as shown in an equality (2) is previously generated from the algebra calculation of the equality (1) and the locus is found by this tertiary equality. By simplifying an operation expression, the calculation costs are remarkably reduced.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は遊戯装置および画像
処理方法に関する。
The present invention relates to a game machine and an image processing method.

【0002】[0002]

【従来の技術】遊戯装置において、キャラクタその他の
オブジェクトの動きをあらかじめ設定しておく場合、3
次元空間における位置と姿勢(角度)の動きを高次スプ
ライン、例えば3次スプラインの組合せによって定義す
ることがある。
2. Description of the Related Art In a game machine, when the movement of a character or other object is set in advance, 3
The movement of the position and posture (angle) in the dimensional space may be defined by a combination of a higher-order spline, for example, a cubic spline.

【0003】3次スプラインは時間を変数とする3次多
項式によって与えられ、従来その計算コストは大であっ
た。
A cubic spline is given by a cubic polynomial using time as a variable, and its computational cost has conventionally been high.

【0004】[0004]

【発明が解決しようとする課題】本発明はこのような従
来の問題点を解消すべく創案されたもので、高次スプラ
インに関する計算コストを節減し得る遊戯装置および画
像処理方法を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in order to solve such a conventional problem, and an object of the present invention is to provide an amusement apparatus and an image processing method capable of reducing a calculation cost relating to a higher-order spline. Aim.

【0005】[0005]

【課題を解決するための手段】本発明は、仮想3次元空
間内のオブジェクトの動きを高次スプライン曲線の組み
合わせによって定義する遊戯装置および画像処理方法に
おいて、3次元空間における位置と姿勢(角度)の動き
を表すスプライン曲線について、時間の各次数の係数を
1つにまとめて単純化した計算式を求め、この計算式に
より軌跡を算出する。これによって計算コストを節減し
得る。そして、高次スプラインは例えば3次スプライン
である。
SUMMARY OF THE INVENTION The present invention relates to a game apparatus and an image processing method for defining the movement of an object in a virtual three-dimensional space by a combination of higher-order spline curves. For the spline curve representing the motion of (1), a simplified formula is obtained by combining the coefficients of the respective degrees of time into one, and the locus is calculated using this formula. This can save computational costs. The higher-order spline is, for example, a cubic spline.

【0006】さらに本発明は、上記画像処理方法をコン
ピュータに実行させるプログラムが格納されたことを特
徴とする機械読み取り可能な記録媒体である。ここで
「記録媒体」とは、何等かの物理的手段により情報(主
にデジタルデータ、プログラム)が記録されているもの
であって、コンピュータ、専用プロセッサ等の処理装置
に所定の機能を行わせることができるものである。要す
るに、何等かの手段でもってコンピュータにプログラム
をダウンロードし、所定の機能を実行させるものであれ
ばよい。例えば、フレキシブルディスク、固定ディス
ク、磁気テープ、光磁気ディスク、CD、CD−RO
M、CD−R、DVD−RAM,DVD−ROM、DV
D−R、PD、MD,DCC、ROMカートリッジ、バ
ッテリバックアップ付きのRAMメモリカートリッジ、
フラッシュメモリカートリッジ、不揮発性RAMカート
リッジ等を含む。有線または無線の通信回線(公衆回
線、データ専用線、衛星回線等)を介してホストコンピ
ュータからデータの転送を受ける場合を含むものとす
る。いわゆるインターネットもここにいう記録媒体に含
まれるものである。
Further, the present invention is a machine-readable recording medium storing a program for causing a computer to execute the image processing method. Here, the “recording medium” is a medium in which information (mainly digital data and programs) is recorded by some physical means, and causes a processing device such as a computer or a dedicated processor to perform a predetermined function. Is what you can do. In short, any method may be used as long as the program is downloaded to the computer by some means and a predetermined function is executed. For example, flexible disk, fixed disk, magnetic tape, magneto-optical disk, CD, CD-RO
M, CD-R, DVD-RAM, DVD-ROM, DV
DR, PD, MD, DCC, ROM cartridge, RAM memory cartridge with battery backup,
Includes flash memory cartridges, nonvolatile RAM cartridges, and the like. This includes the case where data is transferred from a host computer via a wired or wireless communication line (public line, data line, satellite line, etc.). The so-called Internet is also included in the recording medium mentioned here.

【0007】[0007]

【発明の実施の形態】次に、本発明の好適な実施の形態
を、図面を参照して説明する。
Next, a preferred embodiment of the present invention will be described with reference to the drawings.

【0008】図1は、本実施形態における遊戯装置のブ
ロック図を示す。遊戯装置100は、ゲームプログラム
やデータ(映像・音楽データも含む)が格納されたプロ
グラムデータ記憶装置または記憶媒体(光ディスクおよ
び光ディスクドライブ等も含む)101と、ゲームプロ
グラムの実行や全体システムの制御および画像表示のた
めの座標計算等を行うCPU102と、CPU102が
処理を行うのに必要なプログラムやデータが格納される
システムメモリ103と、遊戯装置100を起動すると
きに必要なプログラムやデータが格納されているBOO
TROM104と、遊戯装置100の各ブロックや外部
に接続される機器とのプログラムやデータの流れを制御
するバスアービタ105とを備え、これらはバス(図示
せず。)に接続されている。
FIG. 1 is a block diagram of a game machine according to the present embodiment. The game device 100 includes a program data storage device or a storage medium (including an optical disk and an optical disk drive) 101 storing a game program and data (including video and music data), a game program execution and control of the entire system. The CPU 102 performs coordinate calculation for image display and the like, a system memory 103 in which programs and data necessary for the CPU 102 to perform processing are stored, and programs and data necessary when the game apparatus 100 is started are stored. BOO
A TROM 104 and a bus arbiter 105 for controlling the flow of programs and data between each block of the game apparatus 100 and devices connected to the outside are provided, and these are connected to a bus (not shown).

【0009】バスにはレンダリングプロセッサ106が
接続され、プログラムデータ記憶装置または記憶媒体1
01から読み出した映像(ムービ)データや、遊戯者の
操作やゲーム進行に応じたて生成すべき画像は、レンダ
リングプロセッサ106によってディスプレィモニタ1
10に表示される。レンダリングプロセッサ106が画
像生成を行うのに必要なグラフィックデータ等はグラフ
ィックメモリ107に格納されている。
A rendering processor 106 is connected to the bus, and the program data storage device or storage medium 1
The video (movie) data read out of the display monitor 01 and the image to be generated according to the operation of the player or the progress of the game are displayed by the rendering processor 106 on the display monitor 1.
10 is displayed. Graphic data and the like necessary for the rendering processor 106 to generate an image are stored in the graphic memory 107.

【0010】バスにはサウンドプロセッサ108が接続
され、プログラムデータ記憶装置または記憶媒体101
から読み出した音楽データや、遊戯者の操作やゲーム進
行に応じて生成すべき効果音や音声は、サウンドプロセ
ッサ108によってスピーカ111から出力される。サ
ウンドプロセッサ108が効果音や音声を生成するため
に必要なサウンドデータ等はサウンドメモリ109に格
納される。
A sound processor 108 is connected to the bus, and a program data storage device or a storage medium 101 is connected to the bus.
The music data read out from the CPU and sound effects and sounds to be generated in accordance with the operation of the player and the progress of the game are output from the speaker 111 by the sound processor. Sound data and the like necessary for the sound processor 108 to generate sound effects and sounds are stored in the sound memory 109.

【0011】遊戯装置100には通信インターフェース
112が接続され、通信ネットワーク(図示せず。)を
通じて、他の遊戯装置100やネットワークサーバや家
庭用ゲーム機やパーソナルコンピュータ等と通信を行
い、得点と、コントローラの操作情報と、遊戯者の操作
するキャラクターや他のキャラクターの種類、名前、位
置、向き、生命力、特殊能力使用可能回数と、ゲーム実
行時間と、実行中ステージ数と、クリアしたステージ数
と、課金情報と、コンティニュー回数と、遊戯者の名
前、年齢、性別と、遊戯装置に付けられた識別コード
と、ゲームのプログラム、データと、画像と、動画と、
音声と、音楽と、文字と、等を送受信することができ
る。そして他の遊戯装置100、さらには他のアミュー
ズメントセンターやアミューズメントテーマパークなど
に設置された遊戯装置100との通信対戦を行ったり、
ネットワークサーバあるいはさらにサーバーに接続され
たコンピュータによって、遊戯装置の稼動状況を調査し
たり、課金計算などを行ったり、家庭用ゲーム機やパー
ソナルコンピュータに、遊戯装置100のゲーム中の画
像を中継すること、などができる。
A communication interface 112 is connected to the game apparatus 100, and communicates with another game apparatus 100, a network server, a home game machine, a personal computer, and the like through a communication network (not shown). The operation information of the controller, the type, name, position, orientation, vitality, number of times the special abilities can be used by the player and other characters operated by the player, the game execution time, the number of running stages, the number of cleared stages, etc. , Billing information, the number of continuations, the player's name, age, and gender, an identification code attached to the play device, game programs, data, images, videos,
Voice, music, text, and the like can be transmitted and received. Then, the player plays a communication match with another game device 100, and a game device 100 installed in another amusement center, an amusement theme park, or the like,
Investigate the operation status of the amusement device, perform billing calculation, and the like, and relay the game image of the amusement device 100 to a home game machine or a personal computer using a network server or a computer connected to the server. , And so on.

【0012】図2は一実施形態のオブジェクトのモデル
を示す斜視図、図3は図2のオブジェクトの重心の軌跡
を示すグラフ、図4は図3のグラフにけるスプラインの
算出方法を示す拡大図である。
FIG. 2 is a perspective view showing a model of an object according to an embodiment, FIG. 3 is a graph showing the locus of the center of gravity of the object in FIG. 2, and FIG. 4 is an enlarged view showing a method of calculating splines in the graph of FIG. It is.

【0013】遊戯装置の画面に表示されるオブジェクト
は例えば図2に示すようなモデル(図2は人間の形)を
作成し、その動きは、各パーツの動きとして定義され
る。この軌跡は、図3のように、3次元空間における位
置(x,y,z)および姿勢(角度)(ξ,η,ζ)の
時間的変化として、3次スプライン曲線等の高次スプラ
イン曲線の組合せによって表現される。
The objects displayed on the screen of the amusement device create a model as shown in FIG. 2 (FIG. 2 is a human figure), and the movement is defined as the movement of each part. As shown in FIG. 3, this trajectory is a higher-order spline curve such as a cubic spline curve as a temporal change of a position (x, y, z) and a posture (angle) (ξ, η, に お け る) in a three-dimensional space. Is represented by a combination of

【0014】図4のような例えば軌跡f(t)におい
て、2点P1、P2および、その2点における微係数D
P1、DP2でスプライン曲線を定義すると、点P1、
P2、微係数DP1、DP2を用いて、式(1)により
スプライン曲線が与えられる。
In a locus f (t) as shown in FIG. 4, for example, two points P1, P2 and a differential coefficient D at the two points
When a spline curve is defined by P1 and DP2, the points P1,
A spline curve is given by equation (1) using P2 and differential coefficients DP1 and DP2.

【0015】 スプライン曲線は極めて多数提案されており、式(1)
はその一例である。従来は式(1)をそのまま計算して
いたため、極めて多くの高次演算が必要であった。
[0015] An extremely large number of spline curves have been proposed, and equation (1)
Is an example. Conventionally, since the equation (1) is calculated as it is, an extremely large number of higher-order operations are required.

【0016】そこで第5実施形態では、式(1)の代数
計算から式(2)に示すような単純な3次式を前もって
生成し、この3次式により軌跡を求める。この演算式の
単純化により計算コストは大幅に節減される。
Therefore, in the fifth embodiment, a simple cubic expression as shown in Expression (2) is generated in advance from the algebraic calculation of Expression (1), and the trajectory is determined by this cubic expression. The simplification of the arithmetic expression greatly reduces the calculation cost.

【0017】なお式(2)の算出を解析的に行わずに、
最小二乗法等の近似解法を用いることも勿論可能であ
る。
Note that the calculation of the equation (2) is not performed analytically,
Of course, it is also possible to use an approximate solution method such as the least square method.

【0018】次に以上のスプライン曲線の簡略化の処理
のためのプログラムをそのソースリストの抜粋を用いて
説明する。ここでは関数(1)〜(5)を示す。関数
(1)はスプライン曲線のパラメータである開始点時刻
TimeS、終了時刻TimeE、および曲線性状(時刻)の配列
Knots[]の変数の型を宣言している。関数(2)ではこ
れら変数、配列に具体的数値を代入する。関数(3)で
はスプライン曲線がHermite曲線であった場合の
計算式の簡略化の処理を行い、関数(4)ではスプライ
ン曲線が直線であった場合の処理を行い、関数(5)で
はスプライン曲線の特性が不明であった場合その要素数
に応じた処理を行う。
Next, a program for simplifying the above-described spline curve will be described using an excerpt of the source list. Here, functions (1) to (5) are shown. Function (1) is a start point time which is a parameter of the spline curve.
Array of TimeS, end time TimeE, and curve properties (time)
Declares the variable type of Knots []. In the function (2), specific numerical values are assigned to these variables and arrays. The function (3) performs a process for simplifying the calculation formula when the spline curve is a Hermite curve, the function (4) performs a process when the spline curve is a straight line, and the function (5) performs a spline curve. If the characteristic of the element is unknown, a process corresponding to the number of elements is performed.

【0019】関数(3)では式(2)変数A、B、C、
Dに対応する変数Coeff[SplineBase::A]、Coeff[Spline
Base::B]、Coeff[SplineBase::C]、Coeff[SplineBase::
D]を算出している。
In the function (3), the equation (2), variables A, B, C,
Variables Coeff [SplineBase :: A] and Coeff [Spline corresponding to D
Base :: B], Coeff [SplineBase :: C], Coeff [SplineBase ::
D] is calculated.

【0020】関数(4)では1次直線の係数Coeff[Spli
neBase::C]、Coeff[SplineBase::D]を算出している。
In the function (4), the coefficient Coeff [Spli
neBase :: C] and Coeff [SplineBase :: D] are calculated.

【0021】関数(5)では、要素数が4個以上のとき
最小二乗近似の3次曲線を算出し(関数(5−1))、
要素数が3個のとき最小二乗近似の2次曲線を算出し
(関数(5−2))、要素数が2個のとき最小二乗近似
の1次直線を算出する(関数(5−3))。それ以外の
場合は無効とする(関数(5−4))。 〔ソースリスト〕 typedef struct tagSPLINEDEF 関数( 1) { int Type; double TimeS, TimeE; double Knots[SplineBase::MAX_COEFF]; } SPLINEDEF; SplineBase::SplineBase(double ts, double te, double Knot0, double Knot1, double Knot2, double Knot3) 関数(2) { TimeS=ts; TimeE=te; Knots[KNOTO0]=Knot0 Knots[KNOTO1]=Knot1 Knots[KNOTO2]=Knot2 Knots[KNOTO3]=Knot3 } void Hermite::GetGeneralFunctionCoefficient( double Coeff[4]) 関数 (3) { double a,b,c,d; double w,w2,w3; double ts,ts2,ts3; w=TimeE-TimeS; w2=w*w; w3=w2*w; a=(2.0*Knots[VAL0]-2.0*Knots[VAL1]+Knots[SLP0]+Knots[SLP1])/w3; b=(-3.0*Knots[VAL0]+3.0*Knots[VAL1]-2.0*Knots[SLP0]-Knots[SLP1])/w2; c=Knots[SLP0]/w; d=Knots[VAL0]; ts=TimeS; ts2=ts*ts; ts3=ts2*ts; Coeff[SplineBase::A]=a Coeff[SplineBase::B]=-3.0*TimeS*a+b Coeff[SplineBase::C]=3.0*TimeS*TimeS*a-2.0*TimeS*b+c; Coeff[SplineBase::D]=-a*ts3+b*ts2-c*ts+d; } void Linear::GetGeneralFunctionCoefficients(double Coeff[4]) 関数(4) { Coeff[SplineBase::A]=0.0; Coeff[SplineBase::B]=0.0 Coeff[SplineBase::C]=(Knots[KNOT1]-Knots[KNOT0])/(TimeE-TimeS); Coeff[SplineBase::D]=Knots[KNOT0]-TimeS*Coeff[SplineBase::C]; } void Unknown::GetGeneralFunctionCoefficients(double Coeff[4]) 関数(5) { double SumA2, SumB2, SumAB; double SumAC, SumBC; double Determinant; double A, B, C; double Ts, Te, Xs, Xe; double t[3]; int i; Ts=TimeS; Te=TimeE; Xs=pVal[0]; Xe=pVa1[Size-1]; if(Size>=4){ 関数(5−1) SumA2=SumB2=SumAB=0.0; SumAC=SumBC=0.0; for(i=1; i<Size ; i++){ t[0]=pTime[i]; t[1]=t[0]*t[0]; t[2]=t[1]*t[0]; A=LeastSquare_A(Ts, Te, t); B=LeastSquare_B(Ts, Te, t); C=pVal[i]-LeastSquare_C(Xs, Xe, Ts, Te, t); SumA2+=A*A; SumB2+=B*B; SumAB+=A*B; SumAC+=A*C; SumBC+=B*C; } Determinant=SumA2*SumB2-SumAB*SumAB; Coeff[SplineBase::A]=(SumB2*SumAC-SumAB*SumBC)/Determinant; Coeff[SplineBase::B]=(-SumAB*SumAC+SumA2*SumBC)/Determinant; Coeff[SplineBase::C]=(Xs-Xe)/(Ts-Te) -(Ts*Ts+Ts*Te+Te*Te)*Coeff[SplineBase::A] -(Ts+Te)*Coeff[SplineBase::B]; Coeff[SplineBase::D]=(Ts*Xe-Te*Xs)/(Ts-Te) +Ts*Te+((Ts+Te)*Coeff[SplineBase::A]+Coeff[SplineBase::B]); } else if(Size=3){ 関数(5−2) double T, X0, X1, X2; T=Ts+1.0; X0=Xs; X1=pVa[1]; X2=Xe; Coeff[SplineBase::A]=0.0; Coeff[SplineBase::B]=-0.5*(-x0+2.0*x1-x2); Coeff[SplineBase::C]=-0.5*((2.0*T+1.0)*x0-4.0*T*x1+(2.0*T-1.0)*x2); Coeff[SplineBase::D]=-0.5*(-T*(T+1.0)*x0+2.0*(T*T-1)*x1-T*(T-1.0)*x2); else if(Size=2){ 関数(5−3) Coeff[SplineBase::A]=Coeff[SplineBase::B]=0.0; Coeff[SplineBase::C]=(Xs-Xe)/(Ts-Te) Coeff[SplineBase::D]=Xs-Coeff[SplineBase:C]*Ts; } else{ 関数(5−4) memset(Coeff, 0, sizeof(double)*4); } double Unknown::LeastSquare_A(double Ts, double Te, double t[3]) { return t[2]-(Ts*Ts+Ts*Te+Te*Te)*t[0]+Ts*Te(Ts+Te); } double Unknown::LeastSquare_B(double Ts, double Te, double t[3]) { return t[1]-t[0]*(Ts+Te)+Ts*Te; } double Unknown::LeastSquare_C(double Xs, double Xe, double Ts, double Te , double t[3]) { return (t[0]*(Xs-Xe)+Ts*Xe-Te*Xs)/(Ts-Te); } }
In the function (5), when the number of elements is four or more, a cubic curve of least square approximation is calculated (function (5-1)).
When the number of elements is three, a quadratic curve of least square approximation is calculated (function (5-2)), and when the number of elements is two, a linear line of least square approximation is calculated (function (5-3)). ). Otherwise, it is invalid (function (5-4)). [Source list] typedef struct tagSPLINEDEF function (1) {int Type; double TimeS, TimeE; double Knots [SplineBase :: MAX_COEFF];} SPLINEDEF; SplineBase :: SplineBase (double ts, double te, double Knot0, double Knot1, double Knot2, double Knot3) Function (2) {TimeS = ts; TimeE = te; Knots [KNOTO0] = Knot0 Knots [KNOTO1] = Knot1 Knots [KNOTO2] = Knot2 Knots [KNOTO3] = Knot3} void Hermite :: GetGeneralFunctionCoefficient (double Coeff [4]) function (3) {double a, b, c, d; double w, w2, w3; double ts, ts2, ts3; w = TimeE-TimeS; w2 = w * w; w3 = w2 * w ; a = (2.0 * Knots [VAL0] -2.0 * Knots [VAL1] + Knots [SLP0] + Knots [SLP1]) / w3; b = (-3.0 * Knots [VAL0] + 3.0 * Knots [VAL1] -2.0 * Knots [SLP0] -Knots [SLP1]) / w2; c = Knots [SLP0] / w; d = Knots [VAL0]; ts = TimeS; ts2 = ts * ts; ts3 = ts2 * ts; Coeff [SplineBase: : A] = a Coeff [SplineBase :: B] =-3.0 * TimeS * a + b Coeff [SplineBase :: C] = 3.0 * TimeS * TimeS * a-2.0 * TimeS * b + c; Coeff [SplineBase :: D] =-a * ts3 + b * ts2-c * ts + d;} void Linear :: GetGeneralFunctionCoefficients (double Coeff [4]) Function (4) {Coeff [SplineBase :: A] = 0.0; Co eff [SplineBase :: B] = 0.0 Coeff [SplineBase :: C] = (Knots [KNOT1] -Knots [KNOT0]) / (TimeE-TimeS); Coeff [SplineBase :: D] = Knots [KNOT0] -TimeS * Coeff [SplineBase :: C];} void Unknown :: GetGeneralFunctionCoefficients (double Coeff [4]) function (5) {double SumA2, SumB2, SumAB; double SumAC, SumBC; double Determinant; double A, B, C; double Ts , Te, Xs, Xe; double t [3]; int i; Ts = TimeS; Te = TimeE; Xs = pVal [0]; Xe = pVa1 [Size-1]; if (Size> = 4) {function ( 5-1) SumA2 = SumB2 = SumAB = 0.0; SumAC = SumBC = 0.0; for (i = 1; i <Size; i ++) {t [0] = pTime [i]; t [1] = t [0] * t [0]; t [2] = t [1] * t [0]; A = LeastSquare_A (Ts, Te, t); B = LeastSquare_B (Ts, Te, t); C = pVal [i]- LeastSquare_C (Xs, Xe, Ts, Te, t); SumA2 + = A * A; SumB2 + = B * B; SumAB + = A * B; SumAC + = A * C; SumBC + = B * C;} Determinant = SumA2 * SumB2- SumAB * SumAB; Coeff [SplineBase :: A] = (SumB2 * SumAC-SumAB * SumBC) / Determinant; Coeff [SplineBase :: B] = (-SumAB * SumAC + SumA2 * SumBC) / Determinant; Coeff [SplineBase :: C] = (Xs-Xe) / (Ts-Te)-(Ts * Ts + Ts * Te + Te * Te) * Coeff [SplineBase :: A]-(Ts + Te) * Coeff [SplineBase :: B] ; Coeff [SplineBase :: D] = (Ts * Xe-Te * Xs) / (Ts-Te) + Ts * Te + ((Ts + Te) * Coeff [SplineBase :: A] + Coeff [SplineBase :: B]);} else if (Size = 3) {function (5-2) double T, X0, X1, X2; T = Ts + 1.0; X0 = Xs; X1 = pVa [1]; X2 = Xe; Coeff [SplineBase :: A] = 0.0; Coeff [SplineBase :: B] =-0.5 * (-x0 + 2.0 * x1-x2); Coeff [SplineBase :: C] =-0.5 * ((2.0 * T + 1.0) * x0-4.0 * T * x1 + (2.0 * T-1.0) * x2); Coeff [SplineBase :: D] =-0.5 * (-T * (T + 1.0) * x0 + 2.0 * (T * T-1) * x1-T * (T-1.0) * x2); else if (Size = 2) {Function (5-3) Coeff [SplineBase :: A] = Coeff [SplineBase :: B] = 0.0; Coeff [SplineBase :: C] = ( Xs-Xe) / (Ts-Te) Coeff [SplineBase :: D] = Xs-Coeff [SplineBase: C] * Ts;} else {function (5-4) memset (Coeff, 0, sizeof (double) * 4 );} double Unknown :: LeastSquare_A (double Ts, double Te, double t [3]) {return t [2]-(Ts * Ts + Ts * Te + Te * Te) * t [0] + Ts * Te (Ts + Te);} double Unknown :: LeastSquare_B (double Ts, double Te, double t [3]) {return t [1] -t [0] * (Ts + Te) + Ts * Te;} double Unknown :: LeastSquare_C (double Xs, double Xe, double Ts, double Te, double t [3]) {return (t [0] * (Xs-Xe) + Ts * Xe-Te * Xs) / (Ts-Te) ;}}

【発明の効果】以上のとおり、本発明によれば、高次ス
プラインに関する計算コストを節減し得る。
As described above, according to the present invention, it is possible to reduce the calculation cost related to a higher-order spline.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係る遊戯装置の一実施形態のハードウ
エア構成を示すブロック図である。
FIG. 1 is a block diagram showing a hardware configuration of an embodiment of a game device according to the present invention.

【図2】同実施形態のオブジェクトのモデルを示す斜視
図である。
FIG. 2 is a perspective view showing a model of the object according to the embodiment;

【図3】図2のオブジェクトの位置と姿勢(角度)の軌
跡を示すグラフである。
FIG. 3 is a graph showing a locus of the position and posture (angle) of the object in FIG. 2;

【図4】図3のグラフにけるスプラインの算出方法を示
す拡大図である。
FIG. 4 is an enlarged view showing a method of calculating a spline in the graph of FIG. 3;

【符号の説明】[Explanation of symbols]

x x座標 y y座標 z z座標 ξ x軸回りの角度 η y軸回りの角度 ζ z軸回りの角度 t 時刻 x x coordinate y y coordinate z z coordinate 角度 angle around x axis η angle around y axis 角度 angle around z axis t time

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 仮想3次元空間内のオブジェクトの動き
を高次スプライン曲線の組み合わせによって定義する遊
戯装置において、各座標軸について各スプライン曲線に
ついて、時間の各次数の係数を1つにまとめて単純化し
た計算式を求め、この計算式により軌跡を算出すること
を特徴とする遊戯装置。
1. An amusement device for defining the movement of an object in a virtual three-dimensional space by a combination of higher-order spline curves. For each coordinate axis, a coefficient of each degree of time is simplified to one for each spline curve. An amusement device characterized in that a calculated formula is obtained and a locus is calculated by the calculated formula.
【請求項2】 高次スプラインは3次スプラインである
ことを特徴とする請求項1記載の遊戯装置。
2. The game device according to claim 1, wherein the higher-order spline is a cubic spline.
【請求項3】 仮想3次元空間内のオブジェクトの動き
を高次スプライン曲線の組み合わせによって定義する画
像処理方法において、各座標軸について各スプライン曲
線について、時間の各次数の係数を1つにまとめて単純
化した計算式を求め、この計算式により軌跡を算出する
ことを特徴とする画像処理方法。
3. An image processing method in which the motion of an object in a virtual three-dimensional space is defined by a combination of high-order spline curves, wherein coefficients of each degree of time are combined into one for each spline curve for each coordinate axis. An image processing method comprising: obtaining a simplified calculation formula; and calculating a locus using the calculation formula.
【請求項4】 高次スプラインは3次スプラインである
ことを特徴とする請求項3記載の画像処理方法。
4. The image processing method according to claim 3, wherein the higher-order spline is a cubic spline.
【請求項5】 請求項3または4に記載の画像処理方法
をコンピュータに実行されるプログラムが格納されたこ
とを特徴とする機械読み取り可能な記録媒体。
5. A machine-readable recording medium storing a program for executing the image processing method according to claim 3 on a computer.
JP2000111316A 2000-04-12 2000-04-12 Amusement device and image processing method Withdrawn JP2001297337A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000111316A JP2001297337A (en) 2000-04-12 2000-04-12 Amusement device and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000111316A JP2001297337A (en) 2000-04-12 2000-04-12 Amusement device and image processing method

Publications (2)

Publication Number Publication Date
JP2001297337A true JP2001297337A (en) 2001-10-26
JP2001297337A5 JP2001297337A5 (en) 2007-06-07

Family

ID=18623668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000111316A Withdrawn JP2001297337A (en) 2000-04-12 2000-04-12 Amusement device and image processing method

Country Status (1)

Country Link
JP (1) JP2001297337A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008173764A (en) * 2007-01-18 2008-07-31 Fritz Studer Ag Movable tool control method, input device, and machine tool

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008173764A (en) * 2007-01-18 2008-07-31 Fritz Studer Ag Movable tool control method, input device, and machine tool

Similar Documents

Publication Publication Date Title
KR100473291B1 (en) Control method of video game, video game apparatus, and computer readable medium with video game program recorded
EP0867807B1 (en) Information processing, computer readable media, and authoring systems
US6535981B1 (en) Information processing system
US20010036860A1 (en) Character display method, information recording medium and entertainment apparatus
JP2006263122A (en) Game apparatus, game system, game data processing method, program for game data processing method and storage medium
TW527202B (en) A video game system, a video game display method and a readable storage medium storing a video game display program
JP2020006022A (en) Game system
JP2001297337A (en) Amusement device and image processing method
JP2004242706A (en) Game program and game device
JP3431534B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2992499B2 (en) Image processing method and apparatus, recording medium
JP3084621B2 (en) GAME MACHINE, GAME PROCESSING METHOD, AND MEDIUM
JP3872032B2 (en) Image generation program, image generation apparatus, image generation method, and video game apparatus
JP4126745B2 (en) Data processing apparatus, processing method therefor, and medium
JP2897986B1 (en) Video game apparatus, video game display control method, and readable recording medium on which video game program is recorded
JP3294882B2 (en) Image creation device
JP3872592B2 (en) Information processing apparatus and method, recording medium, computer-readable recording medium on which authoring program data is recorded, and authoring system
EP1074284A2 (en) Game-development control method, game machine, and recording medium for use therewith
JP2002346211A (en) Game information, information storage medium and game machine
CN112734940B (en) VR content playing modification method, device, computer equipment and storage medium
JP6807445B2 (en) Game system
JPH11144088A (en) Processor and method for data processing and medium
EP1136997A2 (en) Apparatus and method for reproducing stream data and recording medium
JP2007166157A (en) Program, information storage medium, and data reproduction system
EP1136996A2 (en) Apparatus and method for reproducing stream data and recording medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070412

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090513

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090709