なんちゃってMathematicaを作る - その22 [なんちゃってMathematica]
思い出したように続けている「なんちゃってMathematica」シリーズ。忘れそうになるんだけど一度やってくじけたテーマなので案外思い出せる。前回は基本的なプロットオブジェクトになるPrimitiveをおさらいした。プロットオブジェクトと線幅やその色なんかのアトリビュート(Option)の関係を整理した。プロット作業そのものはレイヤに分けて分担しながら進めることにした。今日はそれぞれのレイヤの仕事を整理する。
なんちゃってMathematicaを作る - その21 [なんちゃってMathematica]
思い出したようにときどき続けている「なんちゃってMathematica」シリーズ。ここのところプロットライブラリの設計を続けている。前回までで、座標表現を3種類用意すること、その3つを混在して使うことを許すこと、そしてその結果発生する問題の解決策を考えた。
座標表現の話題はこのくらいにして、今日はプロットの基本オブジェクトであるPrimitiveに関してもう一度整理する。
座標表現の話題はこのくらいにして、今日はプロットの基本オブジェクトであるPrimitiveに関してもう一度整理する。
なんちゃってMathematicaを作る - その20 [なんちゃってMathematica]
昨日の続き。3種類の座標表現があって、それを混在して使っていい、ということにしたときに、座標を変換していく作業と相対座標の解決をどう両立するか、というのが問題だった。今日とりあえずの解決策を思いつくことができた。もっといい方法があるかもしれないけど、とりあえず今日はその話。
なんちゃってMathematicaを作る - その19 [なんちゃってMathematica]
前回から2週間以上も経ってしまって忘れてしまいそうになるんだけど、がんばって続きをやる。
2次元プロットを与えられた矩形いっぱいに、しかし端っこが切れたりすることなく表示するため、3つの座標の表現を使って順に変換されることでそれを実現するような方法をとることを決めて、その問題点を整理していた。前回は実装に近い問題をおさらいした。その結果3つの座標表現は汎用の表現のサブクラスとして実装しよう、ということにした。今日はそのことによって発生する別の問題について。
2次元プロットを与えられた矩形いっぱいに、しかし端っこが切れたりすることなく表示するため、3つの座標の表現を使って順に変換されることでそれを実現するような方法をとることを決めて、その問題点を整理していた。前回は実装に近い問題をおさらいした。その結果3つの座標表現は汎用の表現のサブクラスとして実装しよう、ということにした。今日はそのことによって発生する別の問題について。
なんちゃってMathematicaを作る - その18 [なんちゃってMathematica]
なんだか週一回ペースになってる「なんちゃって」シリーズ。前回は3種類の座標を使って順番に変換することでプロットを作成することにして、その3種類の座標が混在してもいいとして文字なんかのシンボルの配置を簡単にできるようにしようと考えた。その結果発生する問題について整理した。今日はその座標の変換の表現方法について。
なんちゃってMathematicaを作る - その17 [なんちゃってMathematica]
前回はもう先週の話になってしまうんだけど、プロットライブラリの内部設計を始めた。レイヤ構造を持たせること、3種類の座標値を内部的に使って処理を進めること、その3つの座標値はユーザにも開放して混在して使うことを許すこと、なんかを決めた。このへんはずっと前に考察していた。その3種類の座標値にそれぞれ絶対座標と相対座標を持たせる。今日はそれらを混在されることによる問題について。
なんちゃってMathematicaを作る - その16 [なんちゃってMathematica]
ひさしぶりに「なんちゃってMathematica」に戻ることにする。これまでを思い出すと、まず全体の構造を決めた。それは
- ユーザインターフェイスはMathematicaのFront Endに似せる
- 数値計算エンジンはgslを使う
- 代数演算(式の変形)はやらない
- インタプリタはlex/yaccを使って自作する
- 2D/3Dプロットも自作する
なんちゃってMathematicaを作る - その15 [なんちゃってMathematica]
先日APIのイメージを作ってみたプロットライブラリ。Objective-Cだとなんだか拍子ぬけするような簡単なAPIになってしまう。でもこれでちゃんとしたプロットが描けるならそのほうがいい。今日はもうちょっとAPIのこまかな部分を考えてみる。
関係ないけど最近のso-netどうも重くてやる気がそがれるな。
関係ないけど最近のso-netどうも重くてやる気がそがれるな。
なんちゃってMathematicaを作る - その14 [なんちゃってMathematica]
昨日気分を一新して「なんちゃってMathematica」のプロット機能の実現のための考察に切り替えることにした。
プロット機能は以前ライブラリとして実現しようとして途中でくじけていたが、そこそこ検討は進んでいた。このままでは実装にはまだ入れないけど、それに近い具体的な内容にしやすい。実装に近いほど進捗が見えやすいし、進んでいる実感があるとモチベーションも維持しやすい。「ほい、ほい」と言う感じで考えが進む。悪い気分ではない。
プロット機能は以前ライブラリとして実現しようとして途中でくじけていたが、そこそこ検討は進んでいた。このままでは実装にはまだ入れないけど、それに近い具体的な内容にしやすい。実装に近いほど進捗が見えやすいし、進んでいる実感があるとモチベーションも維持しやすい。「ほい、ほい」と言う感じで考えが進む。悪い気分ではない。
なんちゃってMathematicaを作る - その13 [なんちゃってMathematica]
この「なんちゃってMathematica」は最初からずっと概論のような話ばっかり続いて、さっそく飽きてきた。やっぱりもう少し具体的な話にならないとモチベーションが維持できない。かといってこれ用の評価エンジンの設計に入れるほど煮詰まっていない。
ということで、今日から違う側面の検討を進めることにする。昔やってて途中でくじけたプロットライブラリ。
ということで、今日から違う側面の検討を進めることにする。昔やってて途中でくじけたプロットライブラリ。