com.nttdocomo.ui.sound3d
クラス PolarPosition

Object
  拡張com.nttdocomo.ui.sound3d.PolarPosition
すべての実装インタフェース:
Audio3DLocalization, SoundPosition

public class PolarPosition
extends Object
implements SoundPosition, Audio3DLocalization

極座標でリスナ(聴者)と仮想音源の位置関係を指定するオブジェクトを定義します。 このクラスでは、リスナ(聴者)の位置は極座標系の原点に固定されており、 仮想音源の位置を極座標で指定することによってリスナと仮想音源との位置関係を表します。

極座標の各成分は float で指定しますが、 Vector3D と同様にシステム内部で整数演算に変換されて処理されます。

このオブジェクトに設定された座標などのパラメータは、 このオブジェクトが Audio3D.setLocalization(com.nttdocomo.ui.Audio3DLocalization) メソッドに渡された時点で参照され、 ネイティブの 3D サウンドの制御のエンジンに渡されます。

導入されたバージョン:
DoJa-4.0 (901i)

コンストラクタの概要
PolarPosition()
           極座標で仮想音源の位置を指定するオブジェクトを生成します。
PolarPosition(float coordinateFactor)
           極座標で仮想音源の位置を指定するオブジェクトを生成します。
 
メソッドの概要
 float getCoordinateFactor()
           座標変換係数を取得します。
 float getDirection()
           仮想音源の位置を表す座標の方位角成分((r, θ, φ)の θ)を取得します。
 float getDistance()
           仮想音源の位置を表す座標の距離成分((r, θ, φ)の r)を取得します。
 float getElevation()
           仮想音源の位置を表す座標の仰角成分((r, θ, φ)の φ)を取得します。
 Vector3D getVelocity() [iアプリオプションAPI]
           仮想音源の移動方向と速度を取得します。
static void setDefaultCoordinateFactor(float coordinateFactor)
           座標変換係数のデフォルト値を設定します。
 void setDirection(float direction)
           仮想音源の位置を表す座標の方位角成分((r, θ, φ)の θ)を設定します。
 void setDistance(float distance)
           仮想音源の位置を表す座標の距離成分((r, θ, φ)の r)を設定します。
 void setElevation(float elevation)
           仮想音源の位置を表す座標の仰角成分((r, θ, φ)の φ)を設定します。
 void setPosition(Vector3D vector)
           仮想音源の位置を表す座標を設定します。
 void setVelocity(Vector3D vector) [iアプリオプションAPI]
           仮想音源の移動方向と速度を指定します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PolarPosition

public PolarPosition()

極座標で仮想音源の位置を指定するオブジェクトを生成します。 PolarPosition(float) コンストラクタの座標変換係数に setDefaultCoordinateFactor(float) メソッドで指定されたデフォルト値を指定して呼び出すのと同等です。


PolarPosition

public PolarPosition(float coordinateFactor)

極座標で仮想音源の位置を指定するオブジェクトを生成します。

デフォルトでは、各パラメータは以下のように設定されています。

  • 仮想音源の位置は、 座標系の原点に設定されます。 すなわち、距離に 0.0f、方位角に 0.0f、仰角に 0.0f が設定されます。
  • [DoJa-5.0 (903i) 以降] 仮想音源の移動方向と速度は、null に設定されます。

パラメータ:
coordinateFactor - 座標変換係数を指定します。
例外:
IllegalArgumentException - 引数 coordinateFactor に±∞やNaNが指定された場合、 または 0.0f 以下の値が指定された場合に発生します。
メソッドの詳細

setDefaultCoordinateFactor

public static void setDefaultCoordinateFactor(float coordinateFactor)

座標変換係数のデフォルト値を設定します。 このクラスのオブジェクトを生成する際に座標変換係数のデフォルト値として使用されます。 初期状態ではデフォルト値として 1.0f が設定されています。

パラメータ:
coordinateFactor - 座標変換係数のデフォルト値を指定します。
例外:
IllegalArgumentException - 引数 coordinateFactor に±∞やNaNが指定された場合、 または 0.0f 以下の値が指定された場合に発生します。

getCoordinateFactor

public float getCoordinateFactor()

座標変換係数を取得します。

戻り値:
座標変換係数を返します。

setDistance

public void setDistance(float distance)

仮想音源の位置を表す座標の距離成分((r, θ, φ)の r)を設定します。

このメソッドで指定した距離成分に座標変換係数をかけた値が実際の距離成分として使用されます。

パラメータ:
distance - 距離成分を指定します。
例外:
IllegalArgumentException - 引数 distance にNaNが指定された場合、 または負の値が指定された場合に発生します。

getDistance

public float getDistance()

仮想音源の位置を表す座標の距離成分((r, θ, φ)の r)を取得します。

戻り値:
距離成分を返します。

setDirection

public void setDirection(float direction)

仮想音源の位置を表す座標の方位角成分((r, θ, φ)の θ)を設定します。 単位はラジアンで指定します。

パラメータ:
direction - 方位角成分を指定します。
例外:
IllegalArgumentException - 引数 direction に±∞やNaNが指定された場合に発生します。

getDirection

public float getDirection()

仮想音源の位置を表す座標の方位角成分((r, θ, φ)の θ)を取得します。

戻り値:
方位角成分を返します。

setElevation

public void setElevation(float elevation)

仮想音源の位置を表す座標の仰角成分((r, θ, φ)の φ)を設定します。 単位はラジアンで指定します。

パラメータ:
elevation - 仰角成分を指定します。
例外:
IllegalArgumentException - 引数 elevation に±∞やNaNが指定された場合に発生します。

getElevation

public float getElevation()

仮想音源の位置を表す座標の仰角成分((r, θ, φ)の φ)を取得します。

戻り値:
仰角成分を返します。

setPosition

public void setPosition(Vector3D vector)

仮想音源の位置を表す座標を設定します。 引数には、距離成分、方位角成分、仰角成分を要素として持つベクトルを指定します。

以下の処理を行うのと同等です。

 this.setDistance(vector.getX()); 
 this.setDirection(vector.getY()); 
 this.setElevation(vector.getZ()); 
 

このメソッドで指定した座標の距離成分に座標変換係数をかけた値が実際の距離成分として使用されます。

パラメータ:
vector - 距離成分、方位角成分、仰角成分を持つベクトルを指定します。
例外:
NullPointerException - 引数 vector に null が指定された場合に発生します。
IllegalArgumentException - 引数 vector に指定されたベクトルの距離成分が負の値の場合に発生します。

setVelocity

public void setVelocity(Vector3D vector) [iアプリオプションAPI]

仮想音源の移動方向と速度を指定します。 仮想音源の移動方向と速度はドップラー効果の計算のためにのみ使用され、 仮想音源の位置には影響しません。

このメソッドで指定した速度に座標変換係数をかけた値が速度として使用されます。

このメソッドの引数に指定するベクトルはデカルト座標で指定します。

[DoJa-4.0 (901i) 以降]
端末によってはサポートされない場合があります。 サポートされない場合、本メソッドの呼び出しは無視されます。 例外は発生しません。

[DoJa-5.0 (903i) 以降]
デフォルトでは null が指定されたのと同じ状態になっています。

パラメータ:
vector - 仮想音源の移動方向と速度を表すベクトルを指定します。 引数に null を指定した場合は零ベクトルが指定されたものとみなされます。

getVelocity

public Vector3D getVelocity() [iアプリオプションAPI]

仮想音源の移動方向と速度を取得します。 setVelocity(Vector3D) メソッドで null が設定された場合は、 このメソッドは null を返します。

[DoJa-4.0 (901i) 以降]
端末によってはサポートされない場合があります。 サポートされない場合は、 null を返します。

戻り値:
仮想音源の移動方向と速度を表すベクトルを返します。


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。