オブジェクト指向は戦場では必要無し その2
■ このスレッドは過去ログ倉庫に格納されています
0406召還師@307
NGNGAWTというわけではなく、一般的なPointクラスの話をしました。
設計思想的に、なぜ内部データをx,y座標のdouble型にしたのかは、
僕の個人的思想に委ねられています。
この設計が正しいかどうかは個人によって違うでしょう。
どういうことかというと、今回僕が作ったPoint型だと、
例えば、内部で(200.35, 350.4)みたいになってる時に
intPixelX();とかだと200が得られて丸め誤差とか発生しますよね?
これが丁度、3Dグラフィックスとかで言うところのラスタ演算にあたると考えます。
Windowのpixel座標を扱うようなものであっても、
描画を扱う以上、なんらかの状態からpixel座標がラスタ演算されて求まる方が、
僕的に気持ちが良かったのです。
pixelのint型に縛られるというのは、ディスプレイデバイスに縛られるようで、
なんだかデバイス依存になって嫌なのです。僕的にはね。
それに、こうしておくと、内部データ(200.35, 350.4)で
解像度1024×768で得られるpixelが(200, 350)で、
解像度800×600で得られるpixelが相対的に(156, 273)みたいにできるからです。
もちろん、こんな相対的変換をやっちゃうとデザインがずれる場合には、
解像度800×600でも得られるpixelが(200, 350)とできますしね。
これで、臨機応変、簡単、便利、ちょっと変なこと試したりできるとかいろいろありますが、
どう考えても、速度とメモリの問題はつらいので(初めから無視してるし)
現実的に使えないと言われれば、使うなと言いますw。
■ このスレッドは過去ログ倉庫に格納されています