STAGE 1
動きは数の表
座標・ベクトル・速さと加速度
🎯 ミッション
3Dアニメーションが「点の座標を並べた数の表」でできていることを知り、表から速さと加速度を計算する方法を身につけよう。空中では体全体の平均の位置(重心)が、重力の 9.8 m/s² で落ちていることを、実際のデータで確かめられれば合格。
未達成

ねこ博士
今日から新しい旅を始めよう。題材はチート900(ナインハンドレッド)という蹴り技だ。助走のステップで体をひねりながら跳び上がり、空中でぐるぐる回って、回りながら回し蹴りを当てて着地する。ステップで地面の上を約520°、空中で約1周、合わせて900°(2回転半)回るから「900」と呼ぶ。トップページで跳んでいた棒人間がそれだよ。

うさ美
あの棒人間、どの向きから見ても自然に跳んでいました。動画を撮ったのではなくて、コンピュータの中で作った動きですよね。どうやって作るんですか?

ねこ博士
それがこの旅の主題なんだ。あの動きを作るときには、矢印の計算、点を回す計算、膝の位置を決める計算、空中で回る速さを決める物理の法則……と、たくさんの数学と物理を使った。この旅では、それを1つずつ自分の手で確かめていく。今日はいちばん土台の話、コンピュータの中で「動き」はどんな形をしているかだ。

うさ美
パラパラ漫画のように、少しずつ違う絵をたくさん描いて、次々に見せているんですか?

ねこ博士
「少しずつ違うものを次々に見せる」のはその通り。でも、しまってあるのは絵ではなく数なんだ。体の決まった場所――頭、両肩、両ひじ、両手首、腰の左右、両膝、両足首、かかと、つま先など――に24個の点を決めておき、それぞれの点がどこにあるかを数で書く。それを1秒に60回、時刻を進めながら記録する。1回分を1コマと呼ぶ。チート900は全部で162コマ、時間にして2.7秒だ。

うさ美
「どこにあるか」を数で書く、というのは座標のことですか? でも方眼紙の座標は横と縦の2つの数 (x, y) でした。体は立体なので、2つでは足りない気がします。

ねこ博士
いいところに気づいたね。立体の中の位置は3つの数 (x, y, z) で決まる。部屋の床の1つの角を基準の点(原点)にして、そこから「前へ何 m、上へ何 m、横へ何 m」と言えば、部屋のどこでも1か所に決まるだろう。この旅では、x を進行方向(跳んでいく向き)、y を上、z を的(ミット)のある横の向きにとる。長さの単位はメートル(m)、床の高さが y=0 だ。
座標を読む点:
スライダーでコマ(時刻)を動かすと、選んだ点(白丸)の座標 (x, y, z) が変わる。点線は、点から床へ下ろした線と、床の上で x と z を測る線。左下の3本の矢印は x・y・z の向き。表はこのコマの「数の表」の一部で、24点×3つ=72個の数が1コマ分。図はドラッグで回して見られる

うさ美
1コマに24点×3つで72個の数。それが162コマ分並んだ表が、あの動きの全部なんですね。画面に絵を出すときは、その数を毎回読んで線を引いているんですか?

ねこ博士
そうだ。肩とひじ、ひじと手首……と決まった点どうしを線で結ぶと棒人間になる。立体を画面という平面に写す計算はいちばん最後のステージで扱うから、今はコンピュータに任せておこう。今日考えたいのは、この表から、どれだけのことが読み取れるかだ。まず、2つの点の「位置の差」を考える。たとえば右膝から右足首へ向かう矢印。

うさ美
矢印を数で書くには、どうするんですか?

ねこ博士
終わりの点の座標から、始まりの点の座標を、x・y・z ごとに引けばいい。膝が (1.20, 0.50, 0.10)、足首が (1.10, 0.10, 0.30) なら、矢印は (1.10−1.20, 0.10−0.50, 0.30−0.10)=(−0.10, −0.40, 0.20)。「後ろへ 0.10 m、下へ 0.40 m、的の側へ 0.20 m」という意味だ。こうして向きと長さをもった矢印を、数の組で表したものをベクトルという。始まりの点がどこにあっても、同じ向き・同じ長さの矢印は同じベクトルだ。

うさ美
矢印の長さは、すねの長さですよね。平面なら三平方の定理で √(x²+y²) でした。立体だとどうなりますか?

ねこ博士
三平方の定理を2回使えばいい。矢印を対角線とする箱を考えて、まず床に平行な面の中で、x と z の2辺から床の対角線の長さ √(x²+z²) を出す。その対角線と、高さ y が直角に交わる三角形で、もう一度三平方の定理を使うと、√((√(x²+z²))²+y²)=√(x²+y²+z²)。これがベクトルの長さだ。さっきの矢印なら √(0.01+0.16+0.04)=√0.21 ≈ 0.46 m。すねの長さとして、ちょうどいいくらいだね。
ベクトル (x, y, z) を対角線とする箱。①床に平行な面の中で、x と z から床の対角線 √(x²+z²)。②その対角線と高さ y は直角なので、もう一度三平方の定理を使うと、ベクトルの長さは √(x²+y²+z²)

うさ美
2つの点の差がベクトルなら、同じ点の「1つ前のコマとの差」もベクトルですよね。1コマの間に、その点がどちらへどれだけ動いたか。

ねこ博士
そう、それを変位という。1コマは 1/60 秒だから、変位を 1/60 秒で割る、つまり60倍すれば、1秒あたりにどちらへ何 m 進むか――速度になる。速度も向きをもったベクトルで、その長さが、ふだん言う速さ(単位 m/s)だ。

うさ美
速度の変わり方も、同じように計算できますか? 1コマごとの速度の差を、また60倍する。

ねこ博士
それが加速度だ。1秒あたり速度がどれだけ変わるかで、単位は m/s²(メートル毎秒毎秒)。まとめると、表の数から、位置 → 差をとって60倍 → 速度 → 差をとって60倍 → 加速度と、2段階で計算できる。コマ k の位置を p(k) として式で書くと、次のようになる。
速度:(p(k+1) − p(k)) × 60
加速度:(p(k+1) − 2p(k) + p(k−1)) × 60²

うさ美
加速度の式の「−2p(k)」はどこから来たんですか?

ねこ博士
速度を2つ並べて引いてごらん。p(k) が2回引かれるから「−2p(k)」になるんだ。
後ろの速度:(p(k+1) − p(k)) × 60
前の速度:(p(k) − p(k−1)) × 60
速度の差:(p(k+1) − p(k) − p(k) + p(k−1)) × 60
= (p(k+1) − 2p(k) + p(k−1)) × 60 加速度 = 速度の差 × 60:(p(k+1) − 2p(k) + p(k−1)) × 60²
= (p(k+1) − 2p(k) + p(k−1)) × 60 加速度 = 速度の差 × 60:(p(k+1) − 2p(k) + p(k−1)) × 60²

うさ美
表から速さや加速度が出せるのは分かりました。でも、それで何がうれしいんですか?

ねこ博士
作った動きが、物理の法則を破っていないかを調べられるんだ。たとえば空中にいる間、体を押したり引いたりできるものは何もない。だから体全体は、投げたボールと同じように重力だけで落ちるはずだ。重力で落ちるものの下向きの加速度は、地球の上ではいつも約 9.8 m/s²。これを重力加速度という。

うさ美
でも空中では、脚を振り上げたり、腕をたたんだりしています。つま先は、重力とは関係なく勝手に上がったり下がったりしますよね。どの点を調べればいいんですか?

ねこ博士
そこが大事なところだ。手足の1つ1つの点は、体の中の筋肉に押されたり引かれたりするから、自由に動ける。重力だけで落ちるのは、体全体の重さで平均した位置だ。これを重心という。胴は重いから大きく、手先は軽いから小さく効く平均だよ。くわしい計算はステージ6で扱うから、今は「体全体の代表の点」と思っておいてほしい。下の図で、つま先と重心の高さを比べてみよう。
点:
グラフ:
横軸は時刻(秒)。緑の帯が、両足とも床から離れている空中の区間(本番の跳び)。「上下の加速度」を、重心と右つま先で比べてみよう。グラフにさわると、その時刻の値が読める

うさ美
重心の上下の加速度は、空中の帯の中で −9.8 の線にほぼぴったり乗っています! 右つま先のほうは、空中でもプラスになったり大きくマイナスになったり、ばらばらです。高さのグラフでは、重心は空中で山の形をしています。

ねこ博士
加速度がずっと −9.8 のままなら、速度は一定の割合で減り続け、高さは山なりの曲線、放物線を描く。ボールを投げたときと同じ形だ。実は、この動きを作るときには、空中の区間で重心がきっちり放物線に乗るように、体全体の位置を直す計算をしている。今見た −9.8 の平らな線は、その結果なんだ。

うさ美
床に着いている間の重心の加速度は、−9.8 ではなくて、もっと上下に大きく動いています。これは床が体を押し返しているから、ということですか?

ねこ博士
その通り。踏み切りの直前に重心の加速度が大きくプラスになっているのは、床を強く蹴って、床から上向きに押し返されているからだ。数の表から計算した加速度を見るだけで、「どこで力が働いているか」まで読み取れる。この旅では、この調べ方を何度も使うよ。
💡 コマの差で計算するときの注意差をとる計算は、数の小さなぶれを大きくしてしまう。位置が 1 mm ぶれただけでも、速度では 1 mm × 60 = 0.06 m/s、加速度では 1 mm × 60² = 3.6 m/s² のぶれになる。動きを作るときに「細かい揺れをならす」計算が欠かせない理由がここにある(ステージ8)。
【このステージの成果】
3Dアニメーションの正体は数の表:24個の点の座標 (x, y, z) を、1秒に60コマ並べたもの(1コマ=72個の数)
座標の向き:x=進行方向、y=上、z=的の方向。床が y=0、単位は m
ベクトル=向きと長さをもった矢印を数の組で表したもの。2点の差(終わり−始まり)で作る。長さは √(x²+y²+z²)(三平方の定理を2回)
速度=(p(k+1)−p(k))×60[m/s]、加速度=(p(k+1)−2p(k)+p(k−1))×60²[m/s²]
空中では、体全体の重心だけが重力加速度 9.8 m/s² で落ち、放物線を描く(手足の点は筋肉の力で自由に動く)
確認クイズ
Q1. この動きの数の表には、1コマあたりいくつの数が並んでいる?(点は24個)
正解! 1つの点の位置は (x, y, z) の3つの数で決まるので、24点×3=72個。それが1秒に60コマ並ぶ。
Q2. ある点が、1コマ(1/60 秒)の間に (1.00, 1.20, 0.10) から (1.03, 1.16, 0.10) へ動いた。このときの速さは?
正解! 変位は (0.03, −0.04, 0)。その長さは √(0.03²+0.04²+0²)=0.05 m。1コマは 1/60 秒なので、60倍して 3 m/s。
Q3. 空中にいる間、体全体の重心の上下の加速度はどうなっている?
正解! 空中では体を押すものがないので、重心は重力だけで落ち、加速度はいつも約 −9.8 m/s²。手足の1つ1つの点は筋肉の力で自由に動くが、重心は放物線から外れられない。