2016-12-19 23 views
0

私のプロジェクトでは、円と楕円のラスタライズ(C++または可能であればアセンブリ+ SIMD)を実装する必要があります。私は中点円アルゴリズムとBresenhamの円アルゴリズムについて知っています。しかし、これらのアルゴリズムは整数値(中心x、中心y、半径)で動作します。私の場合、半径と中心は浮動小数点形式(または少なくとも固定小数点数)で表現する必要があります。また、半径は1ピクセル未満でもかまいません。だから、浮動小数点値で動作するアルゴリズムが必要です。誰かが私を助けることができますか?円と楕円のラスタライゼーションアルゴリズム

+2

座標が浮動小数点形式で表されていても、浮動小数点数を整数に丸めることができます。また、ラスタライズは、整数で作業していることを意味します(ベクトル画像をピクセルに変換します)。浮動小数点数を整数に丸めることができます。 – berendeanicolae

+0

なぜ浮動小数点ですか? 1ピクセルの0.152にアクセスできますか? –

+0

私はフォントの平滑化のようなものを話していた場合、1ピクセルの0.152円を描くかもしれないと思います。しかし、私はそれが疑わしい。 – infixed

答えて

0

WikipediaのBresenham's algorithmによれば、画面のピクセルに円を描くと考えられています。

これは、円の計算を浮動小数点数に基づいて行うことができ、中心を整数でない任意の場所に配置し、整数以外の半径で円を整数ピクセルの場所に正確に描画する理由です。