emath BBS

新規発言一覧最新記事過去一覧検索HOME

No.3293  サッカーボール(修正版)
発言者: tDB
発言日: 2005 06/23 11:13
発言元: ntchba100244.chba.nt.ftth.ppp.infoweb.ne.jp
解題を書いていたら,
ボーダーの描画に不備がみつかりました。
修正版です。

% ---------------------------------------------
\documentclass{jarticle}
\usepackage{emathPk}
\usepackage{emathPs}

\begin{document}
\Rdef(1.1,8)\Ex%    x軸正方向の単位ベクトル
\Rdef(.4,155)\Ey% y軸正方向の単位ベクトル
\Rdef(1.1,95)\Ez%   z軸正方向の単位ベクトル
\begin{psZahyou*}[debug,ul=20mm,Ex=\Ex,Ey=\Ey,Ez=\Ez](-1.8,1.8)(-1.7,1.7)(-2,2)
% 切断のサイズ比
  \def\settouhi{.33333}
% 切断部描画サブルーティン --- from --------------------------------------
  \def\settou#1#2#3#4#5#6{%
% 切断面と辺との交点
    \Sub{1}\settouhi\settouhii
    \edef\setuN{1}
    \ifnum #2>0\relax\Incr\setuN\fi
    \ifnum #3>0\relax\Incr\setuN\fi
    \ifnum #4>0\relax\Incr\setuN\fi
    \ifnum #5>0\relax\Incr\setuN\fi
    \ifnum #6>0\relax\Incr\setuN\fi
    \edef\stA{\csname A\romannumeral #1\endcsname}%
    \IAbs{#2}\tmp
    \iiiBunten\stA{\csname A\romannumeral\tmp\endcsname}\settouhi\settouhii\stB
    \IAbs{#3}\tmp
    \iiiBunten\stA{\csname A\romannumeral\tmp\endcsname}\settouhi\settouhii\stC
    \IAbs{#4}\tmp
    \iiiBunten\stA{\csname A\romannumeral\tmp\endcsname}\settouhi\settouhii\stD
    \IAbs{#5}\tmp
    \iiiBunten\stA{\csname A\romannumeral\tmp\endcsname}\settouhi\settouhii\stE
    \IAbs{#6}\tmp
    \iiiBunten\stA{\csname A\romannumeral\tmp\endcsname}\settouhi\settouhii\stF
% 切断部白塗り
    \iiiNuritubusi[0]{\stA\stB\stC}
    \iiiNuritubusi[0]{\stA\stC\stD}
    \ifnum\setuN>4\relax
      \iiiNuritubusi[0]{\stA\stD\stE}
      \iiiNuritubusi[0]{\stA\stE\stF}
      \iiiNuritubusi[0]{\stA\stF\stB}
    \fi
    \begin{EMpscolor}{white}
      \setlinewidth{16}
      \iiiDrawline{\stB\stA\stC}
      \iiiDrawline{\stD\stA\stC}
      \ifnum\setuN>4\relax
        \iiiDrawline{\stE\stA\stF}
      \fi
    \end{EMpscolor}
% 切断部断面塗り
    \ifnum\setuN>4\relax
      \begin{EMpscolor}{royalblue}
        \iiiNuritubusi[1]{\stB\stC\stC\stD\stE\stF}
      \end{EMpscolor}
      \iiiTakakkei{\stB\stC\stC\stD\stE\stF}
    \else
      \iiiDrawline{\stB\stC\stD}
    \fi
  }%
% 切断部描画サブルーティン --- end  --------------------------------------
%
% 正二十面体描画
%     頂点の座標計算
  \calcval{sqrt(5+sqrt(5))/(sqrt(2))}\R
  \calcval{1/(sin($pi/5))}\r
  \calcval{sqrt((\R)*(\R)-(\r)*(\r))}\h
  \iiitenretu*{Ai(0,0,\R);Aii(\r,0,\h)}
  \iiitenretu*{Axii(0,0,-\R);Avii(-\r,0,-\h)}
  \zRotvec\Aii{72}\Aiii
  \zRotvec\Aiii{72}\Aiv
  \zRotvec\Aiv{72}\Av
  \zRotvec\Av{72}\Avi
  \zRotvec\Avii{72}\Aviii
  \zRotvec\Aviii{72}\Aix
  \zRotvec\Aix{72}\Ax
  \zRotvec\Ax{72}\Axi
%    折れ点出っ張り抑制
  \setlinejoin{2}
%    正二十面体全体に色つけ
  \begin{EMpscolor}{linen}
    \iiiNuritubusi{\Ai\Aiv\Avii\Axii\Aix\Aii}%
  \end{EMpscolor}
%    辺描画
  \iiiDrawline{\Aiv\Av\Avi\Aii}
  \iiiDrawline{\Avii\Aviii\Aix}
  \iiiDrawlines{\Ai\Aii;\Ai\Aiv;\Ai\Av;\Ai\Avi}
  \iiiDrawlines{\Axii\Avii;\Axii\Aviii;\Axii\Aix}
  \iiiDrawlines{\Aiv\Avii\Av;\Av\Aviii\Avi;\Avi\Aix\Aii}
%    切断面描画
  \settou4157{-11}{-3}
  \settou514786
  \settou615892
  \settou7458{12}{-11}
  \settou857{12}96
  \settou9268{12}{-10}%
  \settou2169{-10}{-3}
  \settou12{-3}456
  \settou{12}789{-10}{-11}
\end{psZahyou*}
\end{document}

▼関連発言

3284:サッカーボール [tDB] 06/22 09:27
 ├3286:解題(1) [tDB] 06/22 14:47
 │└3291:Re:解題(1) [田中徹] 06/22 21:01
 │ └3292:program.sty [tDB] 06/22 21:34
 ├3293:サッカーボール(修正版) [tDB] 06/23 11:13
 ├3294:解題(2) [tDB] 06/23 13:38
 └3299:解題(3) [tDB] 06/24 15:52<-last

Pass 保存


CGIROOM