2011-08-01から1ヶ月間の記事一覧

[プログラム] 回転行列を作ってみよう。

回転のみの3*3の行列を考える前に2*2の回転行列を。 C -S S C ただしC=cosθ, S=sinθ。Sにつく正負符号は、X=0, Y=1 を90度まわすと 0 -1 0 1 0 1 で (-1,0)になるのが分かります。 これを使って、3軸の回転行列を出します。 こんなかんじに3*3の回転行列をし…

画面上に投影する

2.2以降では Camera.Parameters#getHorizontalViewAngle() で画角が得られるので、ピクセルと方位とを線形関係とみなして(「レンズモデル?シラネ」で行く)、前述の姿勢に依存する座標系から Math.tan2() とかを使って方位を出してやればOK。 気をつけるべき…

[Android] 絶対座標系の物体を姿勢に依存する座標系に変換する

ある点xから、姿勢にあわせて回転させた際の位置 x' は、次のようになります。 x' = Rx*Ry*Rz*x Rx, Ry, Rz は、それぞれ X, Y, Z軸に、矢印方向に右ねじで進む回転行列です。つまり、右から(左からじゃないよ)ヨー、ピッチ、ロール、とかけていっています。…

AR用の姿勢を得る

id:yellow_73:20110815 の続き。 センサの基準となる画面の向きはタブレットとスマートフォンで違う ヨー、ピッチ、ローについて、前の記事ではうそ書きましたー (差し替え済み)。平面に置いたのが基準です。 繰り返しですが、ポートレイトがセンサの基準に…

いやインデクスは効かせられるのです

http://soudai1025.blogspot.com/2011/08/blog-post.html で、PostGISではインデクスが有効利用されない、とおっしゃってることについて、日本語や…それはともかく、ひとこと言わねばなるまい、ということで、つっこみを入れさせてもらいます。 PostGISでは…

ベストでもない位置プロバイダも含めて現在位置特定を行う

id:yellow_73:20110815#p1 および id:yellow_73:20110819#p2 のつづき。 ここまで言ってませんでしたが、今回の位置特定は、現在位置をワンショットで特定するもので、精度はあまり求めないものです。継続して精度良く現在位置を取得するものとは異なります…

ベストでないgetBestProvider

id:yellow_73:20110815#p1 のつづき。 LocationManager#getBestProvider() を使うと、Criteriaで指定した優先順位に沿って最も適切なロケーションプロバイダを探してくれるというものです。メソッド名からして「ベスト」なんだしこれで良いと思ってました。 …

Fustion Tables へのアクセスがうまくいかず結構悩んだ

id:yellow_73:20110809#p2 のつづきです。 unauthenticated が出まくる まず、昨日まで SHOW TABLES がうまくいってたのに、突然うまくいかなくなりました。 unauthenticated という文言が見え、HTTP応答ステータスは 401 でした。 他のクエリではどうだろう…

方位センサに悩まされる

プライベートでARっぽいのをやろうとしてて、方位センサまわりでちょっと引っかかったのでメモ。 方位センサの基準画面向きからみた現在の画面向きを知る まず、Androidのタブレット機では横長基準でセンサを仕掛けているものがあります。携帯電話機なら縦長…

Fusion Tables にアクセスしてみる

https://www.google.com/fusiontables/api/query?sql=SHOW TABLES とかこんなかんじ。 認証情報は、先ほどのトークンを使用。 どこに埋め込むかというと、HTTPヘッダ。 Authorization: GoogleLogin auth=(トークン) です。POSTでもGETでも同じ。 そのうえで…

googleアカウントの認証

Androidでgoogleアカウントの認証をやってみようとしてみました。 2.1以降ということにして、AccountManager を使います。1.6はもういいことにしておいてやって下さい…。 http://d.hatena.ne.jp/adsaria/20101012/1286886888 あたり参照。 AccountManager#ge…