スキップしてメイン コンテンツに移動

投稿

10月, 2013の投稿を表示しています

Tikzでばねを描く

随分前にinkscapeを使って高校物理の問題集に出てくるようなばねの描き方についてのエントリを書きましたが,あれはinkscapeの使い方をあまりよくわかっていない時期に書いたので必要以上に手順が面倒になっています. Tikzではばねが簡単に描けるので,今回はその紹介をします. TeX - LaTeX Stack Exchangeというサイトの Coil path decoration without straight segment というページを参考にしました. Tikzでばねを描く際にはパスの装飾を行うdecorationsというライブラリのcoil decorationを使用すればよいのですが,segment lengthの値がうまく設定出来ていない場合には直線的なセグメントが出来てしまいます.上記のページにその不具合を修正したgluon decorationが紹介されていたので,それを拝借してcoil decorationと比較してみました.gluonは勿論QCDのファインマン・ダイアグラムに出てくるgluonです. 通常のcoil decorationでは右端部分に直線的なセグメントが残っています. gluon decorationではそれが解消されているのが見て取れます. \documentclass[10pt]{jsarticle} \usepackage[dvipdfmx]{graphicx} \PassOptionsToPackage{svgnames}{xcolor} \usepackage{tikz} \usetikzlibrary{calc} \usetikzlibrary{decorations.markings,decorations.pathmorphing} %修正されたコイル gluonとして使う \makeatletter \pgfdeclaredecoration{gluon}{initial} { \state{initial}[ width=+0pt, next state=coil, persistent precomputation={ \pgfmathsetmacro\matchinglength{ (ceil(\pgfdecorate...

Tikzの練習 電圧計

最近Tikzの練習をしています. TeXのマクロなどを書いたことがないので,悪戦苦闘中です. 今回は電圧計の目盛りを作図してみました. \documentclass[10pt]{article} \usepackage[dvipdfmx]{graphicx} \PassOptionsToPackage{svgnames}{xcolor} \usepackage{tikz} \usetikzlibrary{calc} \begin{document} \begin{tikzpicture} \draw (0,0)--(3,0)-- ++(70:2.5)-- ++(-3,0)--cycle; %外枠 \coordinate (p) at ((1.5,0)+(70:0.7)); \draw[thick] (p)--((p)+(0,1)); \node (V) at ((p)+(70:0.3)){\scriptsize V}; \fill ((p)+(0.17,0)) -- ((p)+(0.17,0)) -- ((p)+(0,0.13))--cycle; \coordinate (q) at ((70:0.4)+(0.65,0)); \begin{scope}[shift=(q),scale=1.2] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% 電圧計の目盛り %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \renewcommand*{\r}{0.7}%円の半径 \renewcommand*{\l}{0.3}%長い目盛りの長さ \renewcommand*{\t}{0.15}%短い目盛りの長さ \pgfmathparse{cos(70)} \let\c\pgfmathresult \pgfmathparse{sin(70)} \let\d\pgfmathresult \pgftransformcm{1}{0}{\c}{\d}{}%座標軸の回転とシフト %x軸とy軸の成す角が70度の斜交座標系に座標系を変更する \foreach \i in {0,1,2,..., 20} { \pgfmathparse...