プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース

Slides:



Advertisements
Similar presentations
画像処理・実習 第十四回:パターン認識 東海大学 情報理工学部 情報メディア学科 濱本和彦. 今回の内容 5. パターン認識 5.1 マッチングの原理 5.2 テンプレートマッチング 実習 相互相関とテンプレートマッチング.
Advertisements

シミュレーション演習 G. 総合演習 ( Mathematica 演 習) システム創成情報工学科 テキスト作成: 藤尾 光彦 講義担当: 尾下 真樹.
1 微分・ベクトル解析 (4) 講師:幹 浩文( A314) TA :西方良太 M 1 ( A305 ) A 1 03 ( 10 : 50~12 : 20 ) 【金】 https://
1 運動方程式の例2:重力. 2 x 軸、 y 軸、 z 軸方向の単位ベクトル(長さ1)。 x y z O 基本ベクトルの復習 もし軸が動かない場合は、座標で書くと、 参考:動く電車の中で基本ベクトルを考える場合は、 基本ベクトルは時間の関数になるので、 時間で微分して0にならない場合がある。
0章 数学基礎.
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
プロジェクト演習Ⅳ インタラクティブゲーム制作 プログラミング4
情253 「ディジタルシステム設計 」 (3)Constellation3
・力のモーメント ・角運動量 ・力のモーメントと角運動量の関係
伝達事項 皆さんに数学と物理の全国統一テストを受けても らいましたが、この時の試験をまた受けていただ きます。
電子物性第1 第3回 ー波動関数ー 電子物性第1スライド3-1 目次 2 はじめに 3 電子の波動とは? 4 電子の波動と複素電圧
中学数学1年 5章 平面図形 §1 図形の基礎と移動 (7時間).
平成23年8月 情報学群 岡田 守 このスライドは, 前川佳徳編著による「コンピュータグラフィックス」(オーム社)を基に作成されている.
CGプログラミング論 平成28年6月1日 森田 彦.
Handel-Cによる       エアホッケー.
大阪工業大学 情報科学部 情報システム学科 宇宙物理研究室 B 木村悠哉
プロジェクト演習Ⅱ インタラクティブゲーム制作
第3章 重回帰分析 ー 計量経済学 ー.
第3章 重回帰分析 ー 計量経済学 ー.
伝達事項 試験は6/6 (土) 1限目の予定です。.
システム開発実験No.7        解 説       “論理式の簡略化方法”.
10.通信路符号化手法2 (誤り検出と誤り訂正符号)
3次元での回転表示について.
動力学(Dynamics) 運動方程式のまとめ 2008.6.17
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
Handel-Cを用いた ちょっとレトロ な 「よけゲー」 の設計
リアル卓球 B2 Ryo.
二分木説明 点Cの座標を求めよ。.
CGプログラミング論 平成28年5月25日 森田 彦.
3D散歩ゲーム 08A2043 谷口盛海 種田研究室.
マイケルソン・モーレーの実験の検証 マイケルソン・モーレーの実験ではもう一つの往復光を垂直方向に分けて行った。
電気回路学 Electric Circuits コンピュータサイエンスコース、ナノサイエンスコース4セメ開講 円線図 山田 博仁.
第10回関数 Ⅱ (ローカル変数とスコープ).
プログラミング 平成23年12月21日 森田 彦.
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
垂直多関節ロボット 座標認識システムの構築
3次元での回転表示について.
知能システム論I(13) 行列の演算と応用(Matrix) 2008.7.8.
実習その2 銀河までの距離を求める 信州大学工学部情報工学科2年 村仲 渉.
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
プロジェクト演習Ⅱ インタラクティブゲーム制作
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
パターン認識特論 担当:和田 俊和 部屋 A513 主成分分析
様々な情報源(4章).
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
情報処理Ⅱ 第2回:2003年10月14日(火).
第2回課題 配布した通り.氏名・学生番号を忘れないこと.
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
プロジェクト演習Ⅳ インタラクティブゲーム制作 プログラミング4
第3回 基礎作図 基本的な作図法をしっかりと学ぶ! 本日の課題.
わかりやすいパターン認識 第7章:部分空間法  7.1 部分空間法の基本  7.2 CLAFIC法                  6月13日(金)                  大城 亜里沙.
コンピュータグラフィックス 実習3: 光線追跡法
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
地理情報システム論 第4回 コンピュータシステムおける データ表現(2)
円線図とは 回路の何らかの特性を複素平面上の円で表したもの 例えば、ZLの変化に応じてZinが変化する様子 Zin ZL
プログラミング言語論 第10回 情報工学科 篠埜 功.
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
精密工学科プログラミング基礎 第7回資料 (11/27実施)
モグラたたき.
パターン認識特論 カーネル主成分分析 和田俊和.
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
情報処理Ⅱ 第2回 2004年10月12日(火).
3.1 シューティングゲームの当たり判定 当たったら死亡.
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
逆運動学(Inverse Kinematics) 2007.5.15
空間図形の取り扱いについて.
Presentation transcript:

プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース 第8回 ゲームで使えるベクトル演算

今日の資料構成 ベクトルの基礎についてはPDFを参照 それをゲーム的にどう使うかをPPTで解説

今日の知識でできること ベクトルが表しているものの区別 距離による判定 角度による判定 真横の方向をゲットできる

ごっちゃにしてませんか? ベクトルは時と場合によって、 「座標」を表したり「方向」を表したり「移動量」を表したりと、 その意味合いが変化します fk_Modelのメンバ関数もごっちゃになる人が多いので、もう一度整理しましょう

fk_Modelで扱う ベクトルのセマンティクス一覧表 セマンティクスとは 「意味」をかっこよく言った表現 とりあえずグローバル座標版のみ ローカル座標はまた後ほど getVec()、getUpvec()で得られる方向ベクトルは 常に長さが1である 正規化済み 関数名 動作 得る物・与える物 getPosition() 取得 座標 getVec() 方向 getUpvec() getVec()との垂直方向 glRotate() 設定 軸を通る座標 …withVec() 軸を構成する座標 glTranslate() 移動量付きの方向 glMoveTo() glFocus() 注視する座標 glVec() glUpvec() glVec()との垂直方向

セマンティクスごとの ベクトル演算結果一覧表 今回の資料と合わせてよく確認しておくこと 位置+位置はありえない ただし、tA+(1-t)Bの形式で表した式は線分上の任意の点を表す これは次回以降取り扱う 計算式 得られる物 位置+位置 Perdon? 位置Aー位置B BからAへの方向 位置A+方向B AからB進んだ位置 位置Aー方向B AからB戻った位置 方向A+方向B 合成された方向 方向Aー方向B 位置*実数 方向*実数 長さを実数倍した方向

距離判定 もはや言うまでもあるまい 位置Aー位置Bで得られたベクトルの長さを求めて、条件判定に利用できる fk_Vectorではdist()関数が利用できる fk_Vector vecAB = posB – posA; double distance = vecAB.dist(); こんな裏技もあるよ (posB-posA).dist();

角度判定 プレイヤーモデルの位置(posP)と、 敵モデルの位置(posE)と方向(vecE)から 「一定の角度内にプレイヤーが入ると追いかけてくる敵の動き」が実現できる 敵モデルから見たプレイヤーモデルへの方向を求める(vecEP = posP-posE) それを正規化して(vecEP.normalize())、 vecEとの内積を取る 得られたcosθの値を使って条件判定

外積の使い方 前述した角度判定の結果が「左右どっち側に何度なのか」を調べるのに利用 真横の方向をゲット 実演します glVec()^glUpvec()で右方向のベクトルが 得られる

今日の課題 一定距離内に一定の角度で近づいた場合、 プレイヤーモデル(キー操作可能なモデル)を追跡してくる動きを実現せよ