Minoのブロック配置のデータ構造 K.Yonezawa.

Slides:



Advertisements
Similar presentations
Absolute Orientation. Absolute Orientation の問題 二つの座標系の間における剛体 (rigid body) 変換を復元す る問題である。 例えば: 2 台のステレオカメラから得られた3次元情報の間の関 係を推定する問題。 2 台のステレオカメラから得られた3次元情報の間の関.
Advertisements

第2回:力・つりあい 知能システム工学科 井上 康介 日立キャンパス E2 棟 801 号室 工業力学 補足スライド Industrial Mechanics.
模擬国内予選2013 Problem F テトラ姫のパズル 原案:須藤 解答:大友、須藤 解説:須藤.
ファーストイヤー・セミナーⅡ 第13回 2次元グラフィックス(1). 2次元グラフィックス Ultra-C では、これまで利用してきた「標準入出力」 以外に「グラフィックス画面」があり、図形などを 表示できる C 言語のグラフィックスには細かな規定がなく、こ れから学ぶ内容が他の環境、システムでは利用でき.
ロボットシミュレーション ODE Dynamics Engineによるロボットプログラミング
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
初級ミクロ経済学 -消費者行動理論- 2014年9月29日 古川徹也 2014年9月29日 初級ミクロ経済学.
第2回Unity講座 コンパイラ班 3年 山崎 弘靖.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
プログラミング演習3 李 亜民クラス 第2回 ラスタライズ.
「わかりやすいパターン認識」 第1章:パターン認識とは
プロジェクト演習Ⅳ インタラクティブゲーム制作 プログラミング4
Bipartite Permutation Graphの ランダム生成と列挙
プログラミング言語としてのR 情報知能学科 白井 英俊.
形状を平行移動や回転移動させて位置を変えたり,拡大・縮小して変形させる方法を説明する.
アルゴリズムとプログラミング (Algorithms and Programming)
Unity, C# マウスでモデルを移動させる方法
平成23年8月 情報学群 岡田 守 このスライドは, 前川佳徳編著による「コンピュータグラフィックス」(オーム社)を基に作成されている.
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
第9章 オブジェクトの構築 日下部研究室 修士2年 秋本 浩平.
透視投影(中心射影)とは  ○ 3次元空間上の点を2次元平面へ投影する方法の一つ  ○ 投影方法   1.投影中心を定義する   2.投影平面を定義する
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
AR概要とNyARToolkitについて
高山建志 五十嵐健夫 テクスチャ合成の新たな応用と展開 k 情報処理 vol.53 No.6 June 2012 pp
第20章 Flyweight ~同じものを共有して無駄をなくす~
第11回 オブジェクト(ベクトル,頂点,面)のクラス化とフラットシェーディング
3次元での回転表示について.
UMLとは           032234 田邊祐司.
圧倒的な情報量!! フルデジタル業務の必須アイテム 高解像度4Kディスプレイのご提案
3D散歩ゲーム 08A2043 谷口盛海 種田研究室.
情報工学演習I 第12回 C++の演習4(インライン展開).
Computer Graphics 第3回 座標変換 芝浦工業大学情報工学科 青木 義満
OpenGLを使ったプログラム作成 澤見研究室
第5章:特徴の評価とベイズ誤り確率 5・3:ベイズ誤り確率とは
第9回 卒業研究1
5章  3次元形状を2次元面に投影する 3次元空間内に定義した形状を,2次元面上(ディスプレイのスクリーン面,プリンタの紙面など)に投影して表示するために必要になる変換について説明する.
3次元での回転表示について.
デジタル画像とC言語.
精密単独測位(PPP)による スタティック・キネマティック 測位精度の評価
SURF+BoFによる特定物体認識 卒業研究1 1 11/27/11.
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
第2回課題 配布した通り.氏名・学生番号を忘れないこと.
実空間における関連本アウェアネス 支援システム
速度ポテンシャルと 流線関数を ベクトルで理解する方法
独習Java ・ 5.7  静的変数と静的メソッド ・ 5.8  ローカル変数と変数のスコープ  11月20日    小笠原 一恵.
線形判別分析 Linear Discriminant Analysis LDA
アルゴリズムとプログラミング (Algorithms and Programming)
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
マイグレーションを支援する分散集合オブジェクト
オブジェクト指向プログラミング クラス 継承
地理情報システム論(総)/ 国民経済計算論(商)
高精細計算を実現するAMR法フレームワークの高度化 研究背景と研究目的 複数GPU間での袖領域の交換と効率化
第9章 学習アルゴリズムとベイズ決定側 〔3〕最小2乗法とベイズ決定側 発表:2003年7月4日 時田 陽一
サブゼミ第7回 実装編① オブジェクト型とキャスト.
物理的側面を表現する図 石原研 古賀浩之.
アルゴリズムとデータ構造1 2009年6月15日
目で見る一次変換 河合塾 数学科 生越茂樹 オゴセ シゲキ.
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
モグラたたき.
プログラミング演習Ⅱ 課題4第4週 画像処理 (2) 応用.
Othello G班         山崎 木下 山本 上手      .
視覚補助のための物体検出 白井研究室 T 若松大仁
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
アルゴリズムとデータ構造 2010年6月17日
ソフトウェア工学 知能情報学部 新田直也.
プログラミング入門2 第5回 配列 変数宣言、初期化について
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
PowerPoint の基本操作 情報機器の操作 (e).
Presentation transcript:

Minoのブロック配置のデータ構造 K.Yonezawa

MinoBlocksクラスの必要性 MinoクラスのインスタンスはMinoのブロック並びを管理し、TetrisFieldインスタンスにそのブロック並びが有効(置ける)かを問い合わせる 「Minoのブロック並び」を保持するクラスがあると、一度に複数ブロック座標をまとめてTetrisFieldに渡すことが出来て楽

MinoBlocksクラスの要件 N個(Create時に指定)のブロック座標と状態(色)が保持できること 出来れば、無駄なメモリが不要なようにしたい TetrisFieldオブジェクトが、MinoBlocksで表せるMinoとぶつからないか判別できること 移動が簡単に出来ること 上下左右 回転させることが出来ること 将来的に複雑なMinoを実装する場合、回転出来ると便利 (TetraMinoの場合はあまり重要ではないが…)

MinoBlocksの表現法 ベース座標とそこからの相対座標(ベクトル)により表す Block(i)の絶対座標 (0, -1) (1, -1) Base (1, 0) (1, 1) Block(i)の絶対座標 = Baseの絶対座標 + Block(i)の相対座標

MinoBlockの移動 Base座標にのみ移動分を加えればよい Base += offset (2次元ベクトル) (0, -1) (1, -1) Base (1, 0) (1, 1) (OLD) Base += offset (2次元ベクトル) offset (2, -2)

MinoBlockの回転 Base座標を中心とした回転なら、各相対座標の単純計算だけで事足りる 90度 90度回転 (0, -1) B (1, -1) Base C (1, 0) D (1, 1) 90度 Base A (1, 0) D (-1, 1) C (0, 1) B (1, 1) 90度回転 回転後x = - 回転前y 回転後y = 回転前x 270度回転 回転後x = 回転前y 回転後y = -回転前x