- @ThothChildren
- 2018.6.26
- PV 239
画像にAntiAliasした線を高速に描画したい
ー 概要 ー
画像状にアンチエイリアスを施した直線を高速に描画したいときの手法について紹介します.ここで紹介する手法はXiaolin Wu'sの線アルゴリズムになります.
この章を学ぶ前に必要な知識
条件
- 描画したい直線の始点と終点の位置座標
効果
- アンチエイリアスされた線を高速に描画
ポイント
- 始点と終点の周りは別途対応が必要
- 直線が短すぎる場合も要対応
- ブレセンハムのアルゴリズムがベースの手法.当然ブレセンハムよりは遅いが、既存のアンチエイリアス線描画より高速
解 説
与えられたピクセル画像状に指定された始点と終点の情報を持つアンチエイリアスされた直線を描画する方法についてまとめます.
ここでは通常のブレセンハムの描画のみにとどまらずアンチエイリアスも簡易的にそして高速に行う XioliunWuの線アルゴリズムについて紹介します. | 画像にAntiAliasした線を高速に描画したい |
アンチエイリアスがいらない場合は右のリンクを参照 | シンプルに画像に線を描画したい |
Xiaolin Wuの線アルゴリズム
上下で一気に二行分のマスを塗っている.
(https://en.wikipedia.org/wiki/Xiaolin_Wu%27s_line_algorithm Wikipediaより引用) | |
1.Xiaolin Wuのアルゴリズム | |
Xiaolin Wuのアルゴリズムでは、ブレセンハムにおいて線を跨いだマスを塗っていくシンプルな方法だったのを、直線からどれだけ離れているかでグラデーションを加えている.そのため上下のマスを一期に更新している. | Xiaolin Wuのアルゴリズムについて |
ブレゼンハムよりはやはり遅いが、高速である.
始点と終点の周りや線が短いときは特別な対応が必要になる.
| Xiaolin Wuのアルゴリズム特徴 |
この章を学んで新たに学べる
Comments
Reasons
知識: シンプルに画像に線を描画したい
シンプルな方法を用いて画像に線を描画する方法についてまとめます.高速性と正確性の観点からブレセンハムの線描画アルゴリズムが有名で、頻繁に使用され、また様々なハードウェア実装もされています.