タグ

ブックマーク / sawat.hatenablog.com (3)

  • 四角形による平面充填 - sawatのブログ

    平面充填(へいめんじゅうてん)とは充填の一種で、平面内を多角形などで隙間なく敷き詰める操作である。 (略) 全ての合同な平行六辺形(3組の対辺が平行で等しい六角形)は平面敷き詰め可能である。また、平行四辺形以外の全ての四角形は、合同なものを二つ組み合わせることで平行六辺形となる。従って、全ての四角形は平面敷き詰め可能である。 平面充填 -- Wikipedia というのをプログラムで作ってみた。 ソース import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.geom.AffineTransform; import java.util.Random; import javax.swing.JComponent; import javax.

    四角形による平面充填 - sawatのブログ
  • sawatの日記 - evalの第二引数とGreasemonkeyのunsafeWindowについて

    「http://d.hatena.ne.jp/brazil/20070420/1177060289」でFirefox専用の第二引数に環境の指定をとるevalの使い方について説明されています。その元はこちら「http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20070414#p02」で、僕もこれを見たときに初めてしりました。そのころ僕はグリモンのスクリプトをいじっていたので、ちょっと気になっていくつか試してみて、ネタ元のページに以下のようなブクマコメントをしました。 evalの第2引数しらなかった。これを応用すると、GreasemonkeyでusafeWindow.xxx() とする場合、xxx内部からeval("GM_xmlhttpRequest", arguments.callee.caller)でGM_xmlhttpRequestが取得されてして

    sawatの日記 - evalの第二引数とGreasemonkeyのunsafeWindowについて
  • Unicodeエスケープ - sawatのブログ

    付箋紙Greasemonkeyで、GM_setValueに登録した日語の文字化け対策にencodeURIをつかったけど、encodeURIはURIをエンコードするための関数なのであんまり褒められた使い方ではないですね。しかも、encodeURIのようなURLエンコーディングは文字列をUTF-8にしてから、エンコード対象の各バイトを%xx形式*1で表現するので、日語1文字をあらわすのにたいていの場合ASCII9文字が必要になって効率が悪いです。*2 なので、前述のような単に非ASCII文字をエスケープしたいだけのようなケースではUnicodeエスケープを使った方がよいです。Javaのpropertiesとかnative2asciiとかのやつです。 Unicodeエスケープは\uxxxx*3の形式であらわすので、たいていの日語1文字はASCII6文字になって、URLエンコーディングに比べ

    Unicodeエスケープ - sawatのブログ
  • 1