発言者: 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