emath saloon (Read Only)

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

No.66  任意長のベクトルの描画
発言者: 田中徹
発言日: 2006 09/24 20:47
BBS No.5247 で
> 接ベクトルをすべて単位ベクトルにするのは面倒でしょうか?
と \Candl の解読に手間取られていた発言がありました。

私なりに他の方法も考えてみたので
粘着質の中年といわず、おつきあいいただければ幸いです。

ソースでは単位ベクトルでなく、大きさ 2 にしてみました。
正統な書き方は \Unitvec と \Mulvec を用いる 例 3 だと思います。

例 1 は 私の好みの(愛着のある) \emrlineto
例 2 は \Rotvec で大きさを指定する機能を用いたもの

最初、単位ベクトル化については \Absvec で割って... と
何気なく emathPh.sty を眺めていたら \Unitvec を見つけてニヤリでした。

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

\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\ベクトル長{2}%
\def\分割数{10}%
\def\左端値{-2}%
\def\右端値{2}%
\def\描画区間幅{2}%
\def\Fx{(1/2)*X**2}% 任意の関数
\def\dFx{X}% その導関数(手計算です)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Ifor\例{1}{4}\Do{%
\noindent%
\begin{zahyou}[ul=8mm,Yohaku=3mm](-3,3)(-1,5)%
{\Thicklines%
\YGurafu*\Fx%
}%
\Put\YMIN[s]{\textbf{例\,\例}}
\Sub\右端値\左端値\区間幅%
\Div\区間幅\分割数\刻み幅%
\Add\分割数{1}\Inc分割数%
\Ifor\Cnt{0}{\Inc分割数}\Do{%
\calcval{\左端値+\Cnt*\刻み幅}\T%
\Add\T\描画区間幅\XR%
\Sub\T\描画区間幅\XL%
\YTen\Fx\T\P%
\funcval\dFx{\T}\傾き%
\ifcase\例\relax%
\or%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Argvec{(1,\傾き)}\方向角%
\vecXY\P\Px\Py%
\emmoveto(\Px,\Py)%
{%
\def\Sensyu{\arrowline}%
\color{green}%
\emrlineto[r](\ベクトル長,\方向角)%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\or%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Rotvec[\ベクトル長]{(1,\傾き)}{0}\描画ベクトル%
{%
\color{red}%
\Put\P{\Arrowline{(0,0)\描画ベクトル}}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\or%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Unitvec{(1,\傾き)}\単位ベクトル%
\Mulvec\ベクトル長\単位ベクトル\描画ベクトル%
{%
\color{cyan}%
\Put\P{\Arrowline{(0,0)\描画ベクトル}}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fi%
}%
\end{zahyou}%
\\
}%
\end{document}

▼関連発言

66:任意長のベクトルの描画 [田中徹] 09/24 20:47
 └71:Re:任意長のベクトルの描画 [tDB] 09/25 11:03
  └74:Re[2]:任意長のベクトルの描画 [田中徹] 09/25 12:05
   └82:Re[3]:任意長のベクトルの描画 [kaji] 09/26 02:49<-last

Pass 保存


CGIROOM