約 2,992,454 件
https://w.atwiki.jp/arprojectfun/pages/11.html
コメントプラグイン @wikiのwikiモードでは #comment() と入力することでコメントフォームを簡単に作成することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_60_ja.html たとえば、#comment() と入力すると以下のように表示されます。 名前 コメント
https://w.atwiki.jp/arprojectfun/pages/13.html
テストページみたいなもの。 実験のまとめやソースコードなどの解説などをまとめたものを書き込んでいこう。 GPS 緯度・経度による距離計算 冬休み中に実験したGPSのデータをもとに距離を解析しました。ほぼGoogleグループの転載。 GM-48ログデータ(VisualGPS(フリーソフト)を使用して出力したログです。 同ソフトで読み込むとグラフィカルに出力且つ平均等を算出してくれます) 10/2/6 14 30頃~16 00頃まで取ったデータ http //www29.atwiki.jp/arprojectfun?cmd=upload act=open pageid=16 file=GPSM48Log_anoon.zip 10/2/20 13 00~3時間ほど? http //www29.atwiki.jp/arprojectfun?cmd=upload act=open pageid=16 file=GPSM48Log_afternoon.zip GPSモジュール比較 調べたGPSモジュールを簡易にまとめてみた表です。 日本測地系と世界測地系 測地系変換について。 マーキュリー48のコマンド送信 現在利用中のGPS、マーキュリー48の測地系の切り替えについて マーキュリー38マニュアル また、型が一つ古いが、コマンドが使えそうであるためメモ 3Dプログラミング 開発環境の導入 DirectXのSDKの導入の仕方や、VisualStudioの導入の仕方 WinAPIとか Windowsプログラミングをやるには、これをすこし理解して欲しい。 Direct3D 入門 DirectXの3D描写の初期段階。 DirectShow 入門 DirectXで動画像処理を行う。 WiiRemote WillRemoteのプログラミング関係。 OpenCV OpenCVのプログラミング関係。 ソースコード置き場 作成したソースコード等はここに置いてください。 画像処理 メモリフォーマットについて 画像処理に関してのメモリの格納のされ方についてのまとめ 無線LAN WiFiAPIまとめ 無線LANのWindowsAPI。それぞれの使い方や、派生したライブラリ等のまとめ その他 TeX入門 TeX(テフ)とは高度な文章作成やPDF出力できるソフトウェアです。今後のプロジェクト文章 TeXによる報告書の書き方 中間報告書のファイルの扱い方について書きます はTeXで行う予定です。 ソースコードのバージョン管理とオンラインストレージの使い方 TortoiseSVNとBeanstalkの使い方、SugerSyncの導入の紹介 BackLogでのタスク管理 プロジェクトのタスク管理方法についてです。 GIFについて 「Ghost In Fun」についてのまとめページです。 実験動画 動画をアップしておきました(101027) パスは jlx です http //www1.axfc.net/uploader/C/so/123243
https://w.atwiki.jp/arprojectfun/pages/42.html
サンプルプログラム 書籍「はじめての動画処理プログラミング」の6章の list602.cpp
https://w.atwiki.jp/arprojectfun/pages/58.html
SampleGrabberによりカメラからの入力をテクスチャとして貼り付けたスプライトを背景として、スプライトの前方に3Dのメッシュオブジェクトを配置するプログラムについて。 プログラム SVN の下記の場所にあります。 mripo/trunk/directx/D3DObjectInFrontOfTexture ポイントとなったところ 今回のプログラムは 「薬のXファイルを表示するプログラム」 mripo/trunk/directx/ShowXFile_main20100511 と、 「テクスチャとしてスプライトにカメラ画像を張り付けるプログラム」 mripo/trunk/directx/TextureFromSampleGrabber2 を組み合わせたものです。 作成に際してポイントとなったところを書いておきます。 スプライトオブジェクトはワールドトランスフォームに影響されない スプライトオブジェクトはワールドトランスフォーム(絶対座標変換)によって座標変換されることはありません。 スプライトを移動させる場合は、 pSprite- Draw(pTexture, rect, vec3Center, vec3Position,D3DCOLOR_ARGB(255,255,255,255)); のように、スプライトオブジェクトのもつ Draw メソッドの第4引数で座標を指定する必要があります。 スプライトの描画前にはZバッファを無効にしておく スプライトオブジェクトの描画前にはZバッファを無効にしておきましょう。 でないと、スプライトと3Dオブジェクトが同時に表示されません。 Zバッファの有効/無効を切り替えるときは、 LPDIRECT3DDEVICE9 オブジェクトの持っているSetRenderState()を使います。 例) Zバッファを無効にするとき pDevice- SetRenderState( D3DRS_ZENABLE, FALSE ); Zバッファを有効にするとき pDevice- SetRenderState( D3DRS_ZENABLE, TRUE );
https://w.atwiki.jp/arprojectfun/pages/24.html
Visual Studio を用いてプログラミングを行う場合は、DirectXを使う上で必要なWin32 APIに関する記述はテンプレートにより自動的に追加されるので、最小限理解が必要な部分のみ解説されたサイトを紹介する。 プロジェクトの作成参考サイト よく解らない解説宣言部解説 _tWinMain関数解説 MyRegisterClass関数解説 InitInstance関数解説 WndProc関数説明 About関数解説 追記情報とか プロジェクトの作成 Visual Studio を起動させる。 上部のメニューから [ファイル(F)] - [新規作成(N)] - [プロジェクト(P)... Ctrl+Shift+N] を選択する。 左の「プロジェクトの種類(P) 」から「Visual C++」を選択し、 右の「テンプレート(T) 」から「Win32 プロジェクト」を選択して 適当な「プロジェクト名(N) 」を記入した後、[OK]ボタンをクリックする。 「Win32 アプリケーションウィザード」というウィンドウが表示されるので、 何もせずに[完了]ボタンをクリックする。 プロジェクトの作成はこれで完了。 参考サイト DirectX を扱う上での最小限の知識はコチラで得られる。 はじめてのWindowsプログラム【目次】 - プログラム初心者による3Dゲーム制作勉強日記 - livedoor Blog(ブログ) 詳細な解説はコチラを参考にすると良いかも Win32 API入門 よく解らない解説 自分でも解らない部分が多いですが、一応解説を入れておきます。 「プロジェクト名.cpp」を開いてください。これがメインのファイルです。 それ以外は飾りです(ぇ 宣言部 #include "stdafx.h" #include "sample2.h" #define MAX_LOADSTRING 100 // グローバル変数 HINSTANCE hInst;// 現在のインターフェイス TCHAR szTitle[MAX_LOADSTRING];// タイトル バーのテキスト TCHAR szWindowClass[MAX_LOADSTRING];// メイン ウィンドウ クラス名 // このコード モジュールに含まれる関数の宣言を転送します ATOMMyRegisterClass(HINSTANCE hInstance); BOOLInitInstance(HINSTANCE, int); LRESULT CALLBACKWndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACKAbout(HWND, UINT, WPARAM, LPARAM); 解説 変数宣言とプロトタイプ宣言です。見たこと無い型がいっぱいですが、#defineで定義したものなので気にしなくて良いです。 気になる方は型で右クリックで「定義へ移動」をクリックして、確認してください。 _tWinMain関数 int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO ここにコードを挿入してください。 MSG msg; HACCEL hAccelTable; // グローバル文字列を初期化しています。 LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_SAMPLE2, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // アプリケーションの初期化を実行します if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_SAMPLE2)); // メイン メッセージ ループ while (GetMessage( msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, msg)) { TranslateMessage( msg); DispatchMessage( msg); } } return (int) msg.wParam; } 解説 メインループです。一番最初にこれを読み込みます。int main()やvoid main()などと同じです。 引数がたくさんありますが、Windowsプログラミングではこれが標準の引数です。 最初の方は変数宣言だったり、ウィンドウクラスの設定だったりします。 一番大事なところは、「メイン メッセージ ループ」というところです。 ウィンドウからのイベントやメッセージを受け取ります。 そのあと、登録したコールバック関数によって処理することが出来ます。 Windowsプログラムのメインは ウィンドウ監視 → 何かあったらメッセージが伝えられる → それを元にコールバック関数で制御 ってな感じの流れになってます。(違ったらごめんw) コールバック関数については下のほうで定義します。 MyRegisterClass関数 // // 関数 MyRegisterClass() // // 目的 ウィンドウ クラスを登録します。 // // コメント // // この関数および使い方は、 RegisterClassEx 関数が追加された // Windows 95 より前の Win32 システムと互換させる場合にのみ必要です。 // アプリケーションが、関連付けられた // 正しい形式の小さいアイコンを取得できるようにするには、 // この関数を呼び出してください。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style= CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc= WndProc; wcex.cbClsExtra= 0; wcex.cbWndExtra= 0; wcex.hInstance= hInstance; wcex.hIcon= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SAMPLE2)); wcex.hCursor= LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground= (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName= MAKEINTRESOURCE(IDC_SAMPLE2); wcex.lpszClassName= szWindowClass; wcex.hIconSm= LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassEx( wcex); } 解説 使用するウィンドウ情報を登録する関数。ウィンドウを作るには情報の登録が必要です。 ここで、ウィンドウのスタイルやアイコンコールバック関数の登録などを行います。 この辺はテンプレなのでいじらない場合はこのままでも構いません。 InitInstance関数 // // 関数 InitInstance(HINSTANCE, int) // // 目的 インスタンス ハンドルを保存して、メイン ウィンドウを作成します。 // // コメント // // この関数で、グローバル変数でインスタンス ハンドルを保存し、 // メイン プログラム ウィンドウを作成および表示します。 // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // グローバル変数にインスタンス処理を格納します。 hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } 解説 登録したウィンドウ情報を元にウィンドウを生成する関数。 先程設定したウィンドウの情報を元にウィンドウを作成します。 CreateWindow関数でウィンドウを作り、ShowWindowでウィンドウを可視化します。 詳しい関数の説明はリファレンス等見てください。 WndProc関数 // // 関数 WndProc(HWND, UINT, WPARAM, LPARAM) // // 目的 メイン ウィンドウのメッセージを処理します。 // // WM_COMMAND- アプリケーション メニューの処理 // WM_PAINT- メイン ウィンドウの描画 // WM_DESTROY- 中止メッセージを表示して戻る // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; switch (message) { case WM_COMMAND wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // 選択されたメニューの解析 switch (wmId) { case IDM_ABOUT DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT DestroyWindow(hWnd); break; default return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT hdc = BeginPaint(hWnd, ps); // TODO 描画コードをここに追加してください... EndPaint(hWnd, ps); break; case WM_DESTROY PostQuitMessage(0); break; default return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } 説明 コールバック関数です。 ウィンドウから送られてきたメッセージを処理します。 例えば、「右上の×印を押されたときの処理は~しろ。」とか、「ボタン1が押されたときは~」って処理は此処に書きます。 詳しい説明は端折ります。 About関数 // バージョン情報ボックスのメッセージ ハンドラです。 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG return (INT_PTR)TRUE; case WM_COMMAND if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; } 解説 バージョン情報を開いた時のコールバック関数。 おそらく、バージョン情報を開いたときに、コールバック関数を入れ替えてると思われ。 追記情報とか 勝手に追加しちゃいました。迷惑でしたら、言ってください。 -- 村山 (2010-02-15 08 55 00) そんなことないですよ。追記ありがとうございます、助かりました -- 荒川 (2010-02-15 08 59 49) 名前 コメント
https://w.atwiki.jp/arprojectfun/pages/14.html
冬休み中にやった実験のまとめ 研究室からGPSを借りて、冬休み中に簡単に距離を計測した物のまとめである。 まず、函館の下宿からGPSを3時間ほど放置して、絶対座標を求めた。このrawデータは添付資料「GPSデータ(函館).csv」に記録されている。 こ れらの緯度経度の平均をとって、特定の座標をだした。同様に帯広でも同じように座標をとってやった。帯広での計測時間は1時間半であった。このデータも添 付資料「GPSデータ(帯広).csv」に乗っけておいた。中央値や、外れ値を除いたものをとってやっともいいと思う。暇があったら、ヒストグラムや正規 分布も作ってみる。 上記の結果から、球面三角法を用いて2点間の距離を求めた。詳しくは参考資料の「球面三角法」を参考。地球が半径Rの球、発着点の(緯度,経度)を(φ1,λ1)、終着点を(φ2,λ2)として、球面上で余弦定理をした。用いた式は以下の通り、 X = Arcos( sin(φ1) sin(ϕ2) + cos(ϕ1) cos(ϕ2) cos(λ2 - λ1) ) [rad]L = RX [km] 地球の半径を6356.752km、函館の緯度、経度を(0.729546824484331,2.45678625486799) 帯広の緯度、経度を(0.748838760791503,2.49958326980405)として、求めた結果が、 235.48330328530300kmとなった。 実際の距離は測っていないが、地図帳で計測した結果、250km位だったので、妥当な値ではないかと思う。 また、誤差をけいそくするため、rawデータから適当な値を入れて計測したが、誤差は10m未満まで抑えられることがわかった。 これらの計測結果は添付資料「距離計算.ods」にのっけておいた。自由に改変して構わないので各自いじってみること。 今後の課題は実際にリアルタイムで計測したいが、GPSのSDKが手にはいらないため難しい。 GPSロガーなどで計測したものから、マップや地図上への座標変換などできることが望ましいといえる。 最終的には3D 上でカメラやビューポートなどに反映できることが良い。 ここのページ編集がめんどくさい…wikiが欲しいな。 【追記:2010/01/10】 GPSデータをグラフにしてまとめたものをアップして起きました。 あと、最頻値や中央値も求めておきました。205は僕の部屋で206は隣の友人の部屋です。 206と205の部屋の距離は大体3mくらいです。また、206のデータに付いてはサンプリング数が少ないので、もう少し集めたいと思っています。 GPSをいじっていてわかったのですが、やっぱりサンプリングが多くないと正確な値は求められそうにないです。 最頻値と中央値では30mもの差が出てしまいました。誤差が少なくても20m強位は差が出てしまいました。 しかし、これはGPSでの精度の差になるので、もう少し良いGPSだともっと良いデータが取れるのではないかと思います。 参考資料 球面三角法 - [pdf] http //www.astro.sci.yamaguchi-u.ac.jp/~kenta/eclipse/SphericalTriangle081106.pdf 添付資料 GPSデータ: 帯広(東4条24丁目) GPSデータ(帯広).csv 函館(本通り1丁目) GPSデータ(函館).csv 距離計測データ: 距離計算.ods 追記データ:2010/01/10 GPSデータグラフ 下宿205.ods 下宿206.ods 距離計測データ: 距離計測.ods
https://w.atwiki.jp/arprojectfun/pages/19.html
みんなの疑問が解消されるページを目指して。 Q.WiiYourselfのビルドがうまくいかないのですが誰か分かる人いませんか?(加藤)A.インクルードフォルダの優先順位の問題です。(村山) Q.DirectX SDKのバージョンはどれを使っていますか?(荒川)A.DirectX SDK(November 2008)を使用しています。(村山) Q.WiiYourselfのビルドがうまくいかないのですが誰か分かる人いませんか?(加藤) 参考書籍のWiiRemoteプログラミングを使って作業してます。WiiYourself!1.01a をダウンロードし、 デモを動かすところまで出来たのですが、Visual Studioでビルドしようとすると、microsoft visual studio 9.0 の中にあるctype.h と excpt.h で構文エラーが起こり、ビルドできません。変更したくてもアクセス拒否されてしまい、 直すことも出来ません。誰か分かる人がいればぜひ教えてください。 ページは216からです。 A.インクルードフォルダの優先順位の問題です。(村山) 僕の環境でも、同様なエラーが起こりました。以下解決方法です 同名のインクルードすべきファイルが多数ある場合、インクルードされるファイルには優先順位がある様です。 以下のパスを「追加インクルードディレクトリ」に追加してみてください。 $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;C \WinDDK\7600.16385.0\inc\api;C \WinDDK\7600.16385.0\inc\ddk 参考URL - http //social.msdn.microsoft.com/forums/ja-JP/vcgeneralja/thread/a60f26d8-e09f-4d32-a54f-5ae3f340493a/ http //okwave.jp/qa/q5307092.html 別のエラーですが、こちらも参照ください。 参考URL - http //d.hatena.ne.jp/baby-lon/20091013/1255419595 これはビルド後のファイルのコピーなので、 copy $(TargetPath) $(ProjectDir)\..\ の部分を消してもかまいません。僕は上手く行かなかったので消しましたw Q.DirectX SDKのバージョンはどれを使っていますか?(荒川) 資料のページにあがっている miku-1.0.zip というファイルにあるVC++のプロジェクトファイルですが、 dxerr9.h , dxerr9.lib が見つからない というところでエラーが出ます。 調べてみるとどうやらDirectX SDKのバージョンによって dxerr9.h が DxErr.h に dxerr9.lib が DxErr.lib に なっていたりするようなのですが、 村山君のDirectX SDKのバージョンはいくつでしょうか? ちなみに私は以下のようになっています。 DirectXのバージョン Microsoft DirectX SDK (August 2009) インクルードファイル C \Program Files\Microsoft DirectX SDK (August 2009)\Include ライブラリファイル C \Program Files\Microsoft DirectX SDK (August 2009)\Lib\x86 A.DirectX SDK(November 2008)を使用しています。(村山) 現在のところ、バージョン別による解決方法が見つかっておりません。 おそらくバージョンは統一しますが、今のところは(November 2008) を使用してください。 2009との差はDirec3D10の部分が一部修正されているだけだと思いますので、ファイル名が変わっただけだと思います。 開発はDirect3D9で行おうと思っていますので、DirectX SDK(November 2008)で問題はないと思います。 資料または以下にリンクがあるので、そこからSDKをダウンロードして下さい。 DirectX SDK(November 2008) ダウンロードサイト
https://w.atwiki.jp/arprojectfun/pages/8.html
動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_209_ja.html また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
https://w.atwiki.jp/arprojectfun/pages/39.html
ノート DirectShow 入門 DirectXで動画像処理を行う方法について、DirectShow を用いて解説する。 DirectShow 入門 MSDNより DirectShowの概要 動画を再生するプログラムを作る はじめての動画処理プログラミングより 動画内の特定のフレームを表示する6章の 602.cpp Webカメラからのキャプチャ6章の 603.cpp, 604.cpp メモのようなもの SampleGrabberをビルドする SampleGrabberでWebカメラから取得した画像をテクスチャとして貼り付ける dxtrans.h が見つからないエラー処理の対処 スプライトを背景として3Dオブジェクトを配置する
https://w.atwiki.jp/arprojectfun/pages/64.html
「Ghost In Fun」についてまとめるページです。 透過PNGの仕様について 2定点の緯度・経度値について キーコマンドについて (2010/10/27 現在)センサー類無効モード (「5」キー)画面に表示されている情報について 操作方法 デバッグモード (「7」キー)画面内に表示されている情報について 操作方法 視点編集モード画面に表示される情報について 操作方法 幽霊編集モード画面に表示される情報について 操作方法 ; 透過PNGの仕様について GIFで表示する透過PNGは下記のように作成してください。 画像サイズ一辺の長さが2のべき乗に成っている正方形ただし一辺の長さは1024以下となること 2定点の緯度・経度値について 基点1のX 140.76696395874023 基点1のY 41.84131405065629 基点2のX 140.76657235622406 基点2のY 41.84145792325755 キーコマンドについて (2010/10/27 現在) 上部の数字キーは主にモード切り替えを行なっています。 センサー類無効モード (「5」キー) モード内での表示される情報、操作について 画面に表示されている情報について amount -- このモード内で値を変動させる際の変動値 gps_buf -- 井上君作成のクラスが返す割合の値(X, Z) gps_raw -- 井上君作成のクラスから取得するGPSの生の値(経度, 緯度) GPS_BASIS_1 -- 基点1の値(経度, 緯度) GPS_BASIS_2 -- 基点2の値(経度, 緯度) ec_ajust -- 電子コンパスの方角の補正値(度数に対して足す値) GhostTrans[0] -- 1体目のゴーストの座標、現在はスカイツリーの座標(X, Y, Z) vecEyePt -- 視点の座標(X, Y, Z) Head, Pitch, Roll -- 方角, 傾斜角度, 回転角度 (全て度数) 操作方法 5 モードのオン/オフ切り替え 3 amountから0.0001を減算 4 amountに0.0001を加算 Q gps_bufのX座標にamountを加算 A gps_bufのX座標からamountを減算 W gps_bufのZ座標にamountを加算 S gps_bufのZ座標からamountを減算 Z 視点を基点1へ移動 X 視点を基点1へ移動 E Headに1を加算 D Headから1を減算 C ec_ajustから1を減算 V ec_ajustに1を加算 Y Pitchに1を加算 H Pitchから1を減算 U Rollに1を加算 J Rollから1を減算 デバッグモード (「7」キー) 汎用的に使用するデバッグのモードです。 画面内に表示されている情報について debug_rad -- スムージングを適用した電子コンパスの方角(ラジアン) debug_dist -- 視点と注視点の距離 ec_roll -- スムージングを適用した電子コンパスのRoll角(ラジアン) ec_pitch -- スムージングを適用した電子コンパスのPitch角(ラジアン) debug_gpsx, ajust -- 補正後のX軸の割合の値, 補正のために加算される値 debug_gpsy, ajust -- 補正後のZ軸の割合の値, 補正のために加算される値 koba -- 0番の幽霊オブジェクトの座標、現在はスカイツリーの座標(X, Y, Z) vecEyePt -- 視点の座標(X, Y, Z) debug_gps_lat -- GPSの生の緯度値 debug_gps_lon -- GPSの生の経度値 ec_ajust -- 電子コンパスの方角の補正値(度数に対して足す値) GPS_BASIS_1 -- 基点1の値(経度, 緯度) GPS_BASIS_2 -- 基点2の値(経度, 緯度) vecLookatPt -- 注視点の座標(X, Y, Z) 操作方法 7 モードのオン/オフ切り替え Q GPS_BASIS_X1に0.000001を加算 A GPS_BASIS_X1から0.000001を減算 Z GPS_BASIS_X1にdebug_gps_lonを設定 W GPS_BASIS_Y1に0.000001を加算 S GPS_BASIS_Y1から0.000001を減算 X GPS_BASIS_Y1にdebug_gps_latを設定 R GPS_BASIS_X2に0.000001を加算 F GPS_BASIS_X2から0.000001を減算 V GPS_BASIS_X2にdebug_gps_lonを設定 T GPS_BASIS_Y2に0.000001を加算 G GPS_BASIS_Y2から0.000001を減算 B GPS_BASIS_Y2 = debug_gps_lat U GPSのクラスが返すX座標の割合に対する補正値に幽霊編集モードのamountを加算 J GPSのクラスが返すX座標の割合に対する補正値から幽霊編集モードのamountを減算 I GPSのクラスが返すZ座標の割合に対する補正値に幽霊編集モードのamountを加算 K GPSのクラスが返すZ座標の割合に対する補正値から幽霊編集モードのamountを減算 視点編集モード 視点、注視点、上方ベクトルについて表示・編集を行なうモードです。 ただし、現在は視点・注視点・上方ベクトルが各種センサからの情報でリアルタイムに上書きされてしまうので、編集機能については事実上無効になっています。 画面に表示される情報について amount -- このモード内で値を変動させる際の変動値 vecEyePt -- 視点の座標(X, Y, Z) vecLookatPt -- 注視点の座標(X, Y, Z) vecUpVec -- 上方ベクトル(X, Y, Z) Last save -- 編集した視点情報を保存した最終日時(「Yet」では未だ保存されていない) 操作方法 8 モードのオン/オフ切り替え 3 amountから0.1を減算 4 amountに0.1を加算 0 視点情報をファイルに保存 Q vecEyePtのX座標にamountを加算 A vecEyePtのX座標からamountを減算 W vecEyePtのY座標にamountを加算 S vecEyePtのY座標からamountを減算 E vecEyePtのZ座標にamountを加算 D vecEyePtのZ座標からamountを減算 R vecLookatPtのX座標にamountを加算 F vecLookatPtのX座標からamountを減算 T vecLookatPtのY座標にamountを加算 G vecLookatPtのY座標からamountを減算 Y vecLookatPtのZ座標にamountを加算 H vecLookatPtのZ座標からamountを減算 U vecUpVecのX座標にamountを加算 J vecUpVecのX座標からamountを減算 I vecUpVecのY座標にamountを加算 K vecUpVecのY座標からamountを減算 O vecUpVecのZ座標にamountを加算 L vecUpVecのZ座標からamountを減算 幽霊編集モード 幽霊オブジェクトの、現在はスカイツリーの回転、座標、スケールを編集するモードです。 画面に表示される情報について amount -- このモード内で値を変動させる際の変動値 Rot -- オブジェクトの回転(X, Y, Z)(それぞれラジアン) Trans -- オブジェクトの座標(X, Y, Z) Scale -- オブジェクトのスケール(X, Y, Z) Last save -- 編集したオブジェクト情報を保存した最終日時(「Yet」では未だ保存されていない) 操作方法 9 モードのオン/オフ切り替え 3 amountから0.1を減算 4 amountに0.1を加算 0 オブジェクト情報をファイルに保存 Q X軸のRotにamountを加算 A X軸のRotからamountを減算 W Y軸のRotにamountを加算 S Y軸のRotからamountを減算 E Z軸のRotにamountを加算 D Z軸のRotからamountを減算 R TransのX座標にamountを加算 F TransのX座標からamountを減算 T TransのY座標にamountを加算 G TransのY座標からamountを減算 Y TransのZ座標にamountを加算 H TransのZ座標からamountを減算 U X軸のScaleにamountを加算 J X軸のScaleからamountを減算 I Y軸のScaleにamountを加算 K Y軸のScaleからamountを減算 O Z軸のScaleにamountを加算 L Z軸のScaleからamountを減算