emath saloon (Read Only)

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

No.326  Re[3]:陰影付き球のマクロ化
発言者: 田中徹
発言日: 2007 02/02 00:02
> 数式を利用すると立方体に内接する大小の球(結晶)など
> かけると思います.

数式でなく手計算してしまいました。
Kat さんの本意ではないと思いますがご容赦をお願いします。

マクロ \球擬き(もどき)は 
以前談話室に掲示したものを、自分なりに汎用性をもたせたつもりです。
(エラー処理はありません)

Ps のお約束事で恐縮ですが
dviout では荒く見えるので PDF または PS を作成して骨を拾ってやってください。
# emath 掲示板で tDB さんと飯島さんにご助言をいただきました。


\documentclass[b5j]{jarticle}
\usepackage[papersize]{emathP}
\usepackage[debug]{emathPs}
\pagestyle{empty}

\makeatletter%
\def\球擬き#1#2#3#4#5#6#7{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\@描画中心{#1}%    球の2次元上の中心座標
\def\@半径{#2}%        球体の半径
\def\@中心比{#3}%      同心円の中心の半径比率
%   0:中心に近い 〜 1:球面(周)に近い
\def\@中心偏角{#4}%    同心円の中心偏角
\def\@開始濃度{#5}%    最初の濃度 (0 〜 1)
\def\@終了濃度{#6}%    最後の濃度 (0 〜 1)
\def\@分割数{#7}%      描画分割数
%                      多いほど滑らか
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Kuromaru\@描画中心%
\EPSkaiten\@描画中心\@中心偏角{%
\rtenretu*<perl>[\@描画中心]{@同心円中心(\@半径*\@中心比,0)}%%
\En*[\@開始濃度]\@描画中心\@半径%
\calcval{(\@終了濃度/\@開始濃度)**(1/\@分割数)}\@描画濃度%
\Kyori\@描画中心\@同心円中心\@距離%
\Add\@半径\@距離\@内半径%
\calcval{\@半径-\@距離}\@半径限界%
\calcval{(\@半径限界/\@内半径)**(1/\@分割数)}\@半径比%
\Ifor\i{0}{\@分割数}\Do{%%
\calcval{\@内半径*(\@半径比**\i)}\@描画半径%
\calcval{\@開始濃度*(\@描画濃度**\i)}\@濃度%
\CandC\@描画中心\@半径\@同心円中心\@描画半径\Y\X%
%
\KinziEnko\@描画中心\@半径{hazimeten=\Y}{owariten=\X}\円弧%
\KinziEnko\@同心円中心\@描画半径{hazimeten=\X}{owariten=\Y}\弓形弧%
\edef\描画弧{\円弧\弓形弧}%
\Nuritubusi[\@濃度]\描画弧%
%
}%
\calcval[d]{int(\@分割数/2)}\@分割数半分%
\Ifor\i{0}{\@分割数半分}\Do{%%
\calcval{\@終了濃度-\@濃度*(\i/\@分割数半分)}\@正円濃度%
\calcval{\@半径限界*((\@分割数半分-\i)/\@分割数半分)}\@正円半径%
\Put\@同心円中心{\ougigata*[\@正円濃度]{\@正円半径}{0}{360}}%
}%
}%%
}
\makeatother%


\begin{document}
\begin{pszahyou*}[ul=10mm,EPSclip=false](0,5)(0,5)%
\def\辺長{2}%
\def\大球半径{1.4}%
\def\小球半径{1}%
\def\O{(0,0)}%
\rtenretu*{A(\辺長,-35);B(\辺長,25);C(\辺長,90)}%
\Addvec\A\B\D%
\Addvec\A\C\E%
\Addvec\B\C\F%
\Addvec\D\C\G%
\Bunten\C\D{1}{1}\M%
\球擬き\F{\小球半径}{0.8}{70}{0.5}{0.3}{20}%
\球擬き\D{\小球半径}{0.8}{70}{0.5}{0.3}{20}%
\球擬き\M{\大球半径}{0.8}{70}{0.9}{0.4}{20}%
\球擬き\C{\小球半径}{0.8}{70}{0.5}{0.3}{20}%
\球擬き\G{\小球半径}{0.8}{70}{0.5}{0.3}{20}%
\球擬き\O{\小球半径}{0.8}{70}{0.5}{0.3}{20}%
\球擬き\A{\小球半径}{0.8}{70}{0.5}{0.3}{20}%
\Drawlines{\O\A\D}%
\Hasen{\O\B\D}%
\Drawlines{\O\C}%
\Drawlines{\C\E\G\F\C}%
\Drawlines{\A\E}%
\Drawlines{\D\G}%
\Hasen{\B\F}%
\end{pszahyou*}%
\end{document}


▼関連発言

323:陰影付き球のマクロ化 [Kat] 02/01 09:39
 └324:Re:陰影付き球のマクロ化 [tDB] 02/01 16:54
  └325:Re[2]:陰影付き球のマクロ化 [Kat] 02/01 19:59
   └326:Re[3]:陰影付き球のマクロ化 [田中徹] 02/02 00:02
    └328:Re[4]:陰影付き球のマクロ化 [Kat] 02/05 23:33
     └362:--- [---] 03/27 07:26<-last

Pass 保存


CGIROOM