%\NeedsTeXFormat{LaTeX2e}
%\typeout{Option Style�eqbgraph�f2005 July 29 by T. Moonlight}
%\typeout{......................main style +qbgraph++++++++++}
\typeout{                       sub style         +qbgraphe+ lines circles}
%
%qbezier�ɂ���󒼐�\qbarrow
   \newcount\tmpN \tmpN=1
   \newcount\tmpBd \tmpBd=1

\newcommand{\qbdart}[4]{
\tmpUnitL=\unitlength
\qbdef{7}{\tmparrowsize}
\Div{\tmparrowsize}{\strip@pt\tmpUnitL}{\tmparrowsize}
\Mul{\tmparrowsize}{1}{\tmparrowsize}
%\qbline{#1}{#2}{#3}{#4}
\qbrotpointl{#3}{#4}{#1}{#2}{40}{\tmparrowsize}
\qbtmpline{#3}{#4}
\qbrotpointl{#3}{#4}{#1}{#2}{-40}{\tmparrowsize}
\qbtmpline{#3}{#4}
}
\newcommand{\qbarrow}[5]{
\tmpUnitL=\unitlength
\qbdef{10}{\tmparrowsize}
\Div{\tmparrowsize}{\strip@pt\tmpUnitL}{\tmparrowsize}
\Mul{\tmparrowsize}{#5}{\tmparrowsize}
\qbline{#1}{#2}{#3}{#4}
\qbrotpointl{#3}{#4}{#1}{#2}{30}{\tmparrowsize}
\qbtmpline{#3}{#4}
\qbrotpointl{#3}{#4}{#1}{#2}{-30}{\tmparrowsize}
\qbtmpline{#3}{#4}
\Mul{#3}{1}{\tmpx}
\Mul{#4}{1}{\tmpy}
}
\newcommand{\qbarrowd}[5]{
\tmpUnitL=\unitlength
\qbdef{10}{\tmparrowsize}
\Div{\tmparrowsize}{\strip@pt\tmpUnitL}{\tmparrowsize}
\Mul{\tmparrowsize}{#5}{\tmparrowsize}
\qblined{#1}{#2}{#3}{#4}
\qbrotpointl{#3}{#4}{#1}{#2}{30}{\tmparrowsize}
\qbtmpline{#3}{#4}
\qbrotpointl{#3}{#4}{#1}{#2}{-30}{\tmparrowsize}
\qbtmpline{#3}{#4}
\Mul{#3}{1}{\tmpx}
\Mul{#4}{1}{\tmpy}
}
\newcommand{\qbline}[4]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt
\qbgetmidpoint{#1}{#2}{#3}{#4}{\tmpmx}{\tmpmy}
\qbezier(#1,#2)(\tmpmx,\tmpmy)(#3,#4)
\Mul{#3}{1}{\tmpx}
\Mul{#4}{1}{\tmpy}
}
\newcommand{\qblined}[4]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt
\tmpUnitL=\unitlength
\qbgetmidpoint{#1}{#2}{#3}{#4}{\tmpmx}{\tmpmy}
\qbdist{#1}{#2}{#3}{#4}{\tmpL}
% \strip@pt#1 �͐��@�ϐ�#1��pt���O���Ă����B
\Mul{\tmpL}{\strip@pt\tmpUnitL}{\tmpL}
%\Mul{\tmpL}{1.25}{\tmpL}
\Mul{\tmpL}{0.75}{\tmpL}
\qbint{\tmpL}{\tmpL}
\ifdim \tmpL pt >1 pt
\intchar\tmpL\tmpL
\qbezier[\tmpL](#1,#2)(\tmpmx,\tmpmy)(#3,#4)
%\qbezier(#1,#2)(\tmpmx,\tmpmy)(#3,#4)
\else
\qbezier[2](#1,#2)(\tmpmx,\tmpmy)(#3,#4)
\fi
\Mul{#3}{1}{\tmpx}
\Mul{#4}{1}{\tmpy}
}
\newcommand{\qblinee}[5]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt
\Add{#1}{#3}\tmpmx
\Div\tmpmx{2}\tmpmx
\Add{#2}{#4}\tmpmy
\Div\tmpmy{2}\tmpmy 
\qbezier[#5](#1,#2)(\tmpmx,\tmpmy)(#3,#4)
\qbdefptmp{\tmpmx}{\tmpmy}
}
\newcommand{\qblines}[6]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt\rval=#6pt
\Sub{#3}{#1}\tmpvx
\Mul{\tmpvx}{#5}\tmpvsx
\Mul{\tmpvx}{#6}\tmpvgx
\Sub{#4}{#2}\tmpvy
\Mul{\tmpvy}{#5}\tmpvsy
\Mul{\tmpvy}{#6}\tmpvgy
\Add{#1}{\tmpvsx}\tmpSx
\Add{#2}{\tmpvsy}\tmpSy
\Add{#1}{\tmpvgx}\tmpGx
\Add{#2}{\tmpvgy}\tmpGy
\qbline{\tmpSx}{\tmpSy}{\tmpGx}{\tmpGy}
%\qbdefptmp{\tmpmx}{\tmpmy}
}
\newcommand{\qblinese}[7]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt\rval=#6pt
\Sub{#3}{#1}\tmpvx
\Mul{\tmpvx}{#5}\tmpvsx
\Mul{\tmpvx}{#6}\tmpvgx
\Sub{#4}{#2}\tmpvy
\Mul{\tmpvy}{#5}\tmpvsy
\Mul{\tmpvy}{#6}\tmpvgy
\Add{#1}{\tmpvsx}\tmpSx
\Add{#2}{\tmpvsy}\tmpSy
\Add{#1}{\tmpvgx}\tmpGx
\Add{#2}{\tmpvgy}\tmpGy
\qblinee{\tmpSx}{\tmpSy}{\tmpGx}{\tmpGy}{#7}
%\qbdefptmp{\tmpmx}{\tmpmy}
}
\newcommand{\qblineee}[6]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt\rval=#6pt
\Sub{#3}{#1}\tmpvx
\Mul{\tmpvx}{#5}\tmpvx
\Sub{#4}{#2}\tmpvy
\Mul{\tmpvy}{#5}\tmpvy
\Add{#1}{\tmpvx}\tmpvx
\Add{#2}{\tmpvy}\tmpvy
\Add{#1}{\tmpvx}{\tmpmx}
\Div\tmpmx{2}\tmpmx 
\Add{#2}{\tmpvy}{\tmpmy}
\Div\tmpmy{2}\tmpmy 
\qbezier[#6](#1,#2)(\tmpmx,\tmpmy)(\tmpvx,\tmpvy)
%\qbdefptmp{\tmpmx}{\tmpmy}
}
\newcommand{\qbtmpline}[2]{
\qbline{\tmpx}{\tmpy}{#1}{#2}
\qbdefptmp{#1}{#2}
}
\newcommand{\qbtmplined}[2]{
\qblined{\tmpx}{\tmpy}{#1}{#2}
\qbdefptmp{#1}{#2}
}
\newcommand{\qbtmplinee}[3]{
\qblinee{\tmpx}{\tmpy}{#1}{#2}{#3}
\qbdefptmp{#1}{#2}
}
\newcommand{\qblinevec}[4]{ %(#1,#2)����x�N�g��(#3,#4)�̐���
\Add{#1}{#3}{\tmpXX}  \Add{#2}{#4}{\tmpYY}
\qbline{#1}{#2}{\tmpXX}{\tmpYY}
}
%qbezier�ɂ�钼��\qblinediv
%(#1,#2)����C(#3,#)(#,#)��#7:#8�ɓ�������_�֐���������
\newcommand{\qblinediv}[8]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt
\rval=#5pt\rval=#6pt\rval=#7pt\rval=#8pt
\qbdivpoint{#3}{#4}{#5}{#6}{#7}{#8}
\qbline{#1}{#2}{\tmpx}{\tmpy}
}
%qbezier�ɂ��O�p�`\qbtri
\newcommand{\qbtri}[6]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt\rval=#6pt
\qbline{#1}{#2}{#3}{#4}
\qbline{#5}{#6}{#3}{#4}
\qbline{#1}{#2}{#5}{#6}
}
%qbezier�ɂ�镽�s�l�ӌ`\qbparallelo
\newcommand{\qbparallelo}[6]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt\rval=#6pt
\qbline{#1}{#2}{#3}{#4}
\qbline{#3}{#4}{#5}{#6}
\Sub{#1}{#3}{\tmppx}\Add{#5}{\tmppx}{\tmppx}
\Sub{#2}{#4}{\tmppy}\Add{#6}{\tmppy}{\tmppy}
\qbline{#1}{#2}{\tmppx}{\tmppy}
\qbline{#5}{#6}{\tmppx}{\tmppy}
}
%�_��������ւ̐����̑��̍��W�𓾂�
\newcommand{\qbgetverticallinep}[8]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt\rval=#6pt
\qbrotpoint{#3}{#4}{#5}{#6}{90}
\Sub{\tmpx}{#3}{\tmpVx}
\Sub{\tmpy}{#4}{\tmpVy}
\Add{\tmpVx}{#1}{\tmpVx}
\Add{\tmpVy}{#2}{\tmpVy}
%\qbpointx{\tmpVx}{\tmpVy}
\qbcrosspoint{\tmpVx}{\tmpVy}{#1}{#2}{#3}{#4}{#5}{#6}
\qbdefp{\tmpx}{\tmpy}{#7}{#8}
}
%���p�̃}�[�N
%\newcommand{\qbverticalmark}[4]{
%\tmpUnitL=\unitlength
%%\qbdef{5}{\tmpptsize}
%\Div{\tmpptsize}{\strip@pt\tmpUnitL}{\tmpptsize}
%\qbdist{#1}{#2}{#3}{#4}{\tmpD} %\typeout{sqrt((\tmpfx-#1)^2+(\tmpfy-#2)^2)=\tmpD}
%\Mul{\tmpD}{\tmpptsize}{\tmpD}
%\Sub{#1}{#3}{\tmpVx} \Div{\tmpVx}{\tmpD}{\tmpVx}
%\Sub{#2}{#4}{\tmpVy} \Div{\tmpVy}{\tmpD}{\tmpVy}
%\Sub{#1}{\tmpVx}{\tmpx} \Sub{#2}{\tmpVy}{\tmpy}
%\Sub{\tmpx}{\tmpVy}{\tmppx} \Add{\tmpy}{\tmpVx}{\tmppy}
%\qbtmpline{\tmppx}{\tmppy}
%\Add{\tmpx}{\tmpVx}{\tmppx} \Add{\tmpy}{\tmpVy}{\tmppy}
%\qbtmpline{\tmppx}{\tmppy}
%}
%�_��������ւ̐�����`���C���p�̃}�[�N������
\newcommand{\qbverticalline}[6]{
\qbgetverticallinep{#1}{#2}{#3}{#4}{#5}{#6}{\tmpfx}{\tmpfy}
\qbtmpline{#1}{#2}
\qbverticalmark{\tmpfx}{\tmpfy}{#1}{#2}
}
\newcommand{\qbverticallinee}[7]{
\qbgetverticallinep{#1}{#2}{#3}{#4}{#5}{#6}{\tmpfx}{\tmpfy}
\qbtmplinee{#1}{#2}{#7}
\qbverticalmark{\tmpfx}{\tmpfy}{#1}{#2}
}
%�_��������ւ̐�����`���C���p�̃}�[�N������
\newcommand{\qbverticaltanline}[6]{
   \qblinee{#1}{#2}{#3}{#4}{50}
\qbdefp{#1}{#2}{\tmpOx}{\tmpOy}
\qbdefp{#3}{#4}{\tmpQx}{\tmpQy}
\qbrotpoint{\tmpQx}{\tmpQy}{\tmpOx}{\tmpOy}{90}
\qbtmpdefp{\tmpPx}{\tmpPy}
\qblines{\tmpQx}{\tmpQy}{\tmpPx}{\tmpPy}{#5}{#6}
%\qblines{#3}{#4}{#1}{#2}{#5}{#6}
\qbverticalmark{\tmpQx}{\tmpQy}{\tmpOx}{\tmpOy}
}
%2�_�̐����񓙕���
\newcommand{\qbverticalmidline}[6]{
   \qbgetmidpoint{#1}{#2}{#3}{#4}{\Mx}{\My}
   \qbrotpoint{\Mx}{\My}{#3}{#4}{90}
   \qbtmpdefp{\tmpCx}{\tmpCy}
   \qblines{\Mx}{\My}{\tmpCx}{\tmpCy}{#5}{#6}
   \qbverticalmark{\Mx}{\My}{\tmpCx}{\tmpCy}
}
%�p��񓙕�������_�̍��W�𓾂�
\newcommand{\qbgetangldivlinep}[8]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt\rval=#6pt
%\qbpointo{#1}{#2}
\qbdist{#1}{#2}{#3}{#4}{\tmpAB}
\qbdist{#1}{#2}{#5}{#6}{\tmpAC}
\qbgetdivpoint{#3}{#4}{#5}{#6}{\tmpAB}{\tmpAC}{#7}{#8}%  \typeout{AB+AC=\tmpAB+\tmpAC}
}
\newcommand{\qbangldivline}[6]{
\qbgetangldivlinep{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
\qbline{#1}{#2}{\tmpMx}{\tmpMy}
}
\newcommand{\qbangldivlinee}[7]{
\qbgetangldivlinep{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
\qblinee{#1}{#2}{\tmpMx}{\tmpMy}{#7}
}
%
\newcommand{\qbangldivlinemark}[6]{
\qbgetangldivlinep{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
\qbanglmark{#3}{#4}{#1}{#2}{\tmpMx}{\tmpMy}
\qbanglmark{#5}{#6}{#1}{#2}{\tmpMx}{\tmpMy}
}
\newcommand{\qbangldivlinemarkb}[6]{
\qbgetangldivlinep{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
\qbanglmarkb{#3}{#4}{#1}{#2}{\tmpMx}{\tmpMy}
\qbanglmarkb{#5}{#6}{#1}{#2}{\tmpMx}{\tmpMy}
%\qbpoint{\tmpxx}{\tmpyy} \qbpoint{\tmpss}{\tmptt}
}
\newcommand{\qbangldivlinemarko}[6]{
\qbgetangldivlinep{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
\qbanglmarko{#3}{#4}{#1}{#2}{\tmpMx}{\tmpMy}
\qbanglmarko{#5}{#6}{#1}{#2}{\tmpMx}{\tmpMy}
}
\newcommand{\qbangldivlinemarkx}[6]{
\qbgetangldivlinep{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
\qbanglmarkx{#3}{#4}{#1}{#2}{\tmpMx}{\tmpMy}
\qbanglmarkx{#5}{#6}{#1}{#2}{\tmpMx}{\tmpMy}
}
%qbezier�ɂ��~\qbcircl ���S�Ɖ~����̓_
\newcommand{\qbcircl}[4]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt
\Distance(#1,#2)(#3,#4)\tmpCD
\qbcirc{#1}{#2}{\tmpCD}
}
\newcommand{\qbcircld}[4]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt
\Distance(#1,#2)(#3,#4)\tmpCD
\qbcircd{#1}{#2}{\tmpCD}
}
%qbezier�ɂ��~\qbcircle ���a�̗��[�̍��W
\newcommand{\qbcircle}[4]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt
\Distance(#1,#2)(#3,#4)\D
\Div\D{2}\D
\Add{#1}{#3}\tmpmx
\Div\tmpmx{2}\tmpmx
\Add{#2}{#4}\tmpmy
\Div\tmpmy{2}\tmpmy
\qbcirc{\tmpmx}{\tmpmy}{\D}
}
\newcommand{\qbcircled}[4]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt
\Distance(#1,#2)(#3,#4)\D
\Div\D{2}\D
\Add{#1}{#3}\tmpmx
\Div\tmpmx{2}\tmpmx
\Add{#2}{#4}\tmpmy
\Div\tmpmy{2}\tmpmy
\qbcircd{\tmpmx}{\tmpmy}{\D}
}
%�O�ډ~
\newcommand{\qbtrioutcircle}[6]{
   \rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt\rval=#6pt
   \qbgetmidpoint{#1}{#2}{#3}{#4}{\tmpax}{\tmpay}
   \qbrotpoint{\tmpax}{\tmpay}{#1}{#2}{90}
   \qbdefp{\tmpx}{\tmpy}{\tmpbx}{\tmpby}
   \qbgetmidpoint{#1}{#2}{#5}{#6}{\tmpcx}{\tmpcy}
   \qbrotpoint{\tmpcx}{\tmpcy}{#1}{#2}{-90}
   \qbdefp{\tmpx}{\tmpy}{\tmpdx}{\tmpdy}
   \qbcrosspoint{\tmpax}{\tmpay}{\tmpbx}{\tmpby}{\tmpcx}{\tmpcy}{\tmpdx}{\tmpdy}
%   \qbpoint{\tmpx}{\tmpy}
   \qbdefp{#5}{#6}{\tmpxx}{\tmpyy}
   \qbcircl{\tmpx}{\tmpy}{#5}{#6}
   \qbdefp{\tmpxx}{\tmpyy}{#5}{#6}
}
%���ډ~
\newcommand{\qbtriinnercircle}[6]{
   \rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt\rval=#5pt\rval=#6pt
   \Distance(#1,#2)(#3,#4)\tmpLab
   \Distance(#3,#4)(#5,#6)\tmpLbc
   \Distance(#5,#6)(#1,#2)\tmpLca
   \qbgetdivpoint{#3}{#4}{#5}{#6}{\tmpLab}{\tmpLca}{\tmpLx}{\tmpLy}
   \qbgetdivpoint{#5}{#6}{#1}{#2}{\tmpLbc}{\tmpLab}{\tmpMx}{\tmpMy}
   \qbcrosspoint{#1}{#2}{\tmpLx}{\tmpLy}{#3}{#4}{\tmpMx}{\tmpMy}
   \qbtmpdefp{\tmpIx}{\tmpIy}
   \qbrotpoint{#1}{#2}{#3}{#4}{90}
   \Sub{\tmpx}{#1}{\tmpx}   \Sub{\tmpy}{#2}{\tmpy}
   \Add{\tmpx}{\tmpIx}{\tmpx}   \Add{\tmpy}{\tmpIy}{\tmpy}
   \qbcrosspoint{#1}{#2}{#3}{#4}{\tmpIx}{\tmpIy}{\tmpx}{\tmpy}
   \qbtmpdefp{\tmpRx}{\tmpRy}
   \qbcircl{\tmpIx}{\tmpIy}{\tmpRx}{\tmpRy}
   \qbdefp{\tmpIx}{\tmpIy}{\tmpx}{\tmpy}
}
%qbezier�ɂ��~
%qbezier�ɂ��~\qbcirc ���S�Ɣ��a
\newcommand{\qbcircsqr}[3]{
   \rval=#1pt\rval=#2pt\rval=#3pt
   \Sqroot{#3}{\tmpr}
   \qbcirc{#1}{#2}{\tmpr}
}
% ���_����#1���ꂽ�p�x#2�����̓_�̍��W(#3,#4)
\newcommand{\qbdegradvec}[4]{
   \qbcos{#2}{\tmpDum} \Mul{\tmpDum}{#1}{#3} 
   \qbsin{#2}{\tmpDum} \Mul{\tmpDum}{#1}{#4} 
}
% (#1,#2)����#3���ꂽ�p�x#4�����̓_�̍��W(#5,#6)
\newcommand{\qbdegrad}[6]{
   \qbdegradvec{#3}{#4}{#5}{#6}
   \Add{#5}{#1}{#5} \Add{#6}{#2}{#6}
}
% ���_����#1/cos(#5)���ꂽ�p�x#2�����̓_�̍��W(#3,#4)
\newcommand{\qbdegradvecc}[5]{
   \qbcos{#5}{\tmpDumR} \Div{#1}{\tmpDumR}{\tmpDumR}
   \qbcos{#2}{\tmpDum} \Mul{\tmpDum}{\tmpDumR}{#3} 
   \qbsin{#2}{\tmpDum} \Mul{\tmpDum}{\tmpDumR}{#4}
}
% (#1,#2)����#3���ꂽ�p�x#4�����̓_�̍��W(#5,#6)
\newcommand{\qbdegradd}[7]{
   \qbdegradvecc{#3}{#4}{#5}{#6}{#7}
   \Add{#5}{#1}{#5} \Add{#6}{#2}{#6}
}
% �~
\newcommand{\qbcirc}[3]{
   \qbdefp{#1}{#2}{\tmpCx}{\tmpCy} \qbdef{#3}{\tmpCr}
   \qbdef{0}{\tmpCd}
   \loop
   \ifdim \tmpCd pt < 360 pt
      \qbdegrad{#1}{#2}{#3}{\tmpCd}{\tmpCAx}{\tmpCAy}
      \Add{\tmpCd}{30}{\tmpCdd}
      \qbdegrad{#1}{#2}{#3}{\tmpCdd}{\tmpCBx}{\tmpCBy}
      \Add{\tmpCd}{15}{\tmpCmd}
      \qbdegradd{#1}{#2}{#3}{\tmpCmd}{\tmpCMx}{\tmpCMy}{15}
%      \qbpoint{\tmpCMx}{\tmpCMy}
      \qbezier(\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
      \Add{\tmpCd}{30}{\tmpCd}
   \repeat
}
% �ȉ~�p�̕Ό���
\newcommand{\qbdegradovalvec}[5]{
   \qbcos{#3}{\tmpDum} \Mul{\tmpDum}{#1}{#4} 
   \qbsin{#3}{\tmpDum} \Mul{\tmpDum}{#2}{#5} 
}
% (#1,#2)����#3���ꂽ�p�x#4�����̓_�̍��W(#5,#6)
\newcommand{\qbdegradoval}[7]{
   \qbdegradovalvec{#3}{#4}{#5}{#6}{#7}
   \Add{#6}{#1}{#6} \Add{#7}{#2}{#7}
}
% ���_����#1/cos(#5)���ꂽ�p�x#2�����̓_�̍��W(#3,#4)
\newcommand{\qbdegradovalvecc}[6]{
   \qbcos{#6}{\tmpDumR} \Div{#1}{\tmpDumR}{\tmpDumRx}\Div{#2}{\tmpDumR}{\tmpDumRy}
   \qbcos{#3}{\tmpDum} \Mul{\tmpDum}{\tmpDumRx}{#4} 
   \qbsin{#3}{\tmpDum} \Mul{\tmpDum}{\tmpDumRy}{#5}
}
% (#1,#2)����#3���ꂽ�p�x#4�����̓_�̍��W(#5,#6)
\newcommand{\qbdegradovald}[8]{
   \qbdegradovalvecc{#3}{#4}{#5}{#6}{#7}{#8}
   \Add{#6}{#1}{#6} \Add{#7}{#2}{#7}
}
\newcommand{\qboval}[4]{% ���S(#1,#2) ���a#3, �c�a#4
   \qbdefp{#1}{#2}{\tmpCx}{\tmpCy} \qbdef{#3}{\tmpCr}
   \qbdef{0}{\tmpCd}
   \loop
   \ifdim \tmpCd pt < 360 pt
      \qbdegradoval{#1}{#2}{#3}{#4}{\tmpCd}{\tmpCAx}{\tmpCAy}
      \Add{\tmpCd}{30}{\tmpCdd}
      \qbdegradoval{#1}{#2}{#3}{#4}{\tmpCdd}{\tmpCBx}{\tmpCBy}
      \Add{\tmpCd}{15}{\tmpCmd}
      \qbdegradovald{#1}{#2}{#3}{#4}{\tmpCmd}{\tmpCMx}{\tmpCMy}{15}
%      \qbpoint{\tmpCMx}{\tmpCMy}
      \qbezier(\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
      \Add{\tmpCd}{30}{\tmpCd}
   \repeat
}
\newcommand{\qbovald}[4]{% ���S(#1,#2) ���a#3, �c�a#4
   \qbdefp{#1}{#2}{\tmpCx}{\tmpCy} \qbdef{#3}{\tmpCr}
   \qbdef{0}{\tmpCd}
   \loop
   \ifdim \tmpCd pt < 360 pt
      \qbdegradoval{#1}{#2}{#3}{#4}{\tmpCd}{\tmpCAx}{\tmpCAy}
      \Add{\tmpCd}{30}{\tmpCdd}
      \qbdegradoval{#1}{#2}{#3}{#4}{\tmpCdd}{\tmpCBx}{\tmpCBy}
      \Add{\tmpCd}{15}{\tmpCmd}
      \qbdegradovald{#1}{#2}{#3}{#4}{\tmpCmd}{\tmpCMx}{\tmpCMy}{15}
%      \qbpoint{\tmpCMx}{\tmpCMy}
      \qbezier[10](\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
      \Add{\tmpCd}{30}{\tmpCd}
   \repeat
}
\newcommand{\qbovalhd}[4]{% ���S(#1,#2) ���a#3, �c�a#4
   \qbdefp{#1}{#2}{\tmpCx}{\tmpCy} \qbdef{#3}{\tmpCr}
   \qbdef{0}{\tmpCd}
   \loop
   \ifdim \tmpCd pt < 180 pt
      \qbdegradoval{#1}{#2}{#3}{#4}{\tmpCd}{\tmpCAx}{\tmpCAy}
      \Add{\tmpCd}{30}{\tmpCdd}
      \qbdegradoval{#1}{#2}{#3}{#4}{\tmpCdd}{\tmpCBx}{\tmpCBy}
      \Add{\tmpCd}{15}{\tmpCmd}
      \qbdegradovald{#1}{#2}{#3}{#4}{\tmpCmd}{\tmpCMx}{\tmpCMy}{15}
%      \qbpoint{\tmpCMx}{\tmpCMy}
      \qbezier[10](\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
      \Add{\tmpCd}{30}{\tmpCd}
   \repeat
   \loop
   \ifdim \tmpCd pt < 360 pt
      \qbdegradoval{#1}{#2}{#3}{#4}{\tmpCd}{\tmpCAx}{\tmpCAy}
      \Add{\tmpCd}{30}{\tmpCdd}
      \qbdegradoval{#1}{#2}{#3}{#4}{\tmpCdd}{\tmpCBx}{\tmpCBy}
      \Add{\tmpCd}{15}{\tmpCmd}
      \qbdegradovald{#1}{#2}{#3}{#4}{\tmpCmd}{\tmpCMx}{\tmpCMy}{15}
%      \qbpoint{\tmpCMx}{\tmpCMy}
      \qbezier(\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
      \Add{\tmpCd}{30}{\tmpCd}
   \repeat
}
\newcommand{\qbarc}[6]{%(#1,#2)�𒆐S�ɓ_(#3,#4)����C(#5,#6)�̈ʒu�܂ŉ~�ʂ�`��
   \qbdist{#1}{#2}{#3}{#4}{\tmpAr}
   \qbdist{#1}{#2}{#5}{#6}{\tmpBr}
% (#5,#6)�͂��̉~�ʏ�ɂ���킯�ł͂Ȃ��̂ŁC�������܂��B
   \Sub{#5}{#1}{\tmpvgx} \Div{\tmpvgx}{\tmpBr}{\tmpvgx} \Mul{\tmpvgx}{\tmpAr}{\tmpvgx}
   \Sub{#6}{#2}{\tmpvgy} \Div{\tmpvgy}{\tmpBr}{\tmpvgy} \Mul{\tmpvgy}{\tmpAr}{\tmpvgy}
   \Add{#1}{\tmpvgx}{\tmpGx} \Add{#2}{\tmpvgy}{\tmpGy}
%�x�N�g�����Ƃ�C���a�Ŋ���C���a��������B�ŁC���S�ɍĂё����܂��B
   \qbcos{2}{\tmpRr} \qbsin{2}{\tmpRs} \Mul{\tmpRs}{3}{\tmpRs} \Mul{\tmpRs}{\tmpAr}{\tmpRs}
   \Div{\tmpAr}{\tmpRr}{\tmpRr}
   \qbdefp{#3}{#4}{\tmpArx}{\tmpAry}
%   \newcount\tmpN 
\tmpN=1
   \loop
     \qbrotpoint{#1}{#2}{\tmpArx}{\tmpAry}{4} %\typeout{\tmpGLv \tmpGLV}
     \qbtmpdefp{\tmpBrx}{\tmpBry}
     \qbdist{\tmpBrx}{\tmpBry}{\tmpGx}{\tmpGy}{\tmpGd} %\typeout{\tmpGd,\tmpRs}
%     \ifnum \tmpN<20
     \ifdim \tmpGd pt> \tmpRs pt
       \qbrotpointl{#1}{#2}{\tmpArx}{\tmpAry}{2}{\tmpRr}
       \qbezier(\tmpArx,\tmpAry)(\tmpx,\tmpy)(\tmpBrx,\tmpBry)
       \qbdefp{\tmpBrx}{\tmpBry}{\tmpArx}{\tmpAry}
%       \advance\tmpN by 1
   \repeat
   \qbline{\tmpArx}{\tmpAry}{\tmpGx}{\tmpGy}
}
\newcommand{\qbarcd}[6]{
   \qbdist{#1}{#2}{#3}{#4}{\tmpAr}
   \qbdist{#1}{#2}{#5}{#6}{\tmpBr}
   \Sub{#5}{#1}{\tmpvgx} \Div{\tmpvgx}{\tmpBr}{\tmpvgx} \Mul{\tmpvgx}{\tmpAr}{\tmpvgx}
   \Sub{#6}{#2}{\tmpvgy} \Div{\tmpvgy}{\tmpBr}{\tmpvgy} \Mul{\tmpvgy}{\tmpAr}{\tmpvgy}
   \Add{#1}{\tmpvgx}{\tmpGx} \Add{#2}{\tmpvgy}{\tmpGy}
   \qbcos{2}{\tmpRr} \qbsin{2}{\tmpRs} \Mul{\tmpRs}{3}{\tmpRs} \Mul{\tmpRs}{\tmpAr}{\tmpRs}
   \Div{\tmpAr}{\tmpRr}{\tmpRr}
   \qbdefp{#3}{#4}{\tmpArx}{\tmpAry}
%   \newcount\tmpN 
\tmpN=1
%   \newcount\tmpBd 
\tmpBd=1
   \Div{20}{\strip@pt\unitlength}{\tmpBdp}
   \qbdef{\tmpBdp}{\tmpLL}
   \loop
     \ifdim \tmpLL pt<\tmpAr pt
       \advance\tmpBd by 1
       \Add{\tmpLL}{\tmpBdp}{\tmpLL}
   \repeat
   \loop
     \qbrotpoint{#1}{#2}{\tmpArx}{\tmpAry}{4} %\typeout{\tmpGLv \tmpGLV}
     \qbtmpdefp{\tmpBrx}{\tmpBry}
     \qbdist{\tmpBrx}{\tmpBry}{\tmpGx}{\tmpGy}{\tmpGd} %\typeout{\tmpGd,\tmpRs}
%     \ifnum \tmpN<20
     \ifdim \tmpGd pt> \tmpRs pt
       \qbrotpointl{#1}{#2}{\tmpArx}{\tmpAry}{2}{\tmpRr}
       \qbezier[\tmpBd](\tmpArx,\tmpAry)(\tmpx,\tmpy)(\tmpBrx,\tmpBry)
       \qbdefp{\tmpBrx}{\tmpBry}{\tmpArx}{\tmpAry}
%       \advance\tmpN by 1
   \repeat
   \qblined{\tmpArx}{\tmpAry}{\tmpGx}{\tmpGy}
}
\newcommand{\qbarcmarkpoint}[8]{
   \qbdist{#1}{#2}{#3}{#4}{\tmpAr}
   \qbdist{#1}{#2}{#5}{#6}{\tmpBr}
   \Sub{#5}{#1}{\tmpvgx} \Div{\tmpvgx}{\tmpBr}{\tmpvgx} \Mul{\tmpvgx}{\tmpAr}{\tmpvgx}
   \Sub{#6}{#2}{\tmpvgy} \Div{\tmpvgy}{\tmpBr}{\tmpvgy} \Mul{\tmpvgy}{\tmpAr}{\tmpvgy}
   \Add{#1}{\tmpvgx}{\tmpBx} \Add{#2}{\tmpvgy}{\tmpBy}
   \qbdefp{#3}{#4}{\tmpAx}{\tmpAy}
   \qbgetmidpoint{\tmpAx}{\tmpAy}{\tmpBx}{\tmpBy}{\tmpMx}{\tmpMy}
   \qbrotpointl{#1}{#2}{\tmpMx}{\tmpMy}{0}{\tmpAr}
   \qbtmpdefp{#7}{#8}
}
\newcommand{\qbarcmark}[6]{
   \qbarcmarkpoint{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
   \qbmovepointminix{\tmpMx}{\tmpMy}{#1}{#2}{3}{\tmpAx}{\tmpAy}
   \qbmovepointminix{\tmpMx}{\tmpMy}{#1}{#2}{-3}{\tmpBx}{\tmpBy}
   \qbline{\tmpBx}{\tmpBy}{\tmpAx}{\tmpAy}
}
\newcommand{\qbarcmarkk}[6]{
   \qbarcmarkpoint{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
   \qbmovepointminix{\tmpMx}{\tmpMy}{#1}{#2}{3}{\tmpAx}{\tmpAy}
   \qbmovepointminix{\tmpMx}{\tmpMy}{#1}{#2}{-3}{\tmpBx}{\tmpBy}
   \qbrotpointmini{\tmpAx}{\tmpAy}{\tmpMx}{\tmpMy}{90}{\tmpLAx}{\tmpLAy}
   \qbrotpointmini{\tmpAx}{\tmpAy}{\tmpMx}{\tmpMy}{-90}{\tmpRAx}{\tmpRAy}
   \qbrotpointmini{\tmpBx}{\tmpBy}{\tmpMx}{\tmpMy}{90}{\tmpLBx}{\tmpLBy}
   \qbrotpointmini{\tmpBx}{\tmpBy}{\tmpMx}{\tmpMy}{-90}{\tmpRBx}{\tmpRBy}
   \qbline{\tmpLBx}{\tmpLBy}{\tmpRAx}{\tmpRAy}
   \qbline{\tmpRBx}{\tmpRBy}{\tmpLAx}{\tmpLAy}
}
\newcommand{\qbarcmarkkk}[6]{
   \qbarcmarkpoint{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
   \qbmovepointminix{\tmpMx}{\tmpMy}{#1}{#2}{3}{\tmpAx}{\tmpAy}
   \qbmovepointminix{\tmpMx}{\tmpMy}{#1}{#2}{-3}{\tmpBx}{\tmpBy}
   \qbrotpointmini{\tmpAx}{\tmpAy}{\tmpMx}{\tmpMy}{90}{\tmpLAx}{\tmpLAy}
   \qbrotpointmini{\tmpAx}{\tmpAy}{\tmpMx}{\tmpMy}{-90}{\tmpRAx}{\tmpRAy}
   \qbrotpointmini{\tmpBx}{\tmpBy}{\tmpMx}{\tmpMy}{90}{\tmpLBx}{\tmpLBy}
   \qbrotpointmini{\tmpBx}{\tmpBy}{\tmpMx}{\tmpMy}{-90}{\tmpRBx}{\tmpRBy}
   \qbline{\tmpLBx}{\tmpLBy}{\tmpRAx}{\tmpRAy}
   \qbline{\tmpRBx}{\tmpRBy}{\tmpLAx}{\tmpLAy}
   \qbline{\tmpBx}{\tmpBy}{\tmpAx}{\tmpAy}
}
\newcommand{\qbarcmarkx}[6]{
   \qbarcmarkpoint{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
   \qbpointx{\tmpMx}{\tmpMy}
}
\newcommand{\qbarcmarkX}[6]{
   \qbarcmarkpoint{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
   \qbpointX{\tmpMx}{\tmpMy}
}
\newcommand{\qbarcmarko}[6]{
   \qbarcmarkpoint{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
   \qbpointo{\tmpMx}{\tmpMy}
}
\newcommand{\qbarcmarkO}[6]{
   \qbarcmarkpoint{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
   \qbpointO{\tmpMx}{\tmpMy}
}
\newcommand{\qbarcmarkb}[6]{
   \qbarcmarkpoint{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
   \qbpointb{\tmpMx}{\tmpMy}
}
\newcommand{\qbarcmarkB}[6]{
   \qbarcmarkpoint{#1}{#2}{#3}{#4}{#5}{#6}{\tmpMx}{\tmpMy}
   \qbpointB{\tmpMx}{\tmpMy}
}
%
\newcommand{\qbcircd}[3]{
   \qbdefp{#1}{#2}{\tmpCx}{\tmpCy} \qbdef{#3}{\tmpCr}
   \qbdef{0}{\tmpCd}
   \loop
   \ifdim \tmpCd pt < 360 pt
      \qbdegrad{#1}{#2}{#3}{\tmpCd}{\tmpCAx}{\tmpCAy}
      \Add{\tmpCd}{30}{\tmpCdd}
      \qbdegrad{#1}{#2}{#3}{\tmpCdd}{\tmpCBx}{\tmpCBy}
      \Add{\tmpCd}{15}{\tmpCmd}
      \qbdegradd{#1}{#2}{#3}{\tmpCmd}{\tmpCMx}{\tmpCMy}{15}
%      \qbpoint{\tmpCMx}{\tmpCMy}
      {\Sub{\tmpCAx}{\tmpCBx}{\tmpIFA}\Mul{\tmpIFA}{\tmpIFA}{\tmpIFA}
       \Sub{\tmpCAy}{\tmpCBy}{\tmpIFB}\Mul{\tmpIFB}{\tmpIFB}{\tmpIFB}
       \Add{\tmpIFA}{\tmpIFB}{\tmpIFS}\Sqroot{\tmpIFS}{\tmpIFS}
      \ifdim \tmpIFS pt > 2 pt
      \qbezier[10](\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
      \else
      \qbezier[4](\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
      \fi}
      \Add{\tmpCd}{30}{\tmpCd}
   \repeat
}
% �� ���S(#1,#2)���a#3�Ł@#4�x����#5�x
\newcommand{\qbcircarc}[5]{
   \qbdefp{#1}{#2}{\tmpCx}{\tmpCy} \qbdef{#3}{\tmpCr}
   \qbdef{#4}{\tmpCd}
   \loop
   \Sub{#5}{30}{\tmpCdx}
   \ifdim \tmpCd pt < \tmpCdx pt
      \qbdegrad{#1}{#2}{#3}{\tmpCd}{\tmpCAx}{\tmpCAy}
      \Add{\tmpCd}{30}{\tmpCdd}
      \qbdegrad{#1}{#2}{#3}{\tmpCdd}{\tmpCBx}{\tmpCBy}
      \Add{\tmpCd}{15}{\tmpCmd}
      \qbdegradd{#1}{#2}{#3}{\tmpCmd}{\tmpCMx}{\tmpCMy}{15}
%      \qbpoint{\tmpCMx}{\tmpCMy}
      \qbezier(\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
      \Add{\tmpCd}{30}{\tmpCd}
   \repeat
   \qbdegrad{#1}{#2}{#3}{\tmpCd}{\tmpCAx}{\tmpCAy}
   \qbdegrad{#1}{#2}{#3}{#5}{\tmpCBx}{\tmpCBy}
   \Sub{#5}{\tmpCd}{\tmpCmd} \Div{\tmpCmd}{2}{\tmpCmd} \Add{\tmpCd}{\tmpCmd}{\tmpCd}
   \qbdegradd{#1}{#2}{#3}{\tmpCd}{\tmpCMx}{\tmpCMy}{\tmpCmd}
%      \qbpoint{\tmpCMx}{\tmpCMy}
   \qbezier(\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
   \Add{\tmpCd}{30}{\tmpCd}
}
% �� ���S(#1,#2)���a#3�Ł@#4�x����#5�x
\newcommand{\qbcircarcd}[5]{
   \qbdefp{#1}{#2}{\tmpCx}{\tmpCy} \qbdef{#3}{\tmpCr}
   \qbdef{#4}{\tmpCd}
   \loop
   \Sub{#5}{30}{\tmpCdx}
   \ifdim \tmpCd pt < \tmpCdx pt
      \qbdegrad{#1}{#2}{#3}{\tmpCd}{\tmpCAx}{\tmpCAy}
      \Add{\tmpCd}{30}{\tmpCdd}
      \qbdegrad{#1}{#2}{#3}{\tmpCdd}{\tmpCBx}{\tmpCBy}
      \Add{\tmpCd}{15}{\tmpCmd}
      \qbdegradd{#1}{#2}{#3}{\tmpCmd}{\tmpCMx}{\tmpCMy}{15}
%      \qbpoint{\tmpCMx}{\tmpCMy}
      \qbezier[10](\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
      \Add{\tmpCd}{30}{\tmpCd}
   \repeat
   \qbdegrad{#1}{#2}{#3}{\tmpCd}{\tmpCAx}{\tmpCAy}
   \qbdegrad{#1}{#2}{#3}{#5}{\tmpCBx}{\tmpCBy}
   \Sub{#5}{\tmpCd}{\tmpCmd}
   \Div{\tmpCmd}{30}{\tmpDDn} \Mul{\tmpDDn}{10}{\tmpDDn}
   \Div{\tmpCmd}{2}{\tmpCmd} \Add{\tmpCd}{\tmpCmd}{\tmpCd}
   \qbdegradd{#1}{#2}{#3}{\tmpCd}{\tmpCMx}{\tmpCMy}{\tmpCmd}
   
%      \qbpoint{\tmpCMx}{\tmpCMy}
%   \qbezier[10](\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
   \newcount\tmpN \tmpN=1
   \loop
   \ifdim \tmpN pt<\tmpDDn pt
     \advance\tmpN by 1
   \repeat
   \qbezier[\the\tmpN](\tmpCAx,\tmpCAy)(\tmpCMx,\tmpCMy)(\tmpCBx,\tmpCBy)
   \Add{\tmpCd}{30}{\tmpCd}
}
%
\newcommand{\qbcircold}[3]{
   \rval=#1pt\rval=#2pt\rval=#3pt
   \def\tmpCx{#1} \def\tmpCy{#2} \def\tmpCr{#3}
   \Add\tmpCx\tmpCr\tmpPx   \Sub\tmpCx\tmpCr\tmpPLx   \Add\tmpCy{0}\tmpPy   \Sub\tmpCy{0}\tmpPLy
   \DegRad{30}\tmpDD   \Div\tmpDD{2}\tmpDDH   \Sin\tmpDD\tmpDy   \Cos\tmpDD\tmpDx
   \Mul\tmpCr\tmpDx\tmpQx   \Sub\tmpCx\tmpQx\tmpQLx   \Add\tmpCx\tmpQx\tmpQx
   \Mul\tmpCr\tmpDy\tmpQy   \Sub\tmpCy\tmpQy\tmpQLy   \Add\tmpCy\tmpQy\tmpQy
   \Sin\tmpDDH\Temps   \Cos\tmpDDH\Tempc   \Div\Temps\Tempc\Tempt
   \Mul\tmpCr\Tempt\tmpMy   \Sub\tmpCy\tmpMy\tmpMLy   \Add\tmpCy\tmpMy\tmpMy
   \Sub\tmpCx\tmpCr\tmpMLx   \Add\tmpCx\tmpCr\tmpMx
   \qbezier(\tmpPx,\tmpPy)(\tmpMx,\tmpMy)(\tmpQx,\tmpQy)
   \qbezier(\tmpPLx,\tmpPy)(\tmpMLx,\tmpMy)(\tmpQLx,\tmpQy)
   \qbezier(\tmpPx,\tmpPLy)(\tmpMx,\tmpMLy)(\tmpQx,\tmpQLy)
   \qbezier(\tmpPLx,\tmpPLy)(\tmpMLx,\tmpMLy)(\tmpQLx,\tmpQLy)

   \Add\tmpCx{0}\tmpPx   \Sub\tmpCx{0}\tmpPLx   \Add\tmpCy\tmpCr\tmpPy   \Sub\tmpCy\tmpCr\tmpPLy
   \DegRad{30}\tmpDD   \Div\tmpDD{2}\tmpDDH   \Sin\tmpDD\tmpDy   \Cos\tmpDD\tmpDx
   \Mul\tmpCr\tmpDy\tmpQx   \Sub\tmpCx\tmpQx\tmpQLx   \Add\tmpCx\tmpQx\tmpQx
   \Mul\tmpCr\tmpDx\tmpQy   \Sub\tmpCy\tmpQy\tmpQLy   \Add\tmpCy\tmpQy\tmpQy
   \Sin\tmpDDH\Temps   \Cos\tmpDDH\Tempc   \Div\Temps\Tempc\Tempt
   \Mul\tmpCr\Tempt\tmpMx   \Sub\tmpCx\tmpMx\tmpMLx   \Add\tmpCx\tmpMx\tmpMx
   \Sub\tmpCy\tmpCr\tmpMLy   \Add\tmpCy\tmpCr\tmpMy
   \qbezier(\tmpPx,\tmpPy)(\tmpMx,\tmpMy)(\tmpQx,\tmpQy)
   \qbezier(\tmpPLx,\tmpPy)(\tmpMLx,\tmpMy)(\tmpQLx,\tmpQy)
   \qbezier(\tmpPx,\tmpPLy)(\tmpMx,\tmpMLy)(\tmpQx,\tmpQLy)
   \qbezier(\tmpPLx,\tmpPLy)(\tmpMLx,\tmpMLy)(\tmpQLx,\tmpQLy)

   \DegRad{30}\tmpPD \DegRad{60}\tmpQD
   \Cos\tmpPD\tmpPDx \Sin\tmpPD\tmpPDy
   \Mul\tmpCr\tmpPDx\tmpPx   \Sub\tmpCx\tmpPx\tmpPLx   \Add\tmpCx\tmpPx\tmpPx
   \Mul\tmpCr\tmpPDy\tmpPy   \Sub\tmpCy\tmpPy\tmpPLy   \Add\tmpCy\tmpPy\tmpPy
   \Cos\tmpQD\tmpQDx \Sin\tmpQD\tmpQDy
   \Mul\tmpCr\tmpQDx\tmpQx   \Sub\tmpCx\tmpQx\tmpQLx   \Add\tmpCx\tmpQx\tmpQx
   \Mul\tmpCr\tmpQDy\tmpQy   \Sub\tmpCy\tmpQy\tmpQLy   \Add\tmpCy\tmpQy\tmpQy
   \DegRad{45}\tmpMD \DegRad{15}\tmpMDH
   \Cos\tmpMD\tmpMDx \Sin\tmpMD\tmpMDy \Cos\tmpMDH\tmpMDL
   \Mul\tmpCr\tmpMDx\tmpMx  \Div\tmpMx\tmpMDL\tmpMx  \Sub\tmpCx\tmpMx\tmpMLx   \Add\tmpCx\tmpMx\tmpMx
   \Mul\tmpCr\tmpMDy\tmpMy  \Div\tmpMy\tmpMDL\tmpMy  \Sub\tmpCy\tmpMy\tmpMLy   \Add\tmpCy\tmpMy\tmpMy
   \qbezier(\tmpPx,\tmpPy)(\tmpMx,\tmpMy)(\tmpQx,\tmpQy)
   \qbezier(\tmpPLx,\tmpPy)(\tmpMLx,\tmpMy)(\tmpQLx,\tmpQy)
   \qbezier(\tmpPx,\tmpPLy)(\tmpMx,\tmpMLy)(\tmpQx,\tmpQLy)
   \qbezier(\tmpPLx,\tmpPLy)(\tmpMLx,\tmpMLy)(\tmpQLx,\tmpQLy)
}
% �J��Ԃ�\loop\repeat�����悤���^���Ŏg�����}�N��
% �����p�`�Ɛ��^
\newcommand{\qbregpolygon}[5]{
   \Div{360}{#5}{\tmpRt} %\typeout{\tmpt}
   \qbdefp{#3}{#4}{\tmpRSx}{\tmpRSy}
   \newcount\tmpcnt \tmpcnt=0
   \loop 
   \ifnum \tmpcnt<#5 \relax
   \advance \tmpcnt by 1
%   \qbpoint{\tmpSx}{\tmpSy}
   \qbrotpoint{#1}{#2}{\tmpRSx}{\tmpRSy}{\tmpRt}
   \qbtmpdefp{\tmpRTx}{\tmpRTy}
   \qbline{\tmpRSx}{\tmpRSy}{\tmpRTx}{\tmpRTy}
   \qbdefp{\tmpRTx}{\tmpRTy}{\tmpRSx}{\tmpRSy}
%   \typeout{\the\tmpcnt}
   \repeat
}
\newcommand{\qbregpolygonn}[6]{
   \Div{360}{#5}{\tmpRt} %\typeout{\tmpt}
   \Mul{\tmpRt}{#6}{\tmpRt} %\typeout{\tmpt}
   \qbdefp{#3}{#4}{\tmpSx}{\tmpSy}
   \newcount\tmpcnt \tmpcnt=0
   \loop 
   \ifnum \tmpcnt<#5 \relax
   \advance \tmpcnt by 1
%   \qbpoint{\tmpSx}{\tmpSy}
   \qbrotpoint{#1}{#2}{\tmpSx}{\tmpSy}{\tmpRt}
   \qbtmpdefp{\tmpRTx}{\tmpRTy}
   \qbline{\tmpSx}{\tmpSy}{\tmpRTx}{\tmpRTy}
   \qbdefp{\tmpRTx}{\tmpRTy}{\tmpSx}{\tmpSy}
%   \typeout{\the\tmpcnt}
   \repeat
}
% �i�q
\newcommand{\qblattice}[4]{
   \qbdefp{#1}{#2}{\tmpLx}{\tmpLy}
   \newcount\tmpcnl \tmpcnl=0
   \Add{\tmpLy}{#4}{\tmpLLy}
   \Sub{\tmpLLy}{1}{\tmpLLy}
   \loop
      \ifnum \tmpcnl<#3
      \advance \tmpcnl by 1
      \qbline{\tmpLx}{\tmpLy}{\tmpLx}{\tmpLLy}
      \Add{\tmpLx}{1}{\tmpLx}
   \repeat
   \qbdefp{#1}{#2}{\tmpLx}{\tmpLy}
   \tmpcnl=0
   \Add{\tmpLx}{#3}{\tmpLLx}
   \Sub{\tmpLLx}{1}{\tmpLLx}
   \loop
      \ifnum \tmpcnl<#4
      \advance \tmpcnl by 1
      \qbline{\tmpLx}{\tmpLy}{\tmpLLx}{\tmpLy}
      \Add{\tmpLy}{1}{\tmpLy}
   \repeat
}
\newcommand{\qblatticedt}[4]{
   \qbdefp{#1}{#2}{\tmpLx}{\tmpLy}
   \newcount\tmpcnl \tmpcnl=0
   \Add{\tmpLy}{#4}{\tmpLLy}
   \Sub{\tmpLLy}{1}{\tmpLLy}
   \loop
      \ifnum \tmpcnl<#3
      \advance \tmpcnl by 1
      \qblined{\tmpLx}{\tmpLy}{\tmpLx}{\tmpLLy}
      \Add{\tmpLx}{1}{\tmpLx}
   \repeat
   \qbdefp{#1}{#2}{\tmpLx}{\tmpLy}
   \tmpcnl=0
   \Add{\tmpLx}{#3}{\tmpLLx}
   \Sub{\tmpLLx}{1}{\tmpLLx}
   \loop
      \ifnum \tmpcnl<#4
      \advance \tmpcnl by 1
      \qblined{\tmpLx}{\tmpLy}{\tmpLLx}{\tmpLy}
      \Add{\tmpLy}{1}{\tmpLy}
   \repeat
}
\newcommand{\qblatticed}[4]{
   \qbdefp{#1}{#2}{\tmpLx}{\tmpLy}
   \newcount\tmpcnl \tmpcnl=0
   \newcount\tmpcnm \tmpcnm=0
   \Mul{\tmpLx}{1}{\tmpDX} \Mul{\tmpLy}{1}{\tmpDY}
   \loop
      \ifnum \tmpcnl<#3
      \qbpoint{\tmpDX}{\tmpDY}  %\typeout%{\the\tmpcnl,\the\tmpcnm}
%      \qbpoint{\tmpcnl}{\tmpcnm}
      \Add{\tmpDY}{1}{\tmpDY}      \advance \tmpcnm by 1
      \ifnum \tmpcnm=#4
      \Add{1}{\tmpDX}{\tmpDX}      \advance \tmpcnl by 1
      \Mul{\tmpLy}{1}{\tmpDY}      \tmpcnm=0
      \fi
   \repeat
}
\newcommand{\qblatticedo}[4]{
   \qbdefp{#1}{#2}{\tmpLx}{\tmpLy}
   \newcount\tmpcnl \tmpcnl=0
   \newcount\tmpcnm \tmpcnm=0
   \Mul{\tmpLx}{1}{\tmpDX} \Mul{\tmpLy}{1}{\tmpDY}
   \loop
      \ifnum \tmpcnl<#3
      \qbpointo{\tmpDX}{\tmpDY}  %\typeout%{\the\tmpcnl,\the\tmpcnm}
%      \qbpoint{\tmpcnl}{\tmpcnm}
      \Add{\tmpDY}{1}{\tmpDY}      \advance \tmpcnm by 1
      \ifnum \tmpcnm=#4
      \Add{1}{\tmpDX}{\tmpDX}      \advance \tmpcnl by 1
      \Mul{\tmpLy}{1}{\tmpDY}      \tmpcnm=0
      \fi
   \repeat
}
\newcommand{\qblatticedp}[4]{
   \qbdefp{#1}{#2}{\tmpLx}{\tmpLy}
   \newcount\tmpcnl \tmpcnl=0
   \newcount\tmpcnm \tmpcnm=0
   \Mul{\tmpLx}{1}{\tmpDX} \Mul{\tmpLy}{1}{\tmpDY}
   \loop
      \ifnum \tmpcnl<#3
      \qbpointp{\tmpDX}{\tmpDY}  %\typeout%{\the\tmpcnl,\the\tmpcnm}
%      \qbpoint{\tmpcnl}{\tmpcnm}
      \Add{\tmpDY}{1}{\tmpDY}      \advance \tmpcnm by 1
      \ifnum \tmpcnm=#4
      \Add{1}{\tmpDX}{\tmpDX}      \advance \tmpcnl by 1
      \Mul{\tmpLy}{1}{\tmpDY}      \tmpcnm=0
      \fi
   \repeat
}
\newcommand{\qblatticedB}[4]{
   \qbdefp{#1}{#2}{\tmpLx}{\tmpLy}
   \newcount\tmpcnl \tmpcnl=0
   \newcount\tmpcnm \tmpcnm=0
   \Mul{\tmpLx}{1}{\tmpDX} \Mul{\tmpLy}{1}{\tmpDY}
   \loop
      \ifnum \tmpcnl<#3
      \qbpointB{\tmpDX}{\tmpDY}  %\typeout%{\the\tmpcnl,\the\tmpcnm}
%      \qbpoint{\tmpcnl}{\tmpcnm}
      \Add{\tmpDY}{1}{\tmpDY}      \advance \tmpcnm by 1
      \ifnum \tmpcnm=#4
      \Add{1}{\tmpDX}{\tmpDX}      \advance \tmpcnl by 1
      \Mul{\tmpLy}{1}{\tmpDY}      \tmpcnm=0
      \fi
   \repeat
}%
\newcommand{\qbcirclechode}[5]{% ���S(#1,#2)���a#3�̉~�̒��S����#4�̈ʒu��#5�̕����ɂ��錷
%   \Ca�x�̕����i�a�j�̒P�ʃx�N�g���𓾂�B
   \qbcos{#5}{\tmpRvx} \qbsin{#5}{\tmpRvy}
%   ����ɐ����Ȍ������̒P�ʃx�N�g���𓾂�B
   \qbdef{\tmpRvy}{\tmpCvx} \Mul{\tmpRvx}{-1}{\tmpCvy}   
%   ���̒����𓾂�B
   \qbmsm{#3}{#3}{#4}{#4}{\tmpCl} \Sqroot{\tmpCl}{\tmpCl}
%   ���̗��[�𓾂�B
   \Mul{\tmpCl}{\tmpCvx}{\tmpCvx} \Mul{\tmpCl}{\tmpCvy}{\tmpCvy}
   \Mul{#4}{\tmpRvx}{\tmpRvx} \Mul{#4}{\tmpRvy}{\tmpRvy}
   \Add{#1}{\tmpRvx}{\tmpCmx} \Add{#2}{\tmpRvy}{\tmpCmy}
   \Add{\tmpCmx}{\tmpCvx}{\tmpCax}   \Add{\tmpCmy}{\tmpCvy}{\tmpCay}
   \Sub{\tmpCmx}{\tmpCvx}{\tmpCbx}   \Sub{\tmpCmy}{\tmpCvy}{\tmpCby}
   \qbezier(\tmpCax,\tmpCay)(\tmpCmx,\tmpCmy)(\tmpCbx,\tmpCby)
}
\newcommand{\qbcirclechodedot}[5]{% ���S(#1,#2)���a#3�̉~�̒��S����#4�̈ʒu��#5�̕����ɂ��錷
%   \Ca�x�̕����i�a�j�̒P�ʃx�N�g���𓾂�B
   \qbcos{#5}{\tmpRvx} \qbsin{#5}{\tmpRvy}
%   ����ɐ����Ȍ������̒P�ʃx�N�g���𓾂�B
   \qbdef{\tmpRvy}{\tmpCvx} \Mul{\tmpRvx}{-1}{\tmpCvy}   
%   ���̒����𓾂�B
   \qbmsm{#3}{#3}{#4}{#4}{\tmpCl} \Sqroot{\tmpCl}{\tmpCl}
%   ���̗��[�𓾂�B
   \Mul{\tmpCl}{\tmpCvx}{\tmpCvx} \Mul{\tmpCl}{\tmpCvy}{\tmpCvy}
   \Mul{#4}{\tmpRvx}{\tmpRvx} \Mul{#4}{\tmpRvy}{\tmpRvy}
   \Add{#1}{\tmpRvx}{\tmpCmx} \Add{#2}{\tmpRvy}{\tmpCmy}
   \Add{\tmpCmx}{\tmpCvx}{\tmpCax}   \Add{\tmpCmy}{\tmpCvy}{\tmpCay}
   \Sub{\tmpCmx}{\tmpCvx}{\tmpCbx}   \Sub{\tmpCmy}{\tmpCvy}{\tmpCby}
   \qblined{\tmpCax}{\tmpCay}{\tmpCbx}{\tmpCby}
}
%
\endinput
% �����܂ł��}�N���B�ȉ��ᕶ�B