Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm trying to do a nice sketch using tikz.

My tikz code is like this:

\documentclass[]{scrartcl}  
\usepackage{tikz}   
\usetikzlibrary{arrows}       
\begin{document}

\begin{tikzpicture}[allow upside down, scale=1]
%(0,0)(0.70,1.9)(1.41,3.6)
%\draw plot [smooth, tension=0.5] coordinates{(2.13,5.1)(2.86,6.4)(3.62,7.5)(4.42,8.4)(5.30,9.1)(6.34,9.6)(7.13,9.8)(8.42,9.9)}
\draw[red,line width=1pt] (2.13,5.1) -- (2.86,6.4) -- (3.62,7.5) -- (4.42,8.4) -- (5.30,9.1) -- (6.34,9.6) -- (7.13,9.8) -- (8.42,9.9) [smooth, tension=0.5]
node[sloped,inner sep=0cm,above,pos=.5,
anchor=south west,
minimum height=2cm,minimum width=1cm](N){};

\path (N.south west)
edge[->,blue] node[left] {$\vec{ n}$} (N.north west);

\end{tikzpicture}

\end{document}

Mostly taken from there: How to draw tangent vectors and component vectors on a curve My Problems:

  1. How do I define the point for the normal vector?
  2. I'd really like that smooth ... how?
  3. How do I add another vector (same target, but other angle)

Output of the current code:

enter image description here

What I'm trying to do:

enter image description here

share|improve this question

2 Answers 2

up vote 4 down vote accepted
  1. You have to put the node at appropriate places:

    \draw[red,line width=1pt,smooth, tension=1.9,samples=1000] (2.13,5.1) -- 
    node[sloped,inner sep=0cm,above,pos=.5, anchor=south west,
    minimum height=2cm,minimum width=1cm](N){}(2.86,6.4) -- (3.62,7.5) -- (4.42,8.4) --
    (5.30,9.1) -- (6.34,9.6) -- (7.13,9.8) -- (8.42,9.9)node[black,above,anchor=west] 
    {Frontwant};
    
  2. You can use rounded corners=<dimension>. Choose proper <dimension>.

  3. Using calc library, add x value to (N.east). Reverse the arrow direction:

     \path  (N.south west) edge[stealth-,red!50!black,shorten <=2pt]   ($(N.east) + 
     (0.3,0)$) node[above=1.4cm] {$\hat{S}$};
    

    Change 0.3 in ($(N.east) + (0.3,0)$) to suit the angle you want.

With all the above, and lot of additions, the full code:

\documentclass[]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows,calc,positioning}
\begin{document}

\begin{tikzpicture}[allow upside down, scale=1]
%(0,0)(0.70,1.9)(1.41,3.6)
%\draw plot [smooth, tension=0.5] coordinates{(2.13,5.1)(2.86,6.4)(3.62,7.5)(4.42,8.4)(5.30,9.1)(6.34,9.6)(7.13,9.8)(8.42,9.9)}
\draw [red,line width=1pt,smooth, tension=1.9,samples=1000,rounded corners=15pt] (2.13,5.1) -- node[sloped,inner sep=0cm,above,pos=.5,
anchor=south west,
minimum height=1cm,minimum width=0.5cm](N){}(2.86,6.4) -- (3.62,7.5) -- (4.42,8.4) --  (5.30,9.1) -- (6.34,9.6) -- (7.13,9.8) -- (8.42,9.9)node[black,above,anchor=west] {Frontwand}
;

%% vectors
\path (N.south west)
edge[-stealth,blue] node[below,pos=0.9] {$\vec{ n}$} (N.north west);
\path  (N.south west) edge[stealth-,red!50!black,shorten <=2pt] node[above,pos=1,text=red!50!black] {$\hat{S}$  }   ($(N.east) + (0,0.5)$);
%% horizontal lines and coordinates...
\path[draw,red!70!green] ($(N.south west) + (-2,0)$) -- ($(N.south west) + (7,0)$)node[coordinate, pos=0] (a){} node[coordinate,pos=1,label=right:{\color{black}$z$}] (b){} node[pos=.3,above=-0.1cm,black] {$A(z)$};
\path[draw,red!70!green] (a |- 2.86,6.4 ) -- (b |- 2.86,6.4)node[pos=1,anchor=west,black](c) {$z-1$}node[pos=.38,above=-0.1cm,black] {$A(z-1)$};
%% Co ordinate system
\node [right=1.5cm of b,scale=0.9] (O) {$\bigotimes$};
\draw[-latex](O.center) -- (c -| O)node[above]{$z$};
\draw[-latex](O.center) -- +(0:.7cm)node[right]{$x$};
\draw[-latex,shorten >= -5pt] (O.center) -- (O.north east) node[pos=1.8]{$y$};
\fill (N.south west) circle (2pt);
\fill (2.86,6.4) circle (2pt);

\end{tikzpicture}

\end{document}

enter image description here

While I did not optimize the code, lot of typing could have been saved. I left it more verbose.

share|improve this answer

Another attempt where the first 4 coordinates of OP are borrowed.

enter image description here

Code:

\documentclass[]{article}  
\usepackage{tikz}   
\usetikzlibrary{arrows,positioning}       
\begin{document}

\begin{tikzpicture}[scale=1.5]
\draw[black,thick] (-1,6.4)--(5,6.4) node[right]{$z-1$};
\draw[black,thick] (-1,5.1)--(5,5.1) node[right]{$z$};
\draw[black,thick,->] (7,5.5) node[label=below:$y$]{$\bigotimes$}-- (8,5.5)node[right]{$x$}; 
\draw[black,thick,->] (7,5.5) -- (7,6.5)node[right]{$z$}; 
\draw[black, line width=2pt] (1.7,4.1) -- (2.13,5.1) node[above right,xshift=5pt]{$A(z)$} -- (2.86,6.4) node[above right,xshift=5pt]{$A(z-1)$} -- (3.62,7.5) -- (4.42,8.4) node[above right]{Frontwand};
\draw[->,>=stealth',thick] (2.13,5.1) -- +(120:0.8cm) node[above left]{$n$};
\node[fill=black, circle, scale=0.5,pin={[pin distance=2cm,pin edge={<-,>=stealth'}]above:{$\hat S$}}] at  (2.13,5.1){};
\node[fill=black, circle, scale=0.5] at (2.86,6.4){};
\end{tikzpicture}

\end{document}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.