2008年03月

サイト運営者の日々の日記。2008年03月。

15日

新型

2008/03/15-12:10

現在公開しているJavaScriptグラフ描画スクリプトよりも、性能のいいアルゴリズム。既存のものと差し替えたい。

適当なHTMLを作成し、<script>で囲んで実行。無駄に省エネ仕様になっているのは、なんとなく容量に挑戦していたから。このスクリプトから改行,インデント,無駄な;を取っ払えば最小構成になる。

p = [0,0];
s = 10;
m = 250;
f = "Math.sin(x)*Math.exp(-x/4)+1/(x*x-1)";

function d(a,b)
{
        document.write(w1+a+w2+b+w6)
}
w1 = '<span style="left:';
w2 = 'px;top:';
w3 = 'px;height:';
w4 = 'px;width:';
w5z = 'px;position:absolute;font-size:';
w5b = w5z+'15px;">';
w5a = w5z+'1px;background:#00f;color:#00f;">*';
w5c = w5z+'1px;background:#000;">.';
w6 = '<\/span>';
d(9,(2*m+15)+w5b+'<i>y='+f+'<\/i>');d(0,m+w3+1+w4+2*m+w5c);d(m,0+w3+2*m+w4+1+w5c);
o = [[1,0,s+p[1]],[0,1,-s+p[0]],[2,1,s+p[0]],[1,2,-s+p[1]],[1,1,p]];
for(i in o)d(m*o[i][0],m*o[i][1]+w5b+o[i][2]);
t = 0;
for(i=-m;i<m;i++)
{
        x = s*i/m+p[0];
        g = 0;
        y = Math.round((eval(f)-p[1])*m/s);
        if(isNaN(y))continue;
        if(y<-m){
                y = -m;
                g = 1;
        }
        if(y>m){
                y = m;
                g = 1;
        } 
        if(t==y&&g)continue;
        l = (i>-m)?y-t:1;
        q = (l<0)?l:0;
        d(m+i,(m-y+q)+w3+Math.abs(l)+w5a);
        t = y;
}

日記

2008/03/15-12:10

日記を書こうとする際に適当なニュースを引用して文章を付け始めると、決まって文章量が莫大なものになってしまい、書きながら新見解に辿り着いたりしてそれで満足してしまうということを数回繰り返している。こういう文章は本来数日寝かせたほうが良いが、そうすると永久に日記が書けなくなりそうで、手っ取り早く別ファイルに保存することにしている。

トップページ

2008/03/15-12:10

そろそろ変更したいところ。ファイルを漁ってみると過去にも変更しようとしていた形跡が。

--

2008/03/15-12:10

えらい久しぶり。生存報告。

流石に返信しないとまずいと思った。

ページ情報

作成日時
2008/03/15
最終更新日時
2008/03/15
HTML4.01版
y08m03.html
XHTML1.1版
y08m03.xhtml
XML原本
y08m03.xml