発言者: 石原 守
発言日: 2012 02/08 07:56
方べきの定理の作図について掲示板に田中さんのソースが
2度ほど書き込まれています。
中身を読むのに時間がかかったので新たにつくってみました。
(本心は,今方べきの定理の作図のプリントを作成中で切羽詰まったから)
\documentclass{jarticle}
\usepackage[notMy]{emathP}
\def\henkaku#1#2#3{%
\Subvec#1#2\a
\vecXY\a\ax\ay
\calcval{RadDeg(atan2(\ay,\ax))}\kaku
\xdef#3{\kaku}
}
% Pは円の内部
% #1 PA
% #2 PB
% #3 PC
% #4 角APC
% #5 出来上がりの円の半径
% #6 図を回転させる角度
%
\def\mhoubeki#1#2#3#4#5#6{%
\teisuuretu{pa=#1;pb=#2;pc=#3;coa=#4;enhankei=#5;kaitenkaku=#6}
\calcval{\pa*\pb/\pc}\pd
\tenretu*{Ai(\pa,0);Bi(-\pb,0);Pi(0,0)}
\rtenretu*<perl>{Ci(\pc,\coa);Di(\pd,\coa-180)}
\Gaisin\Ai\Bi\Ci\Ga
\calcval{\enhankei/\lR}\UL
\vecXY\Ga\Gax\Gay
\calcval{\Gax-\lR}\xi
\calcval{\Gax+\lR}\xii
\calcval{\Gay-\lR}\yi
\calcval{\Gay+\lR}\yii
\kaiten\Ga\Ai\kaitenkaku\A
\kaiten\Ga\Bi\kaitenkaku\B
\kaiten\Ga\Ci\kaitenkaku\C
\kaiten\Ga\Di\kaitenkaku\D
\kaiten\Ga\Pi\kaitenkaku\P
\henkaku\A\Ga\Ar
\henkaku\B\Ga\Br
\henkaku\C\Ga\Cr
\henkaku\D\Ga\Dr
\henkaku\P\Ga\Pr
\begin{zahyou*}[ul=\UL mm,Yohaku=5mm](\xi,\xii)(\yi,\yii)
\Gaisetuen\A\B\C
\Kuromaru{\A\B\C\D\P}
\Drawlines{\A\B;\C\D}
\Put\A[r](8pt,\Ar)[c]{A}
\Put\B[r](8pt,\Br)[c]{B}
\Put\C[r](8pt,\Cr)[c]{C}
\Put\D[r](8pt,\Dr)[c]{D}
\Put\P[r](8pt,\Pr)[c]{P}
\end{zahyou*}
\calcval{\enhankei*2+10}\modoru
\hspace{-\modoru mm}}
% Pは円の外部
% #1 PA
% #2 PB
% #3 PC
% #4 角APC
% #5 出来上がりの円の半径
% #6 図を回転させる角度
%
\def\Mhoubeki#1#2#3#4#5#6{%
\teisuuretu{pa=#1;pb=#2;pc=#3;coa=#4;enhankei=#5;kaitenkaku=#6}
\calcval{\pa*\pb/\pc}\pd
\tenretu*<perl>{Ai(\pa,0);Bi(\pb,0);Pi(0,0)}
\rtenretu*<perl>{Ci(\pc,-\coa);Di(\pd,-\coa)}
\ifdim\pa pt=\pb pt
\Gaisin\Di\Bi\Ci\Ga
\else
\Gaisin\Ai\Bi\Ci\Ga
\fi
\calcval{\enhankei/\lR}\UL
\vecXY\Ga\Gax\Gay
\calcval{\Gax-\lR}\xi
\calcval{\Gax+\lR}\xii
\calcval{\Gay-\lR}\yi
\calcval{\Gay+\lR}\yii
\kaiten\Ga\Ai\kaitenkaku\A
\kaiten\Ga\Bi\kaitenkaku\B
\kaiten\Ga\Ci\kaitenkaku\C
\kaiten\Ga\Di\kaitenkaku\D
\kaiten\Ga\Pi\kaitenkaku\P
\henkaku\A\Ga\Ar
\henkaku\B\Ga\Br
\henkaku\C\Ga\Cr
\henkaku\D\Ga\Dr
\henkaku\P\Ga\Pr
\begin{zahyou*}[ul=\UL mm,Yohaku=5mm](\xi,\xii)(\yi,\yii)
\ifdim\pa pt=\pb pt
\Gaisetuen\D\B\C
\else
\Gaisetuen\A\B\C
\fi
\Kuromaru{\A\B\C\D\P}
\Drawlines{\A\B\P;\C\D\P}
\ifdim\pa pt=\pb pt
\Put\A[r](8pt,\Ar)[c]{S}
\else
\Put\A[r](8pt,\Ar)[c]{A}
\Put\B[r](8pt,\Br)[c]{B}
\fi
\ifdim\pc pt=\pd pt
\Put\C[r](8pt,\Cr)[c]{T}
\else
\Put\C[r](8pt,\Cr)[c]{C}
\Put\D[r](8pt,\Dr)[c]{D}
\fi
\Put\P[r](8pt,\Pr)[c]{P}
\end{zahyou*}
\calcval{\enhankei*2+10}\modoru
\hspace{-\modoru mm}}
\begin{document}
\mhoubeki{3}{4}{2}{40}{12}{50}%
\begin{zahyou*}[ul=\UL mm,Yohaku=5mm](\xi,\xii)(\yi,\yii)
\HenKo<hasenLG={.6mm,.8mm}>\P\A{3}
\HenKo<hasenLG={.6mm,.8mm}>\P\B{4}
\HenKo<hasenLG={.6mm,.8mm}>\P\C{2}
\HenKo<hasenLG={.6mm,.8mm}>\P\D{$x$}
\end{zahyou*}
\Mhoubeki{2}{8}{4}{40}{12}{38}%
\begin{zahyou*}[ul=\UL mm,Yohaku=5mm](\xi,\xii)(\yi,\yii)
\HenKo<hasenLG={.6mm,.8mm}>\A\P{2}
\HenKo<hasenLG={.6mm,.8mm}>\P\B{8}
%\HenKo<hasenLG={.6mm,.8mm}>\C\P{4}
\HenKo<hasenLG={.6mm,.8mm}>\P\D{$x$}
\end{zahyou*}
\Mhoubeki{3}{8}{4}{40}{12}{0}%
\begin{zahyou*}[ul=\UL mm,Yohaku=5mm](\xi,\xii)(\yi,\yii)
\HenKo<hasenLG={.6mm,.8mm}>\A\P{3}
\HenKo<hasenLG={.6mm,.8mm}>\P\B{8}
\HenKo<hasenLG={.6mm,.8mm}>\C\P{4}
\HenKo<hasenLG={.6mm,.8mm}>\P\D{$x$}
\end{zahyou*}
\end{document}
例によって引数のチェックなしエラーチェックなしです。
▼関連発言
│
└◆981:方べきの定理の作図 [石原 守] 02/08 07:56<-last