トップページ > .CELXスクリプトガイド > positionオブジェクト

positionオブジェクト


position:addvector


position position:addvector(vector:v)
positionオブジェクトに対しvectorオブジェクトを加算した値を返します。いわばベクトルの足し算です。
v: 加算するベクトル
例:
earth = celestia:find("Sol/Earth")
a = 0.01
pos = celestia:newposition(a, 0, 0)
v = celestia:newvector(-a, a, 0)
pos2 = pos:addvector(v)

obs = celestia:getobserver()
obs:synchronous(earth)
obs:goto(pos, 3)
wait(3)
obs:center(earth, 2)
wait(2)
obs:goto(pos2, 3)
wait(3)
obs:center(earth, 2)
wait(2)

position:vectorto


vector position:vectorto(position:target)
参照中のpositionオブジェクトを始点とし、引数として指定したpositionオブジェクトを終点とするベクトルを返します。
target: 終点のpositionオブジェクト
例:
...
a = 0.01
pos_tail = celestia:newposition(a, 0, 0)
pos_head = celestia:newposition(0, a, 0)
v = pos_tail:vectorto(pos_head)
...

position:distanceto


number position:distanceto(position:target)
参照中のpositionオブジェクトと引数として指定したpositionオブジェクトの距離をkmで返します。
target: 終点のpositionオブジェクト
例:
pos_sol = celestia:find("Sol"):getposition()
pos_earth = celestia:find("Sol/Earth"):getposition()
d = pos_sol:distanceto(pos_earth)
celestia:flash("Sol-Earth: " .. d .. " km")

position:rotationto


rotation position:rotationto(position:target)
参照中のpositionオブジェクトから引数として指定したpositionオブジェクトへのrotationオブジェクトを返します。
target: 終点のpositionオブジェクト
例:
pos_sol = celestia:find("Sol"):getposition()
pos_earth = celestia:find("Sol/Earth"):getposition()
r = pos_sol:rotationto(pos_earth)

position:getx


number position:getx()
positionオブジェクトのx成分を返します。※ 返される値の正確性はあまり高くないようです。
1.3.2 position.xとする事でx成分に直接アクセスする事ができます。(position.x = 1などとする事により代入もできます。)
例:
--

position:gety


number position:gety()
getx()を参照してください。

position:getz


number position:getz()
getx()を参照してください。
トップページ > .CELXスクリプトガイド > positionオブジェクト