アンチエイリアスについては、X#,Y#に点を描画する部分と、正確に1px刻みで描画する部分が肝です。 前者は、例えば(0.2,0)に点を描くなら、(0,0)に80%、(1,0)に20%の濃さで描くだけです。小数部がそのまま%になる感じですね。 後者はたとえば(0,0)-(2,2)に1px間隔で描画する場合、(0,0),(0.707,0.707),(1.414,1.414)に点を書きます。(0,0)-(2,2)の長さはSQR(2*2+2*2)=2.828..、1px間隔で描画するならつぎは長さが3になるところです。なので次に線を描くときに0.828進んだ状態…始点から1-0.828=0.172px進んだのところから点を描きます。小数部だけ抜き出してるのは、1px間隔なら小数部だけで足りるからです。 …説明下手なんですが伝わってるといいなぁ;)