【はじプロ】位置を角度にノードンを攻略:つまづきやすいポイントを解説してみた

【はじプロ】つまづきやすいポイントを解説してみた(位置を角度にノードンを攻略) はじプロ解説

お疲れ様です。YUmarunosuke(ゆうまるのすけ@YUmaru16061307)です。

今回は、「ナビつき!つくってわかる はじめてゲームプログラミング」 (はじプロ)の位置を角度にノードンの解説をします。

以前、【はじプロ】つまづきやすいポイントを解説してみた(位置センサーノードンを攻略)にて、
位置センサーノードンの解説をしました。

そして皆さん、フリープログラミングを触っていると、
「位置を角度に」というノードンを見たことはありませんか?

「位置を角度に」?どう使うんだ・・・?

と思われる方も多いのではないでしょうか?

位置を角度にノードンは、ナビつきレッスンでは説明されない高度なノードンです。

是非、この記事をご覧いただき、
位置を角度にノードンの活用法を具体的に想像してみてください。

しっかり一緒に学んでいきましょう。

この記事はこんな人に読んでもらいたい
  • 位置を角度にノードンをふと見つけてしまったあなた
  • 位置を角度にノードンをどのように使えるかイメージできていないあなた
この記事を読めばこんなことがわかる
  • 位置を角度にノードンはがれんけつされたモノの位置を出力する役割
  • 角度を特定するには、3つの要素が必要
    • 座標軸
    • 基準点
    • モノの座標

位置を角度にノードンの役割とは?2つのモノの位置から角度を求める役割です

位置を角度にノードンがれんけつされたモノの位置を出力する役割を持っています。

モノの角度ってどうやって決まるのかな?

角度とは ある基準軸からの差を数値化したもの です。

まずは、モノの角度が決まる仕組みを解説します。

モノの角度を特定するために必要な3つの要素

角度を特定するには、3つの要素が必要です。

モノの角度を特定するために必要な3つの要素
  • 基準点
  • 基準軸
  • 基準点からのモノの位置

身の回りで角度をイメージしやすいモノとして、時計があります。

時計を例にとり、短針と長針の間の角度を求めたい
というシチュエーションで考えています。

角度を特定する要素1:基準点

【はじプロ】つまづきやすいポイントを解説してみた(位置センサーノードンを攻略)にて、
位置を特定する要素として、基準「」があることを説明しました。

  • 位置センサーノードンがれんけつされたモノの位置を出力する役割
  • 位置を特定するには、2つの要素が必要
    • 座標軸
    • 基準点

時計でいうと、長針・短針・秒針がつながっているところですね。

角度を求める手順において、回転する中心=基準点となります。

基準点とは、時計でいうと長針・短針・秒針がつながっているところ

角度を特定する要素2:基準軸

角度を測るためのスタート地点・ゴール地点です。

基準点と、次に説明するモノの座標をつなげることで、
基準軸を特定することができます。

角度を特定する要素3:基準点からのモノの座標

基準軸を描くには、基準点と評価点(長針・短針の先)を線でつないでやればよいです。

基準点は先程決めましたので、あとは長針・短針の先の座標がわかれば基準軸を描くことができます。

あとは、短針の基準軸から長針の基準軸が作り出す角度、
つまり、ある基準軸(短針の基準軸)からの差を求めると、
今回知りたい短針と長針の間の角度になります。

位置は 点(座標)と点 から求められるものですが、
角度は 線(軸)と線 から求められるものであることを理解しておきましょう。

モノの角度が決まる仕組み まとめ
  • 角度とは『ある基準軸からの差を数値化したもの』
  • モノの角度を特定するために必要な3つの要素
    1. 基準点
    2. 基準軸
    3. 基準点からのモノの位置

位置を角度にノードンを使ったプログラムの実演

位置を角度にノードンの解説を、実際のノードンガレージ画面を使って実演してみます。

下のようなプログラムを作ってみました。

プログラムの説明
  1. ヒトノードンの座標を位置センサーノードンが取得
  2. 位置センサーノードンが取得したX座標、Z座標を、位置を角度にノードンへ渡す
    • X軸=横方向
    • Z軸=縦方向
  3. 位置を角度にノードンが受け取った座標情報から角度を求めて、数つきモノノードンに出力

さて、先程説明した『モノの角度が決まる仕組み』に当てはめて考えてみましょう。

モノの角度が決まる仕組みに当てはめてみると・・・
  • 角度とは『ある基準軸からの差を数値化したもの』
    • [回答]数つきモノノードンが示す角度=ワールドの原点を中心とした、ワールドのX座標軸からの差
  • モノの角度を特定するために必要な3つの要素
    1. 基準点
      • [回答]ワールドの原点
    2. 基準軸
      • [回答]ワールドのX軸
      • [回答]ワールド原点~ヒトノードンに引いた軸
    3. 基準点からのモノの位置
      • [回答]ヒトノードンにれんけつした位置センサーノードンが取得した座標

これらの処理を、位置を角度にノードンを置いてつなげるだけでやってくれます。

実際に動かしてみると、下の動画のとおりになります。

位置を角度にノードンの解説まとめ

今回は、「ナビつき!つくってわかる はじめてゲームプログラミング」 (はじプロ)の位置を角度にノードンの解説をしました。

位置を角度にノードンの解説 まとめ
  • 入力された座標情報から、基準軸からの角度を求めて出力する役割
  • 角度とは『ある基準軸からの差を数値化したもの』
  • モノの角度を特定するために必要な3つの要素
    1. 基準点
    2. 基準軸
    3. 基準点からのモノの位置

前回の記事、
【はじプロ】つまづきやすいポイントを解説してみた(位置センサーノードンを攻略)
でも書きましたが、位置・角度・座標の考え方ってとてもとっつきにくいものです。

何故なら、この位置・角度・座標の考え方は、
数学における『ベクトル』や『正規座標・極座標』という概念を使っているからです。

言葉を聞くと、拒否反応・アレルギー等を示す方が多いでしょう。

しかし、ノードンをつなげていく、というとても簡単な操作に落とし込むことで、
お子さんでも簡単に位置・角度・座標を使いこなしていける。

つまり、
『ベクトル』や『正規座標・極座標』という概念を(感覚的であれ)理解する
ということにつながります。

ベクトルなんか習って何の役に立つんだろう?

と思った親御さんや指導者の方も多いのではないでしょうか?

今はゲームプログラミングに活用できていますし、音や振動の分析にも必須の知識です。
(理系の職業でしか使わないのでは?という疑問についてはごもっともです。)

楽しいゲームプログラミングを通じて、
学校で学ぶ辛い勉強も、必ず世の中で役に立つことがあるんだよ、
ということを、お子さんと一緒に感じていっていただけたらと思います。

では、次の記事までごきげんよう。

コメント

タイトルとURLをコピーしました