傾きとか,切片とかの話 その2 (1次関数)

切片が何かについては前回説明してみた。

ある直線が,y軸と5の位置で交わっている。この直線の切片は何?

これに答えられたらOK。次に進もう。
さて。
直線の高さが指定できるようになったので,得意げに「これは切片が3の直線だよ!切片というのは~」等と言ってみる。
そうすると,その話を聞いた人たちは直線を書く。
こうなる。
無題
ぜんぜんだめじゃん。
確かに切片は3だけどさ!
ということは,切片以外にも「ナニカ」を指定してあげないとダメっぽい。
その「ナニカ」が,「傾き」ってやつだ。だけど,その傾きも,「右肩あがりだよ」だとか「傾きは急だよ」とか「緩やか」だとかそういった漠然とした言い方じゃダメだってこともわかってるはず。じゃあ,どうすればカチッと1つの傾きを100人に間違いなく伝えられるだろうか。
パッと思いつくのは,「角度」で伝えてみるとか。
X軸(まあY軸でもいいんだけど)と直線が交わってる場所の角度で伝えられたら,それが一番いいよね。
だけど,角度で傾きを表すのには,大変な問題がある。
それは何か。
実際にやってみるとわかる。やってみよう。
「切片が0,傾きが30度の直線」を分度器を使って書いてみる。こうなる。
無題1
キリのいい点を全く通らないんだな,これが。
逆に,キリのいい点を通っていく直線↓
無題8
の角度を分度器で測ってみる。無題9だそうだ(丸投げ)。
うんうん。この,単にxが1増えたらyが2上がるだけのグラフを書いて欲しいがために,
「切片が0,傾きが63.43度(もっと正確には63.434948822922度)の直線を書いてください」とお願いしなきゃいけないなんて,ナンセンスでしょ?方眼紙と角度の相性っていうのはかなり,いや,超悪い。特別な手続きを使わないとハッキリ言って無理。
それよりは,
「切片が0,xが1増えるごとにyが2増える直線を書いてください」
のほうがず~~~~っとマシだし,書きやすい。なにしろ,分度器無くても書ける。
この,「xが1増えたときに増えるyの数値」のことを「傾き」ということにしよう。
無題10 
もう一度。

「xが1増えたときに増えるyの数値」のことを「傾き」という

傾きって何?って聞かれたら,「xが1増えたときに増えるyの数値」って答えたらいいだけだからね。
じゃあ問題。

問題.1-a
ある直線は,xが1増えるとyが4増える。この直線の傾きはいくら?

答えは4。わかった?
ちなみに

問題.1-b
ある直線は,xが1増えるとyが4減る。この直線の傾きはいくら?

この場合,増えた量は-4になる。なので傾きは-4。

問題.1-c
ある直線は,xが2増えるとyが4増える。この直線の傾きはいくら?

傾きっていうのは「xが1増えたときに増えるyの数値」なんだから,yの増えた量4をxの増えた量2で割ればいい。傾きは2。

問題.1-d
ある直線は,xが1減るとyが4増える。この直線の傾きはいくら?

この場合,xが1増えるとき,yの増えた量は-4になる。なので傾きは-4。

ここまで来ると,直線の高さがカチッと1つに指定できて,傾きもバッチリ1つに指定できる。これで,誰に書かせても全く同じ直線になる。

じゃあ,方眼紙を用意して。

問題.2
傾きが2,切片が-1の直線を書け

これが出来たら,おわり。


傾きとか,切片とかの話 その1 (1次関数)

座標とか,別に座標じゃなくてもいいけど方眼紙とか,マス目のある紙に,適当に定規で直線を引いてみる。
こんな感じ
無題 はい。たとえばこんな線を引いた。じゃあこれ,「どんな線?」
質問が悪かった。言い換えると,
「この線を他人に,全く同じ線を書いてもらうためには,どのような情報が必要だろうか?」
ということ。
「ええ~?なんか,『真横向きの線』よりも高い位置で,『縦向きの線』と交差していて,右肩あがりの線だよ」
という説明だと,大半の人間は同じ線は書けない。こういうことになる
無題1
あるいはこう
無題2
人間の言葉というのは,明らかに漠然としすぎていることがわかる。
なので,神の言葉を使う。別名,「数学用語」
まずは,
「なんか,『真横向きの線』よりも高い位置で,『縦向きの線』と交差していて」
の部分を,どうにかしよう。
縦向きに引いてある,ちょっと太い線のことを「y軸」という。知ってるかもしれないけど。横向きに引いてあるちょっと太い線は「x軸」だ。知ってるかもしれないけど。
で,「交差してる点」のことを,「交点」という
ということで,
「なんか,『真横向きの線』よりも高い位置で,『縦向きの線』と交差していて」の部分は「y軸との交点が0より大きくて」とか言うと「お,数学出来そうな奴だ」となる。
但し,「0より大きくて」だと,1でも,2でもいいことになる。0.5とかでもいい。これはまずいから,カチッと決める。今回の例なら,こう言えばいい。
「y軸との交点が3で」
そうすると,y軸との交点が一種類に決まる。
それから,「y軸との交点」のことを「y切片」という。略して,「切片」。
もう一度。
「y軸との交点」のことを「y切片」あるいは「切片」という。
というわけで,切片とはなにか,は理解できたと思う。
一番上のグラフの切片は,直線とy軸が3で交わってるので,「切片は3」である。

じゃあ問題。

問題1.上図2番目・3番目のグラフの切片はなんですか?

解けた?
答えは,2と1ね。

これで,直線がどれくらいの高さに位置しているかを説明できるようになったわけだ。

続きはここ

RPGで,所持金を半減するプログラム

パーティーが全滅したときに所持金を半減したい。
たとえば,所持金が100円なら50円にしたり,所持金が1280円なら640円に。
だけど,端数は出したくない。
所持金が50円のとき,半減したあとが25円にはしたくない。20円か30円にしたい。
もちろん,所持金が25円のときに半減後が12.5円になるなんてもっての他だ。
じゃあ1の位をどうするか?
四捨五入?
おそらく,所持金が10円のときには,0円になってほしい。なので切り捨て。

所持金を半減といっても,単に2で割ればいいわけではなさそうだ。

まずはとりあえず2で割ってみよう。その後,10で割り,小数点以下を切り捨てて,10倍にもどせば良さそう。
2で割り,10で割る箇所は,20で割るだけでいいだろう。
「小数点以下切り捨て」に関しては,整数のみ使えるようにすれば(整数型を使えば)勝手に切り捨ててくれる。

方法1(整数のみの場合):半減後所持金 = (半減前所持金 ÷ 20) × 10

小数点以下を無視してくれる環境なら,これでOKそうだ。
次に小数点以下をしっかり計算してくれてしまう環境の場合。エクセルとか。
そうしたときには,さっき横着して何もしなかった「小数点以下切り捨て」をしっかり記述しなければならない。
具体的に言うなら,小数点以下の数値を,引いてあげればいいわけだ。
「%」という四則演算にはない記号がある。これは,割り算した余りをだしてくれるものだ。
たとえば,
35 % 10 = 5
だし,
12.5 % 2 = 0.5
みたいな感じ。剰余とかいう名前がついてるらしいが,あまり気にしても仕方ない。

方法2:小数点以下 = (現在所持金 ÷ 20) % 1
    半減後所持金 = (半減前所持金 ÷ 20 - 小数点以下) × 10

これで小数でもしっかりキレイに半減できた。
ちなみにエクセルとかなら,小数点以下を切り捨てる関数があるので,こんなややこしいことしなくていい。

方法3:半減後所持金=TRUNC(半減前所持金/20,0)*10

数学系ライブラリが入れられる環境なら,たぶん似たようなことができるはず。
ウディタで実際にやってみると,これまたちょっとメンドイ。というのも,直接所持金に代入するのがアレなので,増減だけでしなきゃならない。
こんな感じになった。

ウディタ半減 

所持金を一旦0円にして,半減後を足してみたりしている。まあ,可変データベースに直接ぶち込めば良いじゃんっていうのもあるかもしれないけど,様々な理由でやめておいた。

4年放置してたらしい(これから更新するとは言ってない)

たまには更新してもいいと思うんだけど。
特に記述するほどのこともないんだなぁ
みつお

わー!

この記事はブロとものみ閲覧できます
プロフィール

すぺくとる

Author:すぺくとる
ウディタ・Unity・UE4などなど。
MUGEN関連製作物等々は下の方の”星屑の倉庫”に置いてあります。好きに持って帰っていいですよ。
改変転載は要相談ということで。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
カウンター
現在の閲覧者数
現在の閲覧者数:
カーソルに数字を入れるだけでページジャンプできますよ~

Presented by Asondara Nakamada. hen Game
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR