パスワードを忘れた? アカウント作成
239802 story
ソフトウェア

MacPaint と QuickDraw のソースコード、公開される 26

ストーリー by reo
学習用によろしい ? 部門より

ある Anonymous Coward 曰く、

Apple が MacPaint と QuickDraw のソースコードを Computer History Museum に寄贈したそうだ (Bloomberg Businessweek の記事yebo blog の記事より) 。

MacPaint (version 1.3) のソースコードは 5 ファイルからなり、QuickDraw については 37 ファイルで、それぞれアセンブラおよびパスカルで記述されている。

なお、ソースコードは公開されているものの、商用での利用は禁止されており、オープンソースではないのでご注意を。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • QuickDraw小話 (スコア:4, 参考になる)

    by ikotom (20155) on 2010年07月22日 11時40分 (#1798806)

    QuickDrawはどのように素早く円を描いていたのか?
    http://d.hatena.ne.jp/zariganitosh/20100318/1269006632 [hatena.ne.jp]

    ジョブスの、流石と思わせる逸話もあり興味深いページですよ。

    • 手前味噌で恐縮な話ですが、リンク先を読んで思い出した件がありまして。

      中学時代にパソコン部でlogo [wikipedia.org]を初めて導入したとき、多角形を描かせるまでは各自で何とかなったのに、円が描けないことに気づいた。

      顧問の教師も含めてみんなで思い思いに「円を描く方法」(アルゴリズムという言葉が当時の我々の中には無かった)を思案したが誰も成功しなかった。

      約1時間後、部活動の終了間際の時間に歓声が上がった。ぶっきらぼうに多角形描画のアルゴリズムに1000(角形)を代入した生徒の画面に答えがあった。

      積分の知識があれば、N角形の面積はNが大きくなるごとに円に近づくことも知っていたであろうが、当時の年齢では三角関数の知識すらない。

      今思えば、なぜこれが部活動の経験で授業では無かったのだろうと不思議に思いますが。

      --
      Youthの半分はバファリンでできています。
      親コメント
    • by Anonymous Coward

      そこで紹介されているDDA(Digital Differential Analyzer)は、
      ごく普通のパソコン誌で紹介されていて広まったテクニックだったので、
      8bit時代のパソコン少年なら誰でも知っているぐらいありふれた知識だったのですが、
      凡庸な身の上のおじさんから見ても、なんだか隔世の感がありますね。

      • by taka2 (14791) on 2010年07月22日 13時14分 (#1798914) ホームページ 日記

        初めて Bresenham のアルゴリズムに出会ったときはものすごく感動しました。
        直線の描画アルゴリズムとして紹介されることが多いですが、
        さまざまな場面で「補間処理」に使える、非常に応用範囲の広いアルゴリズムなんですよね。
        画像の回転とか解像度変換とか音声のサンプリングレート変換とかとか、いろんな場面で使ってきました。

        その後時代が進んでCPUが速くなるにつれ、Bresenham を使うことは減りました。
        代わりに浮動小数点数を使った単純なDDAを使うように。
        (sqrtとかの算術関数はループから追い出すけど、加減乗除ぐらいは気にしない)
        可読性の点から、そういったコードの方がメンテしやすいんですよね。

        さらに時代が進んで、今はsqrtなんかもループの中に入れたようなコードをばんばん書いてます。
        境界条件での動作チェックとかを考えると、DDAすら面倒で…

        速度的に問題出たらDDAに書き換えようとか思うのですが、それで問題出ることがあまりないんですよね。
        線形探索だとかバブルソートだとかはオーダーが違うので問題になりやすいですが、
        Breseham の直線補間なんて、同じO(n)の範疇ですからねぇ…

        最近はライブラリが豊富なので「既存のモジュールを組み合わせる」ようなプログラミングばかりで
        なんだか年々、プログラマとして退化していってるんじゃないかと思うことがたまにあります。

        親コメント
      • by Anonymous Coward

        逆転の発想って、今の価値観で考えるからそうなのであって
        当時は、普通に(というかそれしか現実的な方法が無く)行っていた事だったりしますよね。

      • by Anonymous Coward
        >ごく普通のパソコン誌で紹介されていて広まったテクニックだったので、

        私もそう思っているので、
        リージョンのアルゴリズムのテクニカルな話とか聞いてみたかったな。
        • by saitoh (10803) on 2010年07月22日 18時38分 (#1799111)
          円は・・・確か、創刊かもないころのインターフェース誌にもDDAは載ってました。

          不定形領域カットアンドペーストは本当に難しい、QuickDrawの実装を読んでみたい、マッキントッシュ登場当時は言ってたような記憶があります。

          親コメント
          • by Anonymous Coward
            Fujitsu Micro 8は64角形で円を近似していました。他のシリーズはわかりません。ハイレゾ機は普通にDDAだったような…

            DDAによる直線描画はけっきょくのところ減算を繰り替えして除算していることになるから、それなら先に筆算方式で除算し累積誤差は固定小数点で扱えばより速いと、祝一平氏がOh!MZ誌で指摘していました。

            DDAといえばカシオFP-3000を思い出します。TVAM、RGBS、パタリロ…

            > 不定形領域カットアンドペーストは本当に難しい、

            ポリゴンによるクリッピングのように思えますが、当時の標準的な教科書には載っているはずです。Sutherland Hodgmanあたりで検索してください。
            • by Anonymous Coward
              少なくともFM-7では64角形でした。FMシリーズの8bit機は全て同じではなかったかなぁ。
              #ラインとかサークルとかペイントの出来栄えを雑誌上で競っていたことが懐かしい。
    • by Anonymous Coward

      リンク先で/.Jストーリーに回帰するとはおもわなんだ

      MacPaint のソースコードが公開へ [srad.jp]

      今回のストーリーのタイトル、この過去ストーリ踏まえると微妙でない?

  • by Account-mochi Coward (34881) on 2010年07月21日 19時16分 (#1798552) 日記

    なお、ソースコードは公開されているものの、非商用での利用は禁止されており、オープンソースではないのでご注意を。

    商用利用は禁止されてないの?

    Note: This material is Copyright ©1984 Apple Inc. and is made available only for non-commercial use.

    とあるので商用利用が禁止されてるんですね。

    --
    署名スパムがウザい?アカウント作って非表示に設定すればスッキリさ。
    • by reo (4042) on 2010年07月22日 12時03分 (#1798822) 日記

      Account-mochi Coward のコメントに従いまして記事を編集させていただきました。
      ご指摘ありがとうございました。

      --
      Hiroki (REO) Kashiwazaki
      親コメント
      • by Anonymous Coward

        さらに言わせて貰えば、商用利用禁止だろうが公開されればオープンソースだという話もw
        xxxライセンスじゃないって話ならわかるけどねw(GPLとかBSDとか)

        • by Anonymous Coward on 2010年07月22日 14時40分 (#1798978)

          > 商用利用禁止だろうが公開されればオープンソースだという話もw

          よのなかにはオープンソースの定義 [opensource.jp]というものがありまして、「公開されているソース≠オープンソース」というのはそこそこポピュラーな認識だと思います。

          # オープンソースって一般名詞でもなさそうだし、オレ定義を持ち出さず上の定義でいいと思う

          親コメント
    • by Anonymous Coward

      あれたまから持ってくるときに元記事を直したのなら直したって書いてくれないもんかな>編集者
      でないと持ってきたコメントが意味不明になるよ。

  • by Anonymous Coward on 2010年07月22日 11時13分 (#1798783)
    クヌースがすっくと立ち上がり、MacPaint のソースコードが欲しいとのたまったのは、 ずいぶんと前の話だったように思えたのだが。
  • by Anonymous Coward on 2010年07月22日 11時31分 (#1798795)
    MacPaintを開いてみた。
    メインのパスカルコードが150KBもあって、コメントも殆ど無いので読む気にならない。
    { アセンブラは120KBだけど半分がコメントなので思ったほどでもない }
    { でも見た瞬間にHLockとか出てきて懐かしかった。 }
  • by Anonymous Coward on 2010年07月22日 11時33分 (#1798800)
    MacPaintも良かったけれど、HyperCardのお絵描きツールが使いやすくて好きでした。
    アレだけ切りだして、世に出せないかな。
  • by Anonymous Coward on 2010年07月22日 13時57分 (#1798950)

    俺死蔵のMacOS7.x環境とInside Mac CD-ROMとThink-Pascalが火を噴くぜ!

    #火を噴く前に火が入るか少し心配w

    • by Anonymous Coward
      つ[PRAMバックアップ用電池]

      #私もSE/30とLCIII死蔵してますが、多分もうダメだろうなぁ
    • by Anonymous Coward
      入ったら入ったで火よりも先に煙を噴くのではないかと……。
  • by Anonymous Coward on 2010年07月22日 15時22分 (#1799007)
    アトキンソン「4年かけた」ジョブス(記者にむかって)「24人年だ」
    8人月だ、って言われる自信ならある。
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...