• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

ま@さんのブログ一覧

2021年08月03日 イイね!

測定タイムの精度向上

測定タイムの精度向上 測定タイムの精度向上として、
通過判定時の走行軌跡の始点と終点、そして計測ラインの始点と終点の交点を求め、
始点と交点、終点と交点の距離の比率で
走行軌跡の始点時の時刻から終点の時刻の差から仮想の通過時刻を取得するように変更しました。
あと、レーダー表示の内部ロジックを見直しました。
これまで、GPSの位置情報の絶対位置で表示していたのを、
基準ポイントを設けて、相対位置での表示に変更しています。
なぜ相対位置に変更したかというと、
レーダー表示で使用しているグラフライブラリの座標軸がfloatのため、
GPSの位置情報のdoubleを型変換すると誤差が生じるためです。
簡単な修正かと思いましたが、グラフライブラリの仕様のトラップや
型変換のトラップにつかまってしまい、思いのほか難儀しました。

改めて認識しましたが、コンピュータは小数点以下の数字が苦手です。
小数点以下の数値のほとんどは、コンピュータでは近似値でしか表せず、
浮動小数点を扱うと問題が発生することが多いです。

近似値とはどういうことかというと、
コンピュータのほとんどは内部的に2進数で処理しているので、
1/2=0.5、1/4=0.25、1/8=0.125、1/16=0.0625…となり、
0.8を2進数に変換すると、
0.5+0.25+0+0+0.03125+0.015625+0+0…
0.110011001100…と循環小数になるわけです。

ですので、
小数点以下の数値を扱うときは、
10のべき乗を使って整数にしてから演算することが多いです。
Javaでどうしてround関数(四捨五入)の引数に
少数点以下の指定がないのかと思ったら、
こういうことかと妙に納得したことを思いだしました。
ちなみに少数点以下を四捨五入するときは、
少数点以下の桁数を10のべき乗でかけてあげて、
round関数を使えばよいわけです。

タイトル画像はXpreria1(SO-03L)のスナップショット画像です。

広告付きですがアプリ自体は無料です。

Google Play で手に入れよう
Posted at 2021/08/03 07:45:26 | コメント(0) | トラックバック(0) | 日記

プロフィール

「自分のクルマを運転してもらえる機会があったら… http://cvw.jp/b/2359077/48571805/
何シテル?   07/30 14:57
ようこそ、まっさんのクルマ部屋へ! クルマの話を中心に、書き綴りたいと思います。 ご意見、質問、ご要望、苦情等ございましたら、 日記へのコメントをお願いい...
みんカラ新規会員登録

ユーザー内検索

<< 2021/8 >>

1 2 3 4 56 7
8 9 10 111213 14
15 1617 18 1920 21
22 2324252627 28
2930 31    

愛車一覧

ホンダ シビックタイプR ホンダ シビックタイプR
町乗り兼ジムカーナ車両です。
ヘルプ利用規約サイトマップ
© LY Corporation