Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15154
次のページ(過去)
返信[16]
親投稿
おちゃめ ochame_nako
QSPで水準器を作ってみました。 詳しくは下記のリンク先で紹介しています。 簡易水準器QSP https://miiverse.nintendo.net/posts/AYMHAAADAAADV44ndYCEZw 前日に作った簡易歩数計と組み合わせるとベターです。 簡易歩数計QSP https://miiverse.nintendo.net/posts/AYMHAAADAAADV44nHV9ATQ
0そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
QSPとしては納得できるものができたのですが、速度センサーの精度、本体筐体の精度の問題もあるため±1度くらいの誤差はどうしても出てしまいます。 したがって、プロの現場で水準器として使用したいという場合には精度が1桁足らず完全に力不足です。(そんな人は居ないと思うけど) とはいえ、「どれくらい傾いているのか知りたい」とか「この角度(仰角、俯角)は何度か知りたい」とかいう場合には有効活用ができると思います。
0そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
プチコン3号で水準器を作ること自体は特に難しいものは必要ありません。 ACCELの戻り値を一定倍してカーソル的な何かを画面中心点からずらした位置に表示するだけで完成です。(これだけでどの向きにどの程度傾いているかどうかが分かる) それだけでは面白くないのでこの簡易水準器QSPでは上記のようなことを可能にしています。 やはり、水準器としてある程度実用的に使うならば水平と垂直は必要だと思いました。 プログラムリストの短縮で各所で行っているため可読性は非常に悪いですがやっていること自体は大したことはありません。 ちなみにリスト中で使用されている「573」はラジアンを度に変える魔法の数字です。
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
角度計として使うには水平モードで行います。 本体を半開きにしてAボタン側から目的物の方を見ます。 New 2DS LLならばAボタンとBボタンの隙間からちょうど十字ボタンの上端が見えるような向きにするとライフルのような正確な照準となります。(3軸すべて正確に合わせられる) 仰角、俯角が90度近くなると誤差が出やすくなるため垂直モードに切り替えるとベターです。(90度との差分で角度が分かる) 昨日公開した「簡易歩数計QSP」の物体の高さ計測機能の角度入力に用いると簡易分度器QSPよりも正確な値が求まります。 簡易歩数計QSP https://miiverse.nintendo.net/posts/AYMHAAADAAADV44nHV9ATQ
0そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
壁に貼られたポスターなど見た目が水平、垂直になっているかどうかを調べたい場合は少し離れた位置から本体を顔の前に置いて水平の場合は本体の下側の部分、垂直の場合は本体の横の部分を調べたい物の向きと合わせます。 水平、垂直になっているかどうかは白とピンクの縦線のずれで分かり何度ずれているかも表示されます。
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
まずは、基本的な使い方です。 画面上の白の十字線が基準線でピンクの線が基準線からのずれとなります。これが一致していればきちんと水平、垂直になっていることが分かりますが、加速度センサーの取得の値が安定していないためわずかにぶれるのは仕様となります。 面が水平になっているかどうかを調べたい場合は十字線の交点でどちら向きにどの程度傾いているかが分かります。具体的に何度傾いているかどうかは横線がほぼ一致するように本体の向きを調整してください。 面が垂直になっているかどうかはBボタンを押してモードを垂直に切り替えて同様の操作を行います。 表示が速すぎて見えない場合はAボタンで一時停止と解除ができます。
0そうだね
プレイ済み
プレイ日記
おちゃめ ochame_nako
新作QSP「簡易水準器QSP」です。物体がちゃんと水平、垂直になっているかどうか、なってない時は何度くらいずれているかを0.1度単位で計測したり、遠くにある物体の角度(仰角、俯角)を計測したりできます。詳しい使い方や公開キーはコメントにて。
12そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
これがプログラムです。 公開キーは【 TD34E39J 】です。
0そうだね
プレイ済み
返信[15]
親投稿
おちゃめ ochame_nako
こういちさんへ 簡易GRPビューアは私自身が欲しかったので作りました。実用性第一のツールです。 お絵かきソフトを作っている人は多数いるのにこういうツールを作っている人はほとんど見かけません。 しんいちさんへ 水準器というとカメラや三脚に付いているものしか使ったことがないのでその辺はよく分からないんですよね。 実用性を考えるならば現場で使っている人の意見をもっと聞きたいところです。
0そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
○○%の確率で実行したいとかいうのであれば個人的にはRNDF()がオススメです。 例えばこれで72%の確率でTHEN以下を実行できます。 IF RNDF()<72/100 THEN ~ (0.12%とか小数を使ったものでもOK) 整数だけで良いならばツララさんと同じやり方ですが IF RNDF(100)<72 THEN ~ とするのが簡単です。
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
ボタン判定を複数箇所で使用するならば自作関数を作っておくと良いでしょう。 DEF BTF(B) RETURN (BUTTON() AND B)==B END これでAボタンを押している時はBTF(#A)は1になり、押してない時はBTF(#A)は0になります。 また、複数ボタンに対応しているためBTF(#A+#B)はAボタンとBボタンの両方を押している時は1になります。
1そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
プチコン3号を使って「高さ」を測るにはこういった間接的な方法だけではなくもっと直接的な方法もあります。 それは物体の上に登って本体ごと自由落下させる方法です。(プチコン3号を起動した状態の本体を単に落とすだけ) というのはあくまでネタですが、実際にやってみたいという人のために即興でQSPを作ってみました。 題して「超簡易高度計QSP」です。 使い方は簡単で本体ごと落とすだけで落下開始位置から落下した場所までのおよその高さが分かります。ただし、落下によって本体が壊れたら計測できないという不具合があります。 使用時は自己責任でお願いします。 即興で作ったものなのでまだ空きが多いためいろいろな要素を付け足してみてもいいかもしれません。
2そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
簡易分度器QSPを使わずに長さから比例計算する方法もあります。 まずは自分の腕を伸ばした時の長さをあらかじめ測っておいてください。(単位はmmにしておくと後で計算間違えしにくい) そして物体の見た目の長さを測ります。 ものさしを常時持参している人は少ないと思うので簡易ものさしを使って計測します。 簡易ものさしQSP https://miiverse.nintendo.net/posts/AYIHAAAEAAArVRTpmfEhIA 簡易ものさしQSPは画面の幅までしか計測できないため高さを知りたい物体がある程度離れている必要があります。 あとは、物体の元まで歩いて下記の公式に当てはめて計算するだけです。(計算には簡易関数電卓QSPを使うと便利)  物体の高さ=物体までの距離÷腕の長さ×物体の見た目の長さ
0そうだね
プレイ済み
返信[7]
親投稿
おちゃめ ochame_nako
それから、使う人はほぼ居ないと思われる高さの計測方法について書いておきます。 物体の高さを計測したい場合はまず最初に目線から物体がどのくらいの角度で見えるかを計測しておく必要があります。 これには分度器が必要ですが、常時分度器を持参している人は少ない思うのでその場合は、簡易分度器QSPを使ってみてください。(この時、本体は水平に持つのがポイント) 簡易分度器QSP https://miiverse.nintendo.net/posts/AYIHAAAEAAArVRTplVgn7Q あとは簡易歩数計QSPを起動して角度計測場所から物体まで歩くだけでOKです。 物体の元でBボタンを押して角度入力すればその物体のおよその高さが分かります。
0そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
計測精度はQSPではこれがほぼ限界だと思いますが、QSPという制限を無くしさらなる精度向上を行うならば細かい振動か歩行の上下運動によって発生した振動かの判別をするなどの方法を行うとよいでしょう。 ただし、プチコン3号を起動していない場合は歩数計自体が動作しないのでポケットやカバンに入れて計測するというのを考慮する必要はあまりないかもしれません。 手に持った状態でどうすれば精度が高まるかを考えると良いかと思います。
0そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
歩いた場合は上下に振動しますが、センサーの合成値をモニタリングした場合には下記のようになります。 赤線が基準値(値は1)で緑線と黄色線が判定用のしきい値をしめしています。しきい値は見ての通り下側が広く、上側が狭く設定することで誤動作を減らして精度を高めています。 上向きの加速度のしきい値を超えた場合にはフラグをONにします。そして、下向きの加速度のしきい値を超えた場合にフラグをOFFにして歩数を1プラスします。 ただし、歩く場合には細かい振動がそれに加わるためフラグがONになってから一定期間(ここでは20フレーム)はフラグONにしないようにしています。 これによって歩いた時に発生する細かく振動に対して対応ができ精度が高まっています。
0そうだね
プレイ済み
返信[4]
親投稿
おちゃめ ochame_nako
続いてこの簡易歩数計QSPの動作の仕組みを簡単に解説します。 この簡易歩数計QSPはQSPの範囲内で可能な限り精度を高めるようにしています。 歩数計を作るには内蔵の加速度センサー(ACCELで取得可能)を使用します。 本体をどんな向きで持っても同じように反応するようにX、Y、Xの合成値を生成します。 合成値はSQR(X*X+Y*Y+Z*Z)で求められ本体が動いてない時はその値は約1.0になります。 あとは本体を動かせばその合成値が変化するためその値から歩いているかどうかを判別することになります。 判別の方法には様々なものがありますが、私はしきい値を上下に設けてそれを使ってフラグ管理をする方法にしました。
0そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
変数Sは歩数計の感度です。初期値は0.07となっています。小さい値に設定するほど敏感になりますが誤動作しやすくなります。感度はやや高めだけど普通の使い方では誤動作が起きにくいけどベターな設定にしているものの初期値では「誤動作が多い」と感じる人は0.07よりも大きめの値(0.1~0.2程度)を設定しても良いでしょう。(大きくしすぎると派手に歩かないとカウントされなくなる) 変数Iは目線の高さ(自分の目がある高さ)です。初期値は身長-9cmとなっています。これは高さ計測をする時のみに必要な項目で例えば100cmの台の上に本体を乗せて角度を測った場合にはI=100にしておくとより正確な高さを求めることが可能になります。
0そうだね
プレイ済み
返信[2]
親投稿
おちゃめ ochame_nako
簡易歩数計QSPの設定方法について書きます。 基本的に歩数を測るだけならばベターな状態に設定してあるので弄る必要はありません。 しかし、距離を測ったり高さを測ったりする場合は設定を変える必要があるし、人によって歩き方が異なるため標準設定が必ずしもベストなものではありません。 設定は基本的に最初の行の4つの変数の値で変えられます。 変数Hの値は使用者の身長です。初期値は150cmとなっています。これはプチコン3号の利用者で多いと推測される小学高学年から中学生の平均身長くらいを考慮しています。 変数Lは歩幅です。初期値は身長×0.4となっています。身長を変えることで歩幅も連動して変わるようにしているわけなので特に弄る必要はないのですが、「私の歩幅は約70cmある」とか分かっている場合はL=70と設定しておくと良いでしょう。
0そうだね
プレイ済み
返信[1]
親投稿
おちゃめ ochame_nako
これがプログラムリストです。公開キーは【 ND348394 】です。 RUNすればすぐに計測開始です。 プチコン3号を起動した状態でないと計測できないというプチコンそのものの仕様上の問題がありますが、その点は常に計測というよりは「ここからあそこまでの歩数」といった使用方法がベターだと思います。 QSPで可能な限界くらいまで計測精度を高めているので本体を両手で持って普通に歩けばカウントされます。画面を見ながら歩行するのは危険なのでやめてください。 基本的に使用方法や設定方法はプログラムの末尾のマニュアルに記載していますが、以下においてさらに補足をしておきます。
0そうだね
プレイ済み