関数グラフ
式を分数や指数の形のまま書くと、グラフを描きます。z = f(x, y) の形なら 3D の曲面になります。
※ 描画はすべてWebブラウザ内で完結し、式はサーバーには送信されません。
表示の範囲
x と y の範囲を別々に決めると、縦と横の縮尺が変わります。
仕様
式の書き方
- / を押すと、直前の項(
2x、sin(x)、かっこの組など)が分子の分数になります。何もないところで押すと、空の分数になります。 - ^ で指数、
sqrtと打つと根号になります。piは π に、thetaは θ に置き換わります。 - 矢印キーで分数や指数の中を移動します。分子と分母の間は ↑ ↓ です。分数などの先頭で Backspace を押すと、枠を外して中身を残します。
- 掛け算の記号は省略できます(
2x、xy、x(x+1))。sin x cos xは sin(x)·cos(x)、sin 2xは sin(2x) と読みます。a sin xのように、英字の間の空白は区切りになります。 - 関数: sin cos tan asin acos atan sinh cosh tanh exp ln log sqrt abs floor ceil sign min max。
lnは自然対数、logは常用対数です。定数は π と e。 - 負の数の分数乗は、分母が奇数なら実数の根として計算します(x1/3 は x < 0 でも描きます)。
- 式の一部は、ドラッグ、ダブルクリック、Shift+矢印キーで選べます。Ctrl+A で全体を選びます。
- 選んだ部分は、ドラッグで別の位置へ移せます。分数・指数・根号・関数・かっこのボタン(または / ^ ()を押すと、選んだ部分を包みます。コピー・切り取り・削除もできます。
1/(x+1)や\frac{1}{x}の形の文字列を貼り付けると、分数などの形に直して入ります。
式の種類
| 書き方 | 描くもの |
|---|---|
| y = f(x)、または = なしで x だけを含む式 | 曲線 |
| x = f(y) | 横向きの曲線 |
| r = f(θ)、または = なしで θ だけを含む式 | 極座標の曲線(θ は 0〜8π) |
| z = f(x, y)、または = なしで x と y を含む式 | 3D の曲面 |
| それ以外の x と y の等式(x2 + y2 = 25 など) | 陰関数の曲線 |
- x・y・z・r・θ・e 以外の 1 文字(a、n など)はパラメータになり、スライダーが出ます。▶ で値を最小値と最大値の間で往復させます。
- 3D の曲面が 1 つでもあると 3D の表示になり、2D の式は描きません。
- 3D の曲面が 1 つだけのときは、高さで色を変えます(その曲面の一番低いところが青、一番高いところが赤)。2 つ以上のときは、式ごとの色で塗ります。
- 3D は x・y を 44 × 44 のマスに分けて計算します。範囲は x・y・z とも同じで、箱からはみ出したマスは描きません。ホイールやピンチで範囲が変わります。
- 陰関数は、画面を 5 px 四方のマスに分け、値の符号が変わるところを結んで描きます。
- 「計算の速さ」を絞ると、式を評価する回数を 1 秒あたりその回数までに抑えます。グラフが描けていく順番が見えます。
- 「毎秒 10 万回」は、1994〜1995 年ごろの Power Mac・Performa の CPU(PowerPC 601・603、60〜100 MHz 前後)で、z = 2cos(√(x2+y2) − a) のような式を計算できた回数の推定です。掛け算・足し算は 1 クロックに 1 回ほどこなせても、平方根や cos はソフトウェアで数百クロックかかるとして、1 回あたり 300〜600 クロックと見積もりました。当時のソフトの実測ではなく、2 倍程度の幅があります。
- 絞るのは式を計算する回数だけで、画面に描く速さは今の端末のままです。「制限なし」の速さも、端末の性能よりこのツールの作り(1 回ごとの計算の包み方)で決まる部分が大きく、今の CPU と PowerPC の性能の比にはなりません。
- 「表示の範囲」で、x・y(3D では z も)の最小値と最大値を数値で決められます。2D で x と y の範囲を別々に決めると、縦と横の縮尺が変わります。ドラッグやホイールで動かすと、数値もそれに合わせて変わります。
- 3D の「z を曲面に合わせる」は、計算した値の最小値から最大値までに、上下 5% の余白を付けて z の範囲にします。ただし最小値・最大値がほかの値から大きく離れているとき(x = 0 の近くで大きくなる式など)は、下と上の 2% を除いて外れ値に引きずられないようにします。
- 式とパラメータの値、表示の範囲は URL の
#以降に入るので、URL をそのまま共有できます。
PowerPC の Mac に入っていた「グラフ計算機」の話
1994 年、最初の PowerPC 搭載の Mac には「Graphing Calculator 1.0」(漢字Talk(日本語の Mac OS)での名前は「グラフ計算機」)が入っていました。式を書くとグラフを描き、3D の曲面も描けるソフトで、PowerPC への切り替えを進める技術者たちは、新しい機械の速さを見せられると期待していました。ところが作者の Ron Avitzur によれば、このソフトは「公式には一度も存在しなかった」。作者が 2004 年に公開した手記から、その経緯を紹介します。
中止されたプロジェクト
Avitzur は契約者として Apple の秘密のプロジェクトに関わっていましたが、1993 年 8 月にプロジェクトは中止されます。1 年分の仕事が消え、契約も切れました。それでも自分の担当部分だけは「中止を取り消す」ことにします。社員証はまだ扉を開けたので、そのまま出社を続けました。
モニターが燃えた夜
彼は PowerPC のことを何も知りませんでした。8 月のある夜、技術者が 2 人やって来て、移植が終わるまで部屋に居座ると宣言します。3 人で 6 時間かけて 5 万行のコードを直し、午前 1 時に試作機で起動した瞬間、モニターから火が出ました。原因はモニターの故障でした。別のモニターにつなぎ直すと、ソフトは以前の CPU の 50 倍以上の速さで動きました。
誰の部下でもない 2 人
友人の Greg Robbins も、別の部署の契約が切れたところで加わります。Greg は上司に「これからは Ron の下で働く」と伝え、Ron は周りに「Greg の下で働いている」と言いました。上司のいない 2 人には会議もなく、1 日 12 時間、週 7 日働きます。誰かに素性を聞かれると、Avitzur はこう答えていました。
「ここで働いているんですか」「いいえ」「では契約者?」「それも違います」「誰が給料を払っているんです」「誰も」
締め出されてから
9 月、空いているはずの部屋に人を入れようとした施設の担当者に見つかり、2 人は社員証を無効にされて退去を命じられます。ところが同じ月から、1 万 5 千人の社員の 2 割が去る人員削減が始まりました。空き部屋はいくらでもあります。2 人は毎朝、建物の前で社員を待ち、その後ろについて入館するようになりました。
頼まれずに集まった人たち
うわさを聞いた QA の担当者 2 人が「上司には内緒で」テストを買って出ます。3D の描画は、友人が週末の 2 日で書き上げました。午前 2 時には、出荷するシステムディスクの原本を作る技術者が現れて、前日までに渡してくれれば原本に入れられると言います(あとで思えば冗談だったのかもしれない、と作者は書いています)。当時、世界に 200 個ほどしかなかった PowerPC のチップを積んだ試作機も、2 台回ってきました。作者はこう振り返っています。
プログラミングの秘訣は、賢い友人を持つことだ。
正式に採用されても、入館証がない
10 月、管理職を集めたデモの後で「君の上司は誰だ」と聞かれ、事情を話すと、最初は笑われ、本気だとわかると「この話はよそでしないように」と言われます。その後、PowerPC のソフトウェアとマーケティングの責任者がこのソフトを採用し、正式なテスト、20 の言語への翻訳、ユーザビリティ試験が付きました。それでも入館証は出ません。発注書がなければ入館証は出せず、契約がなければ発注書は出せず、法務が本当のことを知れば 2 人は追い出されるからです。最後は申請書の発注番号の欄に「No dollar contract(金額なしの契約)」と書くことで話がつき、翌日、社員食堂や観葉植物の水やりの業者と同じオレンジ色の入館証が届きました。
完成
教室での試験では、初めて使う人が戸惑う様子をマジックミラー越しに見て、作者は「初心者向けのソフトを設計するのに一番向いていないのはプログラマーだ」と思い知ります。2 人は、使う人の隣で説明しているかのように、操作への反応を作り足しました。11 月からは 1 日 16 時間、週 7 日。1994 年 1 月に完成し、ソフトは 2,000 万台を超える Mac に載りました。そして作者は「It never officially existed.(公式には一度も存在しなかった)」と書いています。
このツールの「計算の速さ」を絞ると、グラフが少しずつ描けていく様子を見られます。上の要約と引用の訳は当社によるものです。原文: Ron Avitzur「The Graphing Calculator Story」(Pacific Tech、2004 年)。Graphing Calculator(グラフ計算機)は Pacific Tech の製品で、このツールとは関係がありません。