Re: Nasalを知ろう、使おう!
Tat
投稿数: 375
エラーの件ですが、FDM の初期化が終わる前にプロパティを参照してますので、空文字列("")が返ってきています (プロパティは存在するけど、値が設定されていない場合は空文字になります)。これを解決するには、FDM 初期化後に WING_SPAN にプロパティの値を代入しなければなりません。
具体的には TouchingPenalty.new() の中で代入処理を行えばよいでしょう。
元々の
TouchingPenalty.WING_SPAN = 8;
は削除する必要はありません。
判定式は、
ゲート中心と機体中心との間の距離 > 全幅 * cos(バンク角)/2
かつ
機体高度 < ゲートの高さ
の場合に接触と見なします。この式では、機体が板状であることを想定していますので、機首や機尾部分で判定されたは誤差を含んでいます。(繰り返し判定はしていません。通過判定時に一度だけです。)
それよりも問題なのは、機体中心とゲート中心との間の距離が、必ずしもゲート中心からゲートのパイロン方向へのズレとは限らないことです。接触判定を行うのは通過判定時ですが、その際に必ずしもゲートのパイロン間を結ぶ直線上に機体中心があるわけではないのです。通過判定式は
ゲート幅 / 2 <= 機体中心とゲート中心との距離
かつ
機体中心とゲート中心との距離 > 機体中心とゲート中心との距離の最小値
となります。ゲート判定間隔は0.1秒ですから最大誤差は 0.05 秒の間に進む距離となります。一定速度で正確なゲート通過後 0.05 秒後 にゲート中心から N メートルの所でゲート通過と判定されると、判定は 0.1秒前、つまり本当のゲート通過前 0.05 秒の時点での距離となります。(つまりゲート中心のN メートル手前) ゲートのど真ん中を通ったとしても機体中心と N メートルの差があることになります。0.05秒もあれば、T-4なら 10m 程進んでしまいますが、この差が機体進行方向のズレなのか、ゲート中心からパイロン方向へのズレなのかが判定できていません。これによりパイロンギリギリを通ると接触したという判定になってしまうのです。
# んー文字で書くと難しい
ということで、多分ですが、判定間隔を短くすれば精度は向上するはずです。
ただ、もうちょっと考えないといけないと思いますので、近いうちに変更してみます。しばしお待ち下さい。
p.s.
一度コードを書きましたが、ちょっと間違えていたので消しました。もし見た方がいらっしゃったら、忘れてください。
具体的には TouchingPenalty.new() の中で代入処理を行えばよいでしょう。
元々の
TouchingPenalty.WING_SPAN = 8;
は削除する必要はありません。
判定式は、
ゲート中心と機体中心との間の距離 > 全幅 * cos(バンク角)/2
かつ
機体高度 < ゲートの高さ
の場合に接触と見なします。この式では、機体が板状であることを想定していますので、機首や機尾部分で判定されたは誤差を含んでいます。(繰り返し判定はしていません。通過判定時に一度だけです。)
それよりも問題なのは、機体中心とゲート中心との間の距離が、必ずしもゲート中心からゲートのパイロン方向へのズレとは限らないことです。接触判定を行うのは通過判定時ですが、その際に必ずしもゲートのパイロン間を結ぶ直線上に機体中心があるわけではないのです。通過判定式は
ゲート幅 / 2 <= 機体中心とゲート中心との距離
かつ
機体中心とゲート中心との距離 > 機体中心とゲート中心との距離の最小値
となります。ゲート判定間隔は0.1秒ですから最大誤差は 0.05 秒の間に進む距離となります。一定速度で正確なゲート通過後 0.05 秒後 にゲート中心から N メートルの所でゲート通過と判定されると、判定は 0.1秒前、つまり本当のゲート通過前 0.05 秒の時点での距離となります。(つまりゲート中心のN メートル手前) ゲートのど真ん中を通ったとしても機体中心と N メートルの差があることになります。0.05秒もあれば、T-4なら 10m 程進んでしまいますが、この差が機体進行方向のズレなのか、ゲート中心からパイロン方向へのズレなのかが判定できていません。これによりパイロンギリギリを通ると接触したという判定になってしまうのです。
# んー文字で書くと難しい
ということで、多分ですが、判定間隔を短くすれば精度は向上するはずです。
ただ、もうちょっと考えないといけないと思いますので、近いうちに変更してみます。しばしお待ち下さい。
p.s.
一度コードを書きましたが、ちょっと間違えていたので消しました。もし見た方がいらっしゃったら、忘れてください。
投票数:17
平均点:5.29
投稿ツリー
-
Nasalを知ろう、使おう!
(Tat, 2008-4-11 0:54)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-4-22 20:54)
-
Re: Nasalを知ろう、使おう!
(sambar, 2008-4-22 22:38)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-4-23 10:12)
- Re: Nasalを知ろう、使おう! (hide, 2008-4-23 12:55)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-4-24 18:55)
-
Re: Nasalを知ろう、使おう!
(toshi, 2008-4-25 3:04)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-4-25 4:02)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-4-26 8:07)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-4-29 17:04)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-4-30 1:02)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-4-30 20:44)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-4-30 23:11)
-
Re: Nasalを知ろう、使おう!
(sambar, 2008-5-1 23:25)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-5-2 0:13)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-5-5 14:36)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-5-7 15:23)
- Re: Nasalを知ろう、使おう! (Tat, 2008-5-8 1:19)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-5-7 15:23)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-5-5 14:36)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-5-2 0:13)
-
Re: Nasalを知ろう、使おう!
(sambar, 2008-5-1 23:25)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-4-30 23:11)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-4-30 20:44)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-4-30 1:02)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-4-29 17:04)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-4-26 8:07)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-4-25 4:02)
-
Re: Nasalを知ろう、使おう!
(toshi, 2008-4-25 3:04)
-
Re: Nasalを知ろう、使おう!
(hide, 2008-4-23 10:12)
-
Re: Nasalを知ろう、使おう!
(sambar, 2008-4-22 22:38)
-
Re: Nasalを知ろう、使おう!
(sambar, 2008-7-1 22:25)
- Re: Nasalを知ろう、使おう! (toshi, 2008-7-2 23:50)
-
Re: Nasalを知ろう、使おう!
(sambar, 2008-7-3 22:46)
- Re: Nasalを知ろう、使おう! (toshi, 2008-7-4 1:54)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-7-4 1:52)
- Re: Nasalを知ろう、使おう! (Tat, 2008-7-4 15:16)
- Re: Nasalを知ろう、使おう! (sambar, 2008-7-5 1:19)
- 揺れる空母の着艦に挑戦 :-) (Tat, 2008-7-30 10:03)
- Nasal の落とし穴 (Tat, 2008-8-9 16:13)
-
Re: Nasalを知ろう、使おう!
(sambar, 2008-11-9 2:34)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-11-9 14:41)
-
Re: Nasalを知ろう、使おう!
(sambar, 2008-11-9 22:50)
- Re: Nasalを知ろう、使おう! (Tat, 2008-11-9 23:59)
-
Re: Nasalを知ろう、使おう!
(sambar, 2008-11-9 22:50)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-11-9 14:41)
- Re: Nasalを知ろう、使おう! (sambar, 2008-11-10 19:58)
- Re: ジョイスティック設定とNasal (sambar, 2009-7-11 1:25)
-
Re: Nasalを知ろう、使おう!
(inomaty, 2015-11-16 2:06)
- Re: Nasalを知ろう、使おう! (inomaty, 2015-11-18 22:42)
-
Re: Nasalを知ろう、使おう!
(Tat, 2008-4-22 20:54)