Article View: fj.lang.c
Article #354Re: 2点間の距離を求める
From: Takeshi Shigihara
Date: Mon, 20 Apr 1998 00:00
Date: Mon, 20 Apr 1998 00:00
26 lines
1886 bytes
1886 bytes
Ken-ichiro Ueda wrote:
>
> アルゴリズム本などに、ブレゼンハムという人が考えたDDAという
> アルゴリズムがあると思いますので、探してみてください。書籍では
> Cによるアルゴリズム辞典だかという本にのっていたはずです。
>
> DDA(Digital Differential Analiser)ってのはつまるところ、傾きによ
> って2点間に線を引いていくのですが、XとYの少数部を整数演算に
> よって求めて、0.5で四捨五入していました。これで2点間にドットを
> 置いていき(描画はしなくてよい)、ドットの数がラインの長さという事
> になります。実は手元の書籍のどれかにあったと思うのですが、探す
> のが面倒なので書籍を当たってください。それくらいの努力はしても
> いいですよね。
DDAを利用する方法は、ちと疑問に思います。
直線を引くために最適化されたDDAでは、XもしくはYの長いほうの
距離に対して、それが1つ変化した時に短い方の変数が1変化するかどう
かを調べることになりかねません。つまり、ドットの数は、長いほうの
距離となってしまう恐れがあります。
平方根のニュートン法などを利用して、計算したほうが良いと思います。
----- Takeshi Shigihara
Office cygnus@masternet.or.jp
Home cygnus@po.jah.ne.jp -----
Technical Details
Message-ID:
<353ABF24.9BB9C609@masternet.or.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<6hdaib$chb$1@news1.kcom.ne.jp> <353A4B04.7439F598@pluto.dti.ne.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 106434,5e6daae5d04bdee4 X-Google-Attributes: gid106434,public From: Takeshi Shigihara <cygnus@masternet.or.jp> Subject: Re: 2点間の距離を求める Date: 1998/04/20 Message-ID: <353ABF24.9BB9C609@masternet.or.jp> X-Deja-AN: 345824391 Content-Transfer-Encoding: 7bit References: <6hdaib$chb$1@news1.kcom.ne.jp> <353A4B04.7439F598@pluto.dti.ne.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp X-Complaints-To: ap-net@asahi-net.or.jp X-Trace: skytrain.asahi-net.or.jp 893042725 35758 (None) 202.224.45.147 Organization: MasterNet Newsgroups: fj.lang.c