Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11 12 13 14154
次のページ(過去)
返信[14]
親投稿
おちゃめ ochame_nako
一部訂正です。 2017年10月28日の東京における南中時刻は11時25分、南中高度は41.2度なのでT=685にプログラムを書き直して (誤)南中高度は40.9を入力してみてください。    ↓ (正)南中高度は41.2を入力してみてください。
1そうだね
プレイ済み
返信[13]
親投稿
おちゃめ ochame_nako
この「簡易GPS QSP」は南中時のみ使用可能という限定的なものであり、あくまでネタレベルのものですが、「工夫次第ではプチコン3号のみでGPSみたいなものを作ることは可能」というのは分かってもらえたと思います。 GPSに限らずどんなものを作る場合でも「プチコン3号は(機能面で)あれがないからできない」と簡単に諦めるのではなくそれが無くてもできる方法を模索して考え出すというのは非常に楽しいのでぜひやってみてください。 それが(速度面や精度面等で)実用レベルに達するかというのはまた別問題の話なのです。
3そうだね
プレイ済み
返信[12]
親投稿
おちゃめ ochame_nako
しかし、南中高度の計算だけでこの長さになるとQSPで作るのは不可能です。したがって、ある程度簡略化する必要があります。 太陽の視赤緯の計算をCOS((D-170)/57.3)*23.4と簡略化しました。(Dが元旦からの経過日数) この式だと最大時で1度くらいの誤差が発生しますが、いくら完璧な計算をしても南中高度の計測時に誤差が1度くらい含まれるということを考えるとこの計算式の簡略化は問題ないレベルだと思います。 南中時刻の方も誤差がそれほど気にならないレベルの近似式でアレンジしてあります。ただし、type Bの方は南中時刻はお昼(設定された時差の地域で12時)になるような超簡略化されたものなので誤差が少し目立つかもしれません。 このアレンジされた近似式によってQSPで作ることを可能にしています。
0そうだね
プレイ済み
返信[11]
親投稿
おちゃめ ochame_nako
というわけで、このプログラムの動作原理の解説をしておきます。 このプログラムでは標準時との差を示す経度(U=9ならば東経135度)の指定した日付における南中時刻と南中高度を求め実際の計測値との差分によって現在地を求めています。 南中高度=90度-観測場所の緯度+太陽の視赤緯 太陽の視赤緯は下記の式で求めることができます。 0.006918-0.399912*cos(khi)+0.070257*sin(khi)-0.006758*cos(2*khi)+0.000907*sin(2*khi)-0.002697*cos(3*khi)+0.001480*sin(3*khi)  ※khi=元旦からの経過日数*2π/365
0そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
このプログラムはQSPに収めるために計算式は私がアレンジしたオリジナルの計算式が使用されています。そのため海外では誤差が大きくなっているかもしれません。(そもそもQSPに収めるため日数計算自体が簡易的なものだし) この簡易GPS QSPは経度はそこそこ正確ですが、南中高度の計測自体に誤差が発生するため緯度は結構誤差が大きいです。 標準タイプの方はそれほど誤差が気になるレベルではないですが、type Bの方は目立った誤差が発生する場合があります。 天文シミュレータではなくGPSもどきなのでこれで十分だと思いますが誤差が気になる人はこのプログラムのような簡易的な計算式ではなく正確な計算式を使用するだけではなく簡易水準器QSP以上に正確に計測できるプログラムを作ってみてください。
0そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
簡易GPS QSPを使ってみたいけど2つのQSPを併用するのが面倒とか南中時刻なんてよく分からないという人がもっとお手軽に使えるようにした「簡易GPS QSP type B」も作ってみました。(1GQ_GPSB) こちらは1つのQSPで太陽高度計測機能も内蔵しているためお昼頃(南中時刻で無くてもいい)の太陽に本体左側面を向けてBボタンを押すだけで大体の現在位置を表示しています。 お手軽になったのはいいですが、QSPで太陽高度計測機能を追加するため計算式をさらに簡略化しているため誤差が大きくなっているのと計測機能も簡易水準器QSPより簡略化しているため計測誤差が出やすいという問題もあります。 ネタプログラムとして考えるならばこのくらいのお手軽さの方が良いような気もしますが、QSPでどこまで精度を高められるかというのも知りたいので2バージョンの公開へと至りました。
0そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
南中時刻は日本国内だと11時~13時の間ですが、日付や場所によってその時刻は変わります。(東経135度だからといって常に12時に南中するわけではない) いつ南中するか分からない太陽を12時のずっと前から待ちかまえていて太陽の位置が頂点に達する(南中する)までひたすら角度計測を続けるというのは大変と思うので大体の南中時刻を知りたい場合は現在地を知りたい場所での前日の日の出、日の入り時刻を足して2で割ると良いです。これで誤差1分以内の南中時刻が分かります。 例:日出6時0分、日入16時50分ならばその中間の11時25分頃が南中時刻 この簡易GPS QSPは日本国内でならばそれなりの精度で計測が可能というのを上記の国立天文台のデータを元にテストプレイしてみて分かっていますが、海外では試していません。 海外に在住の方はぜひ試してみてください。(基本的に北半球でないと正常動作はできません)
0そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
時刻は角度を入力した時刻が自動的に指定されるため記載のデータを入力してテストプレイする際には時刻計算のT=M+H*60-1の部分をT=720(午前12時ちょうどの場合)のように書き換えてください。なお11時30分ならばT=690、12時30分ならばT=750のように1分ごとに値を1変えてください。(ちなみに元の時刻計算で「-1」をしている理由は簡易水準器QSPから簡易GPS QSPを起動するのにかかる時間を想定しているため) 2017年10月28日の東京における南中時刻は11時25分、南中高度は41.2度なのでT=685にプログラムを書き直して南中高度は40.9を入力してみてください。 冒頭にも貼っているように人型のカーソルが東京付近に表示されていれば正常動作をしています。
0そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
南中高度が分かったらこの簡易GPS QSPを起動してその値を入力するだけです。すると現在の日時から太陽のあるべき位置を計算してそれを元に現在位置を推測します。(人型のカーソルがある場所が現在位置) 正常に動作をしているかのテストをしたい場合は国立天文台のホームページに日本各所の南中時刻と南中高度が記載されているのでその値を入力してみてください。 http://eco.mtk.nao.ac.jp/koyomi/dni/
0そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
簡易水準器QSPで太陽の高度を計測する際に注意するのは太陽を直接見て角度を測るのは非常に危険ということです。 本体を手に持った状態で本体の側面を太陽の方に向ける(本体上面がギリギリ影になるくらい位置にする)ことで角度を測れば安全に行えます。 南中高度が90度近くになると標準の水平モードだと誤差が大きくなるためBボタンを押して垂直モードに切り替えて「90度-表示高度」の値を入力した方が正確に行えます。
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
この簡易水準器はACCELの仕様で戻り値にバラツキがあり表示が素早く変化して値を読み取りにくいのがネックでそれを改善するため一時停止機能を採り入れているのですが、下記の反転している部分のように改善すると表示がなめらかに変化して非常に使い勝手が良くなるのでぜひ試してみてください。(こうすれば良くなるのは分かっていたけどQSPに収めるため唯一妥協してしまった部分) ちなみにKの値(0~1)でなめらかさが変わります。 なお、フォルダOCHAME_GPSにはこの改造を施した「簡易水準器(改)」(LV_KAI)も同梱しています。
0そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
あとこのプログラムでは現在位置を知りたい場所での太陽の南中高度(太陽が一番高く上がった時の角度)を別途計測する必要があります。 これには先日公開した簡易水準器QSPを用いると良いと思います。 簡易水準器QSP https://miiverse.nintendo.net/posts/AYMHAAADAAADV44ndYCEZw なお、フォルダOCHAME_GPSには簡易水準器QSP ver.1.0.1(1GQ_LV)を同梱しています。
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
このプログラムを使用するためにはまずは内蔵時計をある程度正確に合わせておく必要があります(1分程度のずれなら特に問題はないけど10分とか20分ずれていたら場所がかなりずれてしまう)。 その際に世界標準時との時差をプログラム最初の変数Uに入れておいてください。 日本時間で設定している場合には時差は9時間なので初期値であるU=9から変える必要はありません。
0そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
これがプログラムリストです。(ファイル名:1GQ_GPS) 公開キーは【 2RD4VWQV 】です。 フォルダ名:OCHAME_GPSには4つのPRGと1つのGRPが入っています。 世界地図のグラフィック「GRP:WORLD_MAP」は以前作った簡易地球儀QSPに同梱のGRPと同一のものです。
1そうだね
プレイ済み
プレイ日記
おちゃめ ochame_nako
新作プログラム「簡易GPS QSP」です。QSPでGPSもどきを作ってみました。あなたが世界のどこにいるのかを地図上で知ることができます。(コメントには公開キーやプログラムの詳しい使用方法、プログラムの仕組みの解説なども記述しています)
21そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
私だったら大きさを意識して使うならば「起点x,起点y,幅w,高さh」、位置を意識して使うならば「起点Sx,起点Sy,終点Ex,終点Ey」としますね。 起点より終点の方が値が小さい場合はIFで判断して値をSWAPしてもいいし、MIN、MAX関数を用いてもいいと思います。 私がかなり前に作ったGBLEND関数は前者のような書式にしていますね。 https://miiverse.nintendo.net/posts/AYIHAAAEAAArVRTks7Xo1w 実はこれを使って2年半前にアルファチャンネル対応(加算、乗算、オーバーレイ等が自由に行えるもの)、レイヤー対応のお絵かきソフトを作ったものの速度が遅すぎてお蔵入りとなりました。(さすがに1桁fpsでは描いていてストレスが溜まるため) そのためjuhsyには期待をしています。
4そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
しんいちさんへ プロの現場ではさすがに誤差が大きくて使えないですが、趣味で使う程度ならば問題はあまりない精度だと思います。 表示の変化が速すぎる場合は一時停止を上手く活用してください。 QSPでなければうまく補正して表示が細かく変化しないようにすることも可能ですが。
0そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
プログラム中1箇所バグがありました。 垂直が水直と表示されています。 これは制作初期の段階で"すい"だったものを単純に"水"にしたためです。 修正はQSPの範囲では困難なので良い改善策が見つかるまで「仕様」とさせてください(笑)
0そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
私は日経ソフトウェアはすべて買っているので問題ないですが、買ったまま部屋のどこに置いたか分からない状態なのでこれらを1冊にまとめたものが発売されたらぜひ買いたいですね。 というか、なぜ発売してくれないのだろうか・・・。(前作のプチコン公式ムックがよほど売れなかったとか?)
0そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
高さ計測モードにおいては角度を入力する必要がありますが、従来の簡易分度器QSPでは非常に誤差が大きかったため新しく作った簡易水準器QSPを使うと良いです。 簡易水準器QSP https://miiverse.nintendo.net/posts/AYMHAAADAAADV44ndYCEZw 簡易分度器QSPとは異なり水平、垂直を基準にした角度が正確に計測できるようになっています。
0そうだね
プレイ済み