JavaでARマーカー認識プログラムを、フルスクラッチで書いた時のレポート。各種アルゴリズムを解説。
Javaで「NyARToolKit」互換のARマーカー認識プログラムを、フルスクラッチで書いた時のレポートです。
入力画像からマーカーを検出して、3D上に配置するまでのアルゴリズムを解説しています。
ARマーカーを認識する基本的な処理の流れとともに、その処理の内容を、文章と図で説明しています。
-目次-
● はじめに
AR マーカー
ARToolKit
独自ARマーカー認識プログラム開発の経緯
独自ARマーカー
● アルゴリズムの大枠
はじめに
処理の流れ
用語解説
● プログラムを書く前に
GC対策
オブジェクトの参照
ループの判定内で計算を行わない
キャストを避ける
配列のコピーには、System.arraycopyを使う
その他細かな無駄を省く
● 画像の加工
ガウス・フィルタ
2値化
ラベリング
ラベルの排除
ラベルに付随して記録する値
通常のARマーカーを認識する方法
● パターン認識
ラベルのソート
パターン形成
4×4の行列を符号化
● 空間認識
はじめに
モデル・ビューのX軸、Y軸、Z軸を計算
Z方向の移動量を計算
X、Y方向の移動量を計算
モデル・ビューの行列を生成
● 終わりに
© 2012 柳井政和
JavaScriptのエラー メッセージについて、サンプル コードと、Chrome、Firefoxでのログを掲載して解説した本です。
プログラミングの初心者は、エラー メッセージを読まないことが多いです。そのため、エラー メッセージを読むこと、その内容を調べることをよく伝えます。また、MDNの「JavaScript エラーリファレンス」をすすめます。
本書では、MDN の「JavaScript エラーリファレンス」を元に、その全てをサンプル コードを書いて検証しました。実際に実行すると、Chrome と Firefox でエラー メッセージが異なっていたり、挙動が違っていたりすることが分かります。本書では、このサンプル コードとエラー メッセージを全て掲載して解説しています。
本書で取り上げている項目は、2022年9月1日時点で MDN の「JavaScript エラーリファレンス」に掲載されているものです。サンプル コードとともに、実際にはどのようなエラーが発生するのかを確認してください。
目次は以下になります。
- 目次 -
まえがき
第1章:ReferenceError
第2章:SyntaxError
第3章:TypeError
第4章:RangeError
第5章:URIError、InternalError、Error
第6章:Warning
あとがき
巻末付録
330円〜1,980円(税込)
2022-11-17 ver 1.4.0
・Electron 21.0.1 に対応。
2021-10-09 ver 1.3.0
・Electron 15.0.0 に対応。
・preload版、Node使用版同梱。
・28→38ページに増量。
HTMLレンダリングエンジンWebkitに、JavaScriptの実行環境node.jsが合体した『Electron』を利用すれば、HTML5の知識を利用してGUIアプリケーション(WinwosのEXEファイル)を作成できます。
『Electron』は、『Atom』や『Visual Studio Code』など、多くのソフトウェアで採用されている開発環境です。
この『Electron』を使って、GUIアプリケーションを作成する勘所を、本書ではまとめています。
サンプルとしてシンプルな「マークダウンエディタ」を作り、その全ソースコードを掲載しています。
-目次-
前書き
第1章 環境構築
1 nodistを利用したNode.jsの環境構築
2 Electronの環境構築
3 package.json
4 [preload利用] はじめの一歩
5 [Node利用] はじめの一歩
6 実行
第2章 Electron特有の知識
1 Node.jsとElectronの機能
2 メインとレンダラー 2つのプロセス
3 IPC - プロセス間通信
4 メニューとショートカット
第3章 配布用パッケージの作成
1~6
第4章 [preload利用] メイン プロセス側のコード
1~5
第5章 [preload利用] レンダラー プロセス側のコード
1~9
第6章 [Node利用] メイン プロセス側のコード
1~2
第7章 [Node利用] レンダラー プロセス側のコード
1~6
後書き
レトロゲーム風RPGの全コードを掲載して解説した本です。HTML5+JavaScriptで、ライブラリを使わずにゼロから開発しています。サンプルとして『OheyaQuest』という、マップ自動生成タイプのRPGが付属します。
実際に遊べるRPGを試しながら、その中身を確認できる技術書です。シンプルなコードなので理解しやすいです。
サンプルゲーム『OheyaQuest』の紹介もします。広いマップを自由に旅して、街を回ってアイテムや呪文を集めます。最後は城に行き、闇の王を倒すとクリアです。10分ほどで遊べます。
本書を通して、ゲーム開発の勘所をつかんでいただければと思います。
-目次-
前書き
第1章 全体像
1-1 作るRPGの仕様
1-2 ファイル構造
1-3 大まかな分類
1-4 js-game/nest.js
1-5 シーンのファイルの構造
第2章 HTML、CSS、main.js他
第3章 ゲーム基本関数
第4章 リソース管理関数
第5章 タイトル シーン
第6章 マップ シーン
第7章 イベント シーン
第8章 バトル シーン
後書き
『テトリス』や『ぷよぷよ』に類似した落ち物パズルゲームの全コードを掲載して解説した本です。HTML5+JavaScriptで、フルスクラッチで開発しています。サンプルとして『Cthulhu Drop』という、落ち物パズルゲームが付属します。
実際に遊べる落ち物パズルゲームを試しながら、その中身を確認できる技術書です。シンプルなコードなので理解しやすいです。
サンプルゲーム『Cthulhu Drop』の紹介もします。横2列、縦1~3列のブロックが落ちてきます。落下物は時計回り、反時計回りに回転できます。
落下後、重力に従ってブロックは落下します。そして、縦横斜めに3ブロック以上連続していると消去できます。また、消えたブロックに隣接する同種のブロックも消滅します。連鎖が終了するまで、消え続けます。
本書を通して、ゲーム開発の勘所をつかんでいただければと思います。
-目次-
前書き
第1章 全体像
1-1 作る「落ち物パズルゲーム」の仕様
1-2 キー操作
1-3 ファイル構造
1-4 大まかな分類
1-5 js-game/nest.js
1-6 シーンのファイルの構造
第2章 HTML、CSS、main.js他
第3章 タイトル シーン
第4章 ドロップ シーン
第5章 描画処理
第6章 ゲーム処理
第7章 ゲーム基本関数
第8章 リソース管理関数
後書き
ライブラリを使わずに、全てのコードを書いて、リバーシゲームを作り上げるところまでを徹底解説した本です。コードの全ての行を解説しています。大ボリュームで徹底的に解説します。
サンプルとして実際に遊べるリバーシゲームが付属します。プログラミング言語はJavaScriptですが、低レベルな命令から作り、ゲームを完成させるまでの作業は、他のプログラミング言語にも応用できます。
ゲームのプログラムには、簡単なアニメーションによるエフェクトが入っており、簡易な思考アルゴリズムも実装しています。
本書を通して、ゲーム開発の勘所をつかんでいただければと思います。
-目次-
序章 はじめに
第1章 イントロダクション
第2章 リバーシゲームの構造
第3章 ◆◆ 基本処理を作る ◆ ◆
第4章 キャンバスの初期化
第5章 game.coreその他
第6章 画像の読み込みと管理
第7章 フォントの読み込み
第8章 サウンドの読み込み
第9章 アニメーションの管理
第10章 UIの管理
第11章 画像の縮小
第12章 ◆◆ リバーシの描画を作る ◆◆
第13章 背景の描画
第14章 盤面の描画
第15章 石の描画
第16章 スコアの描画
第17章 手番プレイヤーの描画
第18章 描画キャッシュの作成
第19章 エフェクト
第20章 盤面クリック
第21章 ◆◆ ゲームを作る ◆◆
第22章 ゲームの初期化
第23章 リバーシゲームのシステム
第24章 ゲームの進行
第25章 COMの思考
第26章 終わりに
タワーディフェンス ゲームの全コードを掲載して解説した本です。HTML5+JavaScriptで、ライブラリを使わずに開発しています。サンプルとして『Defense++』と『アマビエディフェンス』という、2本のタワーディフェンス ゲームが付属します。
実際に遊べるタワーディフェンス ゲームを試しながら、その中身を確認できる技術書です。シンプルなコードなので理解しやすいです。
本書を通して、ゲーム開発の勘所をつかんでいただければと思います。
-目次-
前書き
第1章 全体像
1-1 作る「タワーディフェンス」の仕様
1-2 大まかな分類
1-3 js-game/utl.js
第2章 HTML、CSS、main.js他
第3章 タイトル シーン
第4章 ディフェンス シーン
第5章 ゲーム処理
5-1 Defense
5-2 Enemy
5-3 Tower
5-4 Bullet
第6章 描画処理
6-1 基本
6-2 Enemy, Tower, Bullet
第7章 ゲーム基本関数
第8章 リソース管理関数
後書き
付与コインの内訳
120コイン
会員ランク(今月ランクなし)
0%
コインUPキャンペーン
40%
複数商品の購入で付与コイン数に変動があります。
クーポンご利用時はキャンペーンコイン付与の対象外です。
詳しくは決済ページにてご確認ください。
会員ランクの付与率は購入処理完了時の会員ランクに基づきます。
そのため、現在表示中の付与率から変わる場合があります。