発言者: 田中徹
発言日: 2006 07/25 11:30
発言元: 58.98.123.241
> \Pii は eclarith.sty で
> \def\Pii{6.28318531}
> と定義されており,それを用いて
> \Sin, \Cos
> が記述されています。
# その昔、予約後 \or をつぶされた方がいらっしゃたなぁ
私も Pi, Pii, ... と記述していました。
P1, P2 と記述できない TeX の仕様から
バッティングしないように
弧度法(三角比)に頼らないソースを考えてみました。
# オーバーフローも起こりづらいと密かに思っています??
角AOB を大きめにとるとすぐに外側に出て行きますね。(^_^)v
\documentclass[a4j,fleqn]{jarticle}
\usepackage{emathP}
\makeatletter
\def\反射点#1#2#3#4#5{%
\Kaiten#4#3{90}\@H%
\CandL#1{1}#4\@H\@P\@Q%
\Bunten\@P\@Q{1}{1}\@M%
\Bunten#1\@M{-2}{1}#5%
}%
\makeatother
\begin{document}
\caprm
\small
\begin{zahyou*}[ul = 10mm](0, 6)(0, 6)
% 壁 AOB の頂点を定義し, 実線で結ぶ
\oresen{%
A(1, 1)w;%
O(5.2, 1)e;%
B(1.2, 2.5)w;%
}
% 出発点 P_0 を定義する
\tenretu{%
[$\mathrm{P_0}$]P(1.3, 1)s;%
}
% 出発点 P_0 の出る角度を定義する
\def\ALPHA{20}
% 1回目の反射地点 P_1 を求める
\Landk\O\B\P\ALPHA\Pi
\Put\Pi{$P_{1}$}
% 線分 P_0 P_1 を描画する
\Arrowline{\P\Pi}
\反射点\P\O\B\Pi\Pz%
\Kuromaru\Pz%
\Put\Pz[ne]{$P_{0}'$}
\Put\Pz[se]{\small($P_{0}$ の OB上の点 $P_{1}$ に対する反射点)}
\Arrowline{\Pi\Pz}
\LandL\O\A\Pi\Pz\Pii
%\Kuromaru\Pii
\反射点\Pi\O\A\Pii\Pz%
%\Kuromaru\Pz
\end{zahyou*}
\begin{zahyou*}[ul=20mm](0, 6)(0, 6)%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\角AOB{10}%
\def\初角{15}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\A{(0,0)}%
\def\O{(6,0)}%
\Kaiten\O\A{-\角AOB}\B%
\Put\A[w]{A}%
\Put\O[e]{O}%
\Put\B[w]{B}%
\Drawlines{\A\O\B}%
\tenretu{%
[$P_{0}$]P(1, 0)s;%
}%
\Landk\O\B\P\初角\Pi%
\Put\Pi{$P_{1}$}%
\Arrowline{\P\Pi}%
%
\反射点\P\O\B\Pi\Pz%
\LandL\O\A\Pi\Pz\Pii%
\Put\Pii[s]{$P_{2}$}%
\Arrowline{\Pi\Pii}%
%
\反射点\Pi\O\A\Pii\Pz%
\LandL\O\B\Pii\Pz\Piii%
\Put\Piii[n]{$P_{3}$}%
\Arrowline{\Pii\Piii}%
%
\反射点\Pii\O\B\Piii\Pz%
\LandL\O\A\Piii\Pz\Piv%
\Put\Piv[s]{$P_{4}$}%
\Arrowline{\Piii\Piv}%
%
\反射点\Piii\O\A\Piv\Pz%
\LandL\O\B\Piv\Pz\Pv%
\Put\Pv[n]{$P_{5}$}%
\Arrowline{\Piv\Pv}%
\end{zahyou*}%
\end{document}
▼関連発言
│
└◆4996:emathMw と emathP の相性に関して [aka] 07/25 00:15
├◆4997:情報の追加 [aka] 07/25 00:46
│└◆4998:\Pii は予約語です。 [tDB] 07/25 09:37
│ └◆4999:Re:\Pii は予約語です。 [田中徹] 07/25 11:30
└◆5017:[解決] emathMw と emathP の相性に関して [aka] 07/28 21:44<-last