Re: picture環境で任意の角度の直線を引きたい

名前: .
日時: 2005-05-19 12:55:20
IPアドレス: 210.198.133.*

>>35937 (p,q) の向き(ただし,pq ≠ 0)に長さ L [\unitlength] の線分を引く場合, \scalebox{kp}[kq]{\line(1,1){L''}} ただし,k = \sqrt{(1/2)(1/p^2 + 1/q^2)} L' = 2 |pq| L / (p^2 + q^2) L'' = L'/\sqrt{2} のように拡大率と拡大前の長さを設定すれば,太さも変わらずに済みます. ただ,L'' \unitlength < 10pt となると(LaTeX のデフォルトの)\line では 出力できなくなるので,短い線分に関しては“回転”を用いて向きを合わせる ことになるでしょう. (例) \documentclass{jarticle} \usepackage[dvips]{graphics} \begin{document} \begin{picture}(50,50) \put(0,0){\line(1,2){10}}%%% 長さ: 10\sqrt{5} \unitlength (L = 10\sqrt{5}) \put(10,0){\scalebox{.7906}[1.581]{\line(1,1){12.65}}} %%% p = 1, q = 2 では,k = \sqrt{(1/1^2 + 1/2^2)/2} = \sqrt{10}/4 %%% kp = \sqrt{10}/4 ≒ 0.7906 %%% kq = \sqrt{10}/2 ≒ 1.581 %%% L' = L * (2 * |1 * 2|) / (1^2 + 2^2) %%% = 10\sqrt{5} * (4/5) = 8\sqrt{5} %%% L'' = L'/\sqrt{2} = 4\sqrt{10} ≒ 12.65 \end{picture} \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)