ゲームプログラミングから見る数学 #5 ~行列・後編~

こんにちは。インターン生の小野です。

いよいよ最終回となってしまいました。
今回は、3Dモデルの描画について書いていきたいと思います。

3次元の空間に物を描画する、ということは、ベクトルを(x, y)のように表すことはできません。
z軸(奥行き)というものが存在するため、(x, y, z)と3つのベクトルで表します。

ベクトルが3つになったので、3×3行列で考えます。
3×3行列になっても計算方法はほとんど変わりません。
単純に計算が少し大変になるだけです。

さて、3次元空間でも行列を扱えるようになったと言いたいところですが、実はそんなことはありません。
3Dグラフィックスの世界では、3×3行列ではなく「4×4行列」を扱います。

変換する前のベクトルが(x, y, z, 1)となっており、4つ目のところには今回1が設定されています。
なぜ1なのかを書くとちょっと長くなるので、この記事では省略します。

4×4行列を扱う理由として「拡大縮小・回転・移動がすべて1つの行列で済む」ということがあります。
その結果、処理を高速化することが出来ます。
上の2つの図を見てみると、3×3行列は9回、4×4行列は16回の掛け算を行っています。
例として拡大してから回転させる、という処理を考えると、3×3行列なら9×2の18回、4×4行列なら16回の掛け算を行うことになります。
比べてみると4×4行列のほうが計算数が少ないですね。
3D処理はほかの処理と比べて特に処理が多いので、1つの行列にまとめて計算するほうが効率がいいのです。

また、行列の性質として、「掛け算の順番を変えると結果が変わる」という性質があります。
行列の世界においては、2×3と3×2は答えが違ってきます。
掛ける順番を間違えないためにも、1回の処理で済ませたほうがいいということが分かります。

では、実際に計算の例をみてみましょう。

拡大縮小の処理です。これは前回も似たような行列を扱いました。
行列の右の列と下の行を除けば、そのまま前回の行列と同じ形になります。

平行移動の処理です。3Dグラフィックスの世界ではこれも行列で扱います。

これらの処理を繰り返し行うことで、モデルにアニメーションをさせています。
みなさんが遊ぶ3Dゲームも、行列による変換を繰り返すことで作られているのです。

「ゲームプログラミングから見る数学」の記事、いかがだったでしょうか。
ここで書いたことがすべてではありません。
説明のために簡略化した部分や、省略した話もあります。
この記事をとっかかりにして、ぜひ自分で調べてみてください。
ここまで読んでいただき、本当にありがとうございました。

興味を持たれた方はお気軽にお問い合わせください。

ゲームプログラミングから見る数学 #4 ~行列・前編~

こんにちは。インターン生の小野です。

いよいよ第4回の記事となりました。今回のテーマは『行列』です。
高校でも扱わないことがあるので知らない方も多いと思います。
早速やっていきましょう。

まず、行列とはこのような形をしています。

数字が4つ書いてありますね。
数字が2×2で並んでいるため、これを2×2行列と呼びます。
行列は基本的に、ベクトルに対して計算します。
今回は例として、ベクトル(2, 3)を考えます。

このように掛け算を行います。ベクトルは縦に書きます。
行列とベクトルの計算は次のようにします。

分かりやすいように色をつけました。
計算結果から、(8, 18)という新しいベクトルが出てきました。
このように、行列とは「ベクトルから新しいベクトルを作り出す計算」のことを指します。
プログラミングでいう関数のようなものです。

さて、次の例を見てみましょう。

(3, 4)というベクトルが、(9, 8)というベクトルに変換されました。
これをみて気づくことはないでしょうか。
3 × 3 = 9
4 × 2 = 8
行列の数字の分だけ拡大されたベクトルになっています。
右上と左下が0の行列は、特定の量だけ拡大する行列となります。

次の例は、ゲームにおいて特に重要な行列です。
それは、回転行列と呼ばれるものです。
その名の通り、ベクトルを回転させる行列のことです。

回転行列は、このような形をしています。
三角関数がここでも出てきます。
この行列を掛けると、原点を中心として回転する、という性質があります。

今回は(4, 0)のベクトルを90度回転してみました。
sin90°= 1、cos90°= 0なので、
結果は(0, 4)と、確かに90度回転しています。

このように、掛ける行列によっては、拡大縮小や回転といったベクトルの変換ができるのです。
キャラクターを動かす処理が三角関数なら、行列はキャラクターそのものを変化させる処理、と言えます。

さて、ここまで行列についてみてきましたが、正直行列で計算を行うことのメリットがわからないと思います。
それもそのはず、行列計算が最も使われているのは、2次元ではなく3次元空間での3Dグラフィックの処理なのです。
3Dモデルを描画するためには、行列による計算は必要不可欠です。
次回は、3Dモデルの描画に行列がどのように使われているか書いていきたいと思います。

今回はここまでです。
次回が最終回ですが、最後まで読んでいただけると嬉しいです。

興味を持たれた方はお気軽にお問い合わせください。

ゲームプログラミングから見る数学 #3 ~三角関数・後編~

こんにちは。インターン生の小野です。

前回に引き続き、三角関数のお話です。
説明していなかった、タンジェントの性質について見ていきます。

まずはタンジェントの定義から。前回の図を持ってきます。

この図において、
tanθ = b / a = sinθ / cosθ
が成り立ちます。
タンジェントは、サインとコサインで表現することが出来ます。

さて、前回ではベクトルを2つに分け、それぞれ大きさは長い辺の、
右向き(x軸の方向)はcosθ倍
上向き(y軸の方向)はsinθ倍
で決まることが分かりました。
tanθ = (y方向の大きさ) / (x方向の大きさ)
なので、タンジェントとは「斜めの辺がどれくらい傾いているか」を表す値となります。

このタンジェントという値は、ゲームにおいてそのまま使われることもありますが、実はもっと使う場面が多いものが存在するのです。
それは『アークタンジェント(atanと略されます)』という値です。
タンジェントが最後の1つと書いたにも関わらず、新たな言葉が出てきました。
実はサイン、コサイン、タンジェントの他にも三角関数はあります。
(数学でもゲームでも使わないものが多く、少し複雑なので今回は扱いません)

ちょっとかっこいい響きのアークタンジェントですが、考え方は簡単です。
タンジェントは「角度から傾きを求める」関数でしたが、
アークタンジェントは「傾きから角度を求める」関数です。
上の図の例で言えば、
atan(b / a) = θ
ということになります。タンジェントの逆計算ですね。

では、具体的にどのような場面で使われているかというと、
シューティングゲームでよく見るホーミング弾(追跡弾)の動きです。

プレイヤーキャラクターへ向けて弾を動かしたいときに、
図の赤いベクトルを作りたい時を考えます。

このような直角三角形を考えると、プレイヤーキャラクターと弾の位置の差から
a, bの長さが分かります。
そこから、アークタンジェントを用いて
atan(b / a) = θ
のように角度を求めてあげれば、長い辺の長さも
c = a / cosθ
で分かるため、目的のベクトルを算出できます。

しかし、少し問題があります。
前回の最後にも書いた、時計回り・反時計回りの区別です。
これを逆にしてしまうと、進行方向も逆になってしますので、
注意するようにしてください。

今回はここまでです。
何に使うかわからなかった三角関数が、実はキャラクターを動かすのに使われている、ということを知ってもらえたら嬉しいです。
次回は、知らない方もいるであろう『行列』についてです。

興味を持たれた方はお気軽にお問い合わせください。

ゲームプログラミングから見る数学 #2 ~三角関数・前編~

こんにちは。インターン生の小野です。

第2回のテーマは『三角関数』です。
サイン、コサイン、タンジェント。これだけ覚えてる方も多いと思います。
ではこれらはいったいどのように使われているのでしょうか。

ゲーム内で物を投げた時を想像してみましょう。
プレイヤーから斜め前へ向かって飛び出し、山なりに進んで地面に落下する…
そんな感じに動くと推測できます。
つまり、斜め上向きのベクトルですね。
この動きを表現するために、このままだと扱いにくいので、
第1回で書いた「1つのベクトルを2つのベクトルに分ける」ということをします。

今回の例では、重力が関係する上向きと、関係しない前向き(右向き)の2つに分けます。
斜め向きよりも縦横の向きのほうが分かりやすいからです。
現実世界でも道案内するときに右斜め前30度に○○m、とはあまり言いませんよね。
まっすぐ○○m行って、右に曲がって○○mということが多いのと同じです。

さて、2つに分けましたが困ったことがあります。
分けた後のベクトルがどれくらいの大きさなのかわからないのです。
ここで登場するのが、三角関数です。
まずは三角関数の性質を簡単に説明します。

3辺の長さがa, b, cで、図の位置の角度をθ(シータ)とします。
数学において、θは角度を表すことが多いです。
このような直角三角形において、
sinθ = b / c
cosθ = a / c
が成り立ちます。これを少し変形してみます。
a = c × cosθ
b = c × sinθ
つまり、一番長い辺と角度が分かれば、他の辺の長さもわかる、ということです。
サインとコサインの正体は「長い辺とそれ以外の辺の長さの比率を表したもの」ということになります。

これをふまえたうえで先ほどの図をご覧ください。

似たような形をしていますね。ということで三角関数の性質から、
前向きのベクトルは cosθ 倍
上向きのベクトルは sinθ 倍
の大きさを持つことが分かります。

これで扱いやすい形になりました。
よく高校数学の教科書で(x, y)のような形でベクトルが表現されていることがあると思います。
これは、x軸の方向(右向き)とy軸の方向(上向き)に分けて考えているから、なんですね。

最後に、ゲームプログラミング等で三角関数を使おうとしている人に1つ注意があります。
今回は、角度θを右の線を基準として反時計回りで計算しました。
ですが、言語によっては時計回りでとっている場合や、基準の位置が違う場合があります。
使用する際は基準の位置と回る向きをきちんと確認してから使ってください。

今回はここまでです。
長くなるので、タンジェントに関してはまた次回書こうと思います。

興味を持たれた方はお気軽にお問い合わせください。

ゲームプログラミングから見る数学 #1 ~ベクトル~

こんにちは。インターン生の小野です。

突然ですがみなさん、「数学」と聞いてどんな感情を持つでしょうか。
目を背けたくなったり、トラウマを感じている人も多いと思います。
苦手意識の一番の要因は、やはり「どこで使うかわからない」という点でしょう。
ですが、身近な場面においても数学的な知識は使われています。
その最たる例が、ゲームです。
プレイヤーキャラクターの動きにも、高校数学の理論を用いてプログラムされています。
そこで今回の記事では、ゲームプログラミングを通して、数学の魅力を伝えると同時に、ゲームプログラマーを目指す人が最低限知ってほしい数学知識をお伝えします。

前置きが長くなってしまいましたが、本題に入ります。
今回は第1回ということで、『ベクトル』というものについて書いていきます。

さて、『ベクトル』とは何でしょうか。
日常会話でも「話のベクトルが違う」と言うこともありますよね。
英語でベクトル(vector)とは、「方向量、方向、進路」といった意味があります。
  参考URL : https://ejje.weblio.jp/content/vector
数学的に言うならば、ベクトルとは「向きと大きさを持ったもの」となります。

※完全に余談ですが、1とか2などの大きさしか無いものは『スカラー』と呼んだりします。

ゲームにおける一番わかりやすい例は、「大乱闘スマッシュブラザーズ」シリーズでしょう。
知らない人はいないとは思いますが、相手を吹っ飛ばして倒すアクションゲームですね。
この、吹っ飛ばすという動作は、どの方向に吹っ飛ぶか(向き)と、
どのくらい吹っ飛ぶか(大きさ)の2つがあることから、ここにベクトルが使われています。
シューティングゲーム等で、プレイヤーキャラクターを追跡するような弾も、
敵キャラクターの位置からプレイヤーキャラクターの位置へのベクトルを用いて表現されています。

さて、1+2=3という式が成り立つのは皆さんご存じでしょう。
では、ベクトル同士の足し算とはどのようにするのでしょうか。
これも単純です。下の図をご覧ください。

かなり簡略化したベクトルAとベクトルBの足し算の図です。
赤い矢印が足し算した結果となります。
図で見るとわかるように、直感でわかるような結果になっています。
逆に考えると、1つのベクトルを2つのベクトルに分けることが出来る、ということでもあります。
なぜわざわざ2つに分けるの?と思うかもしれませんが、それは次回以降説明したいと思います。

ベクトルについては以上となります。
他にもベクトルの便利な性質はありますが、今回は最低限ということでここまでです。
次回は三角関数について書こうと思います。

興味を持たれた方はお気軽にお問い合わせください。

10回で覚える数学講座「微分・積分を得意にする方法」

皆様、こんにちは、好きな教科は数学、インターン生の石井です。
何が好きかと言われたら問題が解けた時ですね。特に難しい問題が解けたときが一番楽しいです。皆様もぜひそんな瞬間を体験して欲しいです。

というわけで、今回も10回で覚える数学講座始めていきます。最終回の今日は「微分・積分を得意にする方法」と「ちょっとしたオマケ」です。

【1】微分
微分のポイントは、「傾き」です。「傾き」という言葉が初めて出てきたのは中学の一次関数ですよね。つまり直線なんですが、今回の微分はつまり、その直線の傾きのことなんです。というわけで、例題に行ってみましょう。

例題「関数f(x)=x^3-3xのグラフ上の点(2,2)における接線の方程式を求めよ」

例題は接線の方程式です。微分でなんで接線がわかるのかといえば、微分はさっきも言ったように関数のある一点の傾きを求めることができるのです。傾きと一点がわかっていればあとは中学生でも解ける問題です。というわけで、まずはf(x)を微分してみましょう。

f(x)=x^3-3x
f'(x)=3x^2-3

ですね。そしたら今回の問題では、x=2の時の傾きを求めればいいので、xに2を代入します。

f'(x)=3x^2-3
f'(2)=3×2^2-3=9

となり、傾きはxが2の時、傾きは9であることがわかります。
では、傾きが9で点(2,2)を通る直線の式を求めましょう。これなら中学校でもやった一次関数を求める問題ですよね。

y=ax+b
y=9x+b
2=9×2+b
b=-16

ということで、今回の答えはy=9x-16でした。できましたか?

【2】積分
次に積分なんですが、積分のポイントは「面積」ですね。積分で面積を求める問題があったと思いますが、それが積分の意味なんです。
なんか難しい計算してるけど、結局この答えってなんなのっていうと面積を基本的には求めているわけなんです。だから意味わからない数字ではないんですよ、とだけ。

例題として、面積の問題を出そうかと思ったんですが、結局、定積分を解くだけなので、積分の例題はなしにします。いっぱい問題を解いて積分に慣れてください!

【3】ちょっとしたオマケ
最終回なのでこのようなものを入れました。
今回、インターンで数学に関する記事を書かせていただきましたが、やはり、10回ではすべて語りつくせませんでしたし、最後まで読んだ人が数学を得意になるのか、というと自信がないです。しかし、これだけは言っておきます。

「数学は簡単である」

ということです。数学は難しいよ、何言ってんのという人もいるかもしれません。私自身、何度もつまづいて、あきらめたこともあります。けれども、そんな時は一回、頭を切り替えて「数学なんて簡単だ」と言い聞かせてみて下さい。すると、視野が広がり、今まで見えなかったものが見えてくるかもしれません。
また、第1回でも言いましたが、どうしてもわからないときは答えを見てください。そこにもきっとヒントがあります。

最後に、もっと気楽に数学を楽しんでみてください。楽しんで、普段の生活でも数字が見えるようになったら、その時、あなたは数学をマスターしたと言えるでしょう。

それでは、名残惜しいですが、以上で10回で覚える数学講座を終わりたいと思います。ここまで読んでいただき、ありがとうございました。

興味を持たれた方はこちらまでお気軽にお問い合わせください。※数学についての質問は受け付けていません。

10回で覚える数学講座「対数関数を得意にする方法」

皆様、こんにちは、好きな関数は二次関数、インターン生の石井です。
二次関数に限った話ではないのですが、関数の問題は解けるとすっきりするので結構好きです。解けないときはモヤモヤするんですけどね。

では、今回も10回で覚える数学講座始めていきましょう。第9回は「対数関数を得意にする方法」です。指数のおさらいは大丈夫でしょうか。
まずは、その指数関数と対数関数の関係についてですが、数Ⅲで習う逆関数というものになっています。詳しい定義は話しませんが、要は関係しあっている関数であるとわかっていただければいいです。つまりこの二つの関数はいたるところで似ているのです。
例えば、指数法則にあったa^m×a^n=a^(m+n)というのは対数の性質ではlog a (MN)=log a (M)+log a (N)となります。しっかり証明すればこの二つの関数がかかわっていることがわかるのですが、ここでは割愛します。

というわけで、対数の性質を復習しておきましょう。先ほども使いましたが、log a (b)は「a」が底で、「b」が真数です。読み方は「ログaのb」です。念のため。

①log a (MN)=log a (M)+log a (N)
②log a (M/N)=log a (M)-log a (N)
③log a (M^k)=k×log a (M)
④log a (b)=log c (b)/log c (a)……底の変換公式

この4つが基本ですね。たまに①と②を間違って覚えて、log a (M)×log a (N)=log a (M)+log a (N)とかlog a (M+N)=log a (M)×log a (N)とかにしている人を見ます。間違えないようにしっかり覚えておきましょう。
あと+αでこの式も覚えておくと便利です。

⑤log a (b)×log b (c)=log a (c)

これは底の変換公式を使うことで簡単に証明できるので、やってみて覚えてください。

では例題に移っていきましょう。まずは計算問題です。

例題「次の計算をせよ
①2log 2 (10)+log 2 (6)-log 2 (75)
②log 4 (8)
③log 2 (25)×log 5 (27)×log 3 (2)

①これは単純に性質の①~③を使うと簡単にできます。logの前にある数字を③の性質を使って書き換え、①、②の性質を使って計算しましょう。

2log 2 (10)+log 2 (6)-log 2 (75)=log 2 (10^2)+log 2 (6)-log 2 (75)=log 2 (100×6÷75)=log 2 (8)=3

というわけで答えは3です。

②これは、底の変換を使う問題です。早速やってみましょう。底は両方とも2の乗数なので2にします。

log 4 (8)=log 2 (8)/log 2 (4)=3/2

となります。
こんなのは余裕だという人は変換公式を使わず、暗算でやってみましょう。この式では「8は4の何乗でしょう」と聞かれています。さらに言い換えると「2^3は2^2の何乗でしょう」と聞かれています。指数に注目してみれば3/2になるのはわかりますよね?

③この問題は⑤の式を使うと簡単です。まずは式を整理してn乗をlogの前に出しましょう。

log 2 (25)×log 5 (27)×log 3 (2)=log 2 (5^2)×log 5 (3^3)×log 3 (2)=2log 2 (5)×3log 5 (3)×log 3 (2)=6×log 2 (5)×log 5 (3)×log 3 (2)

整数部分をとりあえず計算しておきました。あとは後ろの対数を⑤の式を使って書き換えるだけ。

6×log 2 (5)×log 5 (3)×log 3 (2)=6×log 2 (3)×log 3 (2)=6×log 2 (2)=6

となるので、答えは6です。勿論、底の変換公式を使って解くこともできます。

次は、よく出てくるけど忘れやすい問題です。

例題「9^log 3 (5)の値を求めよ」

この問題はではログが指数にあるので一瞬わからなくなるのですが、焦らずに考えていきましょう。まずはこの求めたい値をxと置きましょう。

9^log 3 (5)=x

次に、左辺に9があるので、底が3の対数をとり、性質③を使って書き換えます。

log 3 (9^log 3 (5))=x
log 3 (5)×log 3 (9)=log 3 (x)
log 3 (5)×2=log 3 (x)
log 3 (25)=log 3 (x)

すると一気に答えまで行きます。左辺と右辺を比べてみれば、x=25になりますよね。

このような感じで対数も性質を覚えていれば結構簡単に解けちゃいます。まずは苦手意識をなくすところから頑張りましょう。

さて、今回もこれで終わりです。残すところあと最終回の「微分・積分を得意にする方法」だけです。
次回もよろしくお願いします。

興味を持たれた方はこちらまでお気軽にお問い合わせください。※数学についての質問は受け付けていません。

10回で覚える数学講座「指数関数を得意にする方法」

皆様、こんにちは、好きな素数は双子素数、インターン生の石井です。
そろそろ数学好きなものシリーズがなくなってきました。頑張って探しておきます。双子素数は「p,p+2」が両方とも素数であることです。例えば、(11,13)など。

では、今回も10回で覚える数学講座始めていきましょう。残る単元も三つとなりました。第8回は「指数関数を得意にする方法」です。指数関数自体は苦手な人はあまりいないような気がしますが、ここがあいまいだと次回の対数関数で詰まってしまうのでしっかりやっていきましょう。

指数関数のポイントは「底をそろえる」ことです。

ということで、例題に入る前に言葉と指数法則の確認をします。

【言葉】
指数:数字の右上について累乗を表す数字。この講座では「^n」を使って表している。
底:指数の左下にある数字。具体的には「a^n」の「a」の部分。指数でこの言葉を使うことはあまりないが、対数を扱うときにはよく聞く。

【指数法則】
①a^m×a^n=a^(m+n)
②(a^m)^n=a^mn
③a^-n=1/a^n
④a^(1/n)=n√a(n乗根a)
⑤a^0=1

ですね。特に間違えやすい・忘れやすいのは指数法則の①と②です。実際に計算をすればわかるとは思いますが、実際の数字が出てこないで、文字で置かれてることも多いので、しっかり刻み込んでおいてください。
あと、指数の底が違う場合は計算ができないので、それも注意してください。

では例題に行きましょう。まずは簡単に指数法則の問題です。

例題「(1)2^3÷4^2×8^3を計算せよ。
(2)3√16(3乗根16)を2^nの形にせよ」

(1)底が違うと計算ができないのでまずは底をそろえましょう。どれに合わせてもいいですが、できるだけ小さいほうが望ましいので、2に合わせましょう。指数法則の②を使います。

2^3÷4^2×8^3=2^3÷2^4×2^9

次に、指数法則の①を使い、計算します。

2^3÷2^4×2^9=2^(3-4+9)=2^8

となります。

(2)これも2^nにすることが目的なので、まずは乗根の中身を変えていきます。

3√16(3乗根16)=3√2^4(3乗根2の4乗)

となります。次に3乗根を指数法則④に従って、変形させると

3√2^4(3乗根2の4乗)=2^4/3

となります。

次に、指数方程式です。

例題「方程式4^(x+2)-2^(x+1)-3=0を解け」

とりあえず、底がそろっていないと計算ができないので、4か2に合わせましょう。できるだけ小さいほうが都合がよいので、今回は2に合わせます。この時に指数法則の②を使います。

4^(x+2)-2^(x+1)-3=0→2^2(x+2)-2^(x+1)-3=0

次に、2^xをXで置き換えます。この時には指数法則の①を使います。

2^2(x+2)-2^(x+1)-3=0→16×2^2x-2×2^x-3=0→16X^2-2X-3=0

これなら因数分解できそうですね。というわけで因数分解します。

16X^2-2X-3=0→(2X-1)(8X+3)=0→X=1/2,-3/8

となります。ここで、2^x>0なので、X>0となり、X=1/2になります。ここで、マイナスの値をはじくことを忘れないようにしてください。あとはXを2^xに戻すと

2^x=1/2=2^-1
x=-1

が答えですね。

というわけで、底をそろえることがポイントでした。今回の指数関数はこのあたりで終わります。
次回も10回で覚える数学講座よろしくお願いします。第9回は「対数関数を得意にする方法」です。

興味を持たれた方はこちらまでお気軽にお問い合わせください。※数学についての質問は受け付けていません。

10回で覚える数学講座「図形と方程式を得意にする方法」

皆様、こんにちは、好きな無理数は√2、インターン生の石井です。

では、今回も10回で覚える数学講座始めます。第7回は「図形と方程式を得意にする方法」です。
今回も公式がいっぱい出てくる回です。できるだけ覚えやすいように整理していきたいと思います。

【1】内分点・外分点
まずは、基礎中の基礎、内分・外分からやっていきます。といっても内分は皆様大丈夫だと思います。というわけで外分のポイントですが、「小さいほうをマイナスにする」です。まずは軽く例題。

例題「2点A(1,4),B(4,7)について、次を求めよ。
(1)線分ABを1:2に内分する点P
(2)線分ABを1:2に外分する点Q」

さて、比較をするためにほぼ同じ問題にしてみました。というわけで解いてみましょう。内分の公式は覚えていますか?

P((2*1+1*4)/(1+2),(2*4+1*7)/(1+2))=P(2,5)

となりますよね。次に、外分を求めるわけなんですが、外分の公式は覚える必要はありません。
1:2という比率で、1と2を比べると1の方が小さいです。というわけで、この1をマイナスにして「-1」にします。そして、内分の公式を使いましょう。

Q((2*1+(-1)*4)/((-1)+2),(2*4+(-1)*7)/((-1)+2)=Q(-2,1)

となります。どうでしょう? 内分も外分も同じですよね。そう考えると簡単に思えませんか?

【2】軌跡
では、次に軌跡についてやっていきます。軌跡のポイントは「わからない点は勝手に置く」ことです。
軌跡では動く点がいくつか出てきます。この動く点については勝手に座標を置いてしまおう、ということです。

例題「円(x-3)^2+y^2=9上の点O(0,0)A(6,0)があり、点Qが円上を動くとき、三角形OAQの重心Pの軌跡を求めよ」

というわけで、まずは求める軌跡の点PをP(x,y)と置きましょう。これが一番重要なポイントです。
そして次にもう一個動く点Qがあるので、これは媒介変数(答えを出すための変数)s,tを使ってQ(s,t)と置きます。

では、一個ずつ条件を見ていきましょう。
Pは三角形OAQの重心なので、

x=(0+6+s)/3=(6+s)/3……①
y=(0+0+t)/3=t/3……②

になります。
次に、点Qの条件を考えます。Qは円上を動くので、s,tをもとの式に代入します。

(s-3)^2+t^2=9……③

になりますよね。で、このs,tをx,yで表せればよいので、s,tをx,yで表しましょう。そのために①と②を変形します。

①を変形 s=3x-6
②を変形 t=3y

あとは、③に代入するだけです。追加で、この場合、一直線だと重心はないので、(2,0)(4,0)は除きます。(A.半径1、中心(3,0)の円、ただし(2,0)(4,0)は除く)

という感じで、今回も終わりにします。次回も10回で覚える数学講座、よろしくお願いします。
次回は、第8回「指数関数を得意にする方法」です。残り3回頑張りましょう。

興味を持たれた方はこちらまでお気軽にお問い合わせください。※数学についての質問は受け付けていません。

10回で覚える数学講座「いろいろな式を得意にする方法」

皆様、こんにちは、好きな数列はフィボナッチ数列、インターン生の石井です。
数列は本講義では扱いませんが、興味があったら調べてみてください。

では、本日も10回で覚える数学講座始めていきます。本日は第6回「いろいろな式を得意にする方法」です。
単元名なので「いろいろな式」と言ってますが、やる内容としては整式の除法と因数分解です。因数分解は第2回でも取り扱いましたが、こちらでは、高校で習うレベルの因数分解です。

【1】整式の除法
整式の除法のポイントは、「組み立て除法」です。普通、整式の除法をやるときは筆算などを使って答えを出すんですが、割る整式が一次関数であれば、組み立て除法でやるととても簡単に商とあまりを求めることができるんです。高校の授業で扱うかどうかは先生次第なので、知らない人がいたら今からやってみましょう。

例題「f(x)=x^3+5x^2-2x+4をx+3で割った商とあまりを求めよ」

さて、この例題を解くわけですが、普通に筆算で答えを求めるとこうなります。

結構長いですよね。
というわけで、組み立て除法のやり方を説明します。

(1)割られる整式の係数を書き出します。

(2)その横に割る整式の定数部分の符号を逆にした数字を書きます。

(3)係数の一番左をそのまま降ろします。

(4)(3)の数字に(2)の数字をかけたものを(3)の右上に書きます。

(5)(4)の数字とその上にある数字を足します。

(6)繰り返します。

そうすると図のように答えが出てきます。(A.商x^2+2x-8 あまり28)

【2】因数分解
ここでのポイントは「降べきの順」です。因数分解する式が長くなった時や、今までの公式で使えなくなったときは、「降べきの順」にすることが大切です。

例題「x^2+5xy+6y^2+4x+9y+3を因数分解せよ」

この問題ですが、なんか、式の前半が因数分解できるからしちゃえー、ってやるとそのあとが一切できなくなります。こんな時に必要なのが、降べきの順です。因数分解で降べきの順を使うときは、基本次数の小さい文字に注目して降べきの順にするわけですが、今回はxもyもどちらも2次なので、好きなほうに注目して並び替えてください。今回はxに注目して並び替えます。

x^2+5xy+6y^2+4x+9y+3=x^2+(5y+4)x+6y^2+9y+3

並び替えられましたか?
さて、その次は、今度こそ、式の後ろが公式を用いて因数分解できるので、因数分解してください。たすき掛けを使います。

x^2+(5y+4)x+6y^2+9y+3=x^2+(5y+4)x+(3y+3)(2y+1)

ここまで来たらあとちょっとです。もう一回公式を使って因数分解するわけですが、使う公式は「x^2+(a+b)x+ab=(x+a)(x+b)」という公式です。この公式では、xの係数が足し算で、定数部分が掛け算になっていることに注目してください。では、現在の式を見てください。後ろ(xを含まない部分)が掛け算になっていませんか?
というわけで、後ろにできた掛け算の式を足してみて、真ん中(xが1次の部分)になればいいわけです。

(3y+3)+(2y+1)=5y+4

ほら、なりましたよね。というわけで、公式でいうa=3y+3、b=2y+1とすると

x^2+(5y+4)x+(3y+3)(2y+1)=(x+(3y+3))(x+(2y+1))=(x+3y+3)(x+2y+1)

となります。できましたか?

さて、今回の10回で覚える数学講座は以上です。次回は、「図形と方程式」についてやっていきます。

興味を持たれた方はこちらまでお気軽にお問い合わせください。※数学についての質問は受け付けていません。