Welcome to our community

Be a part of something great, join today!

TiKZ oriented graph

dwsmith

Well-known member
Feb 1, 2012
1,673
How can I draw a rectangle oriented clockwise on the complex plane with vertices on (0,0), (0,4), (10,4), and (10,0)?

I am guessing the tikz package needs to be used but I am not skilled in making pictures.
 

Evgeny.Makarov

Well-known member
MHB Math Scholar
Jan 30, 2012
2,492
If you say \usepackage{tikz}, then you can do

Code:
\tikz\draw (0,0) -- (0,4) -- (10,4) -- (10,0) -- cycle;
or

Code:
\begin{tikzpicture}
\draw (0,0) -- (0,4) -- (10,4) -- (10,0) -- cycle;
\end{tikzpicture}

What do you mean by a rectangle "oriented clockwise"?

I am sure you can easily do this using other LaTeX packages, but I don't know them very well.
 

dwsmith

Well-known member
Feb 1, 2012
1,673
Clockwise is the path you would take around the rectangle.

Ok so that worked but I also want the rectangle on the coordinate axis with arrows along the path and the axes labeled at at 0, 10 and 4. Is there a way to make the rectangle not as big on the pdf?
 
Last edited:

Evgeny.Makarov

Well-known member
MHB Math Scholar
Jan 30, 2012
2,492
Well, after a rectangle is finished being drawn, nobody can tell whether it was drawn clockwise or counterclockwise. So I don't see the meaning in stipulating that it is oriented clockwise.
 

dwsmith

Well-known member
Feb 1, 2012
1,673
Well, after a rectangle is finished being drawn, nobody can tell whether it was drawn clockwise or counterclockwise. So I don't see the meaning in stipulating that it is oriented clockwise.
I need arrows on the rectangle showing its orientation of clockwise.
 

Chris L T521

Well-known member
Staff member
Jan 26, 2012
995
If you say \usepackage{tikz}, then you can do

Code:
\tikz\draw (0,0) -- (0,4) -- (10,4) -- (10,0) -- cycle;
or

Code:
\begin{tikzpicture}
\draw (0,0) -- (0,4) -- (10,4) -- (10,0) -- cycle;
\end{tikzpicture}

What do you mean by a rectangle "oriented clockwise"?

I am sure you can easily do this using other LaTeX packages, but I don't know them very well.
Although I've used Tikz for complicated diagrams and images before, I never knew about the cycle option. Thanks for posting that! (Nod)
 

Evgeny.Makarov

Well-known member
MHB Math Scholar
Jan 30, 2012
2,492
Although I've used Tikz for complicated diagrams and images before, I never knew about the cycle option.
Yes, and besides shortening the notation, this option causes TikZ to create a proper join between the first and last segment. Here is a picture from TikZ manual.



Here is the code for a rectangle with arrows.

Code:
\usetikzlibrary{arrows}
\begin{tikzpicture}[>=stealth',scale=.5]
\draw[->] (-1,0) -- (11,0);
\draw[->] (0,-1) -- (0,5);
\node[below left] at (0,0) {0};
\node[below] at (10,0) {10};
\node[left] at (0,4) {4};
\draw[thick,->] (0,0) -- (0,2);
\draw[thick,->] (0,2) -- (0,4) -- (5,4);
\draw[thick,->] (5,4) -- (10,4) -- (10,2);
\draw[thick,->] (10,2) -- (10,0) -- (5,0);
\draw[thick] (5,0) -- (0,0);
\end{tikzpicture}
This example uses the scale= option, which can be used in each \draw instruction individually or can apply to the whole picture if specified after \begin{tikzpicture}. It affects the specified coordinates, not the line lengths. The option -> adds the arrow tip only to the end of the path, so the rectangle has to consist of several paths.

A more sophisticated way is to use the decorations library.

Code:
\usetikzlibrary{arrows,decorations.markings}
\begin{tikzpicture}[>=stealth',scale=.5]
\draw[->] (-1,0) -- (11,0);
\draw[->] (0,-1) -- (0,5);
\node[below left] at (0,0) {0};
\node[below] at (10,0) {10};
\node[left] at (0,4) {4};
\draw[
  thick,
  decoration={
    markings,
    mark=at position 1/14 with {\arrow{>}},
    mark=at position 9/28 with {\arrow{>}},
    mark=at position 4/7 with {\arrow{>}},
    mark=at position 23/28 with {\arrow{>}}},
  postaction={decorate}] (0,0) -- (0,4) -- (10,4) -- (10,0) -- cycle;
\end{tikzpicture}


One advantage is that this allows using the cycle construction, which, as said above, create the correct join at (0, 0). I agree that the syntax of the decorations is rather confusing. (Smile)
 

dwsmith

Well-known member
Feb 1, 2012
1,673
Yes, and besides shortening the notation, this option causes TikZ to create a proper join between the first and last segment. Here is a picture from TikZ manual.



Here is the code for a rectangle with arrows.

Code:
\usetikzlibrary{arrows}
\begin{tikzpicture}[>=stealth',scale=.5]
\draw[->] (-1,0) -- (11,0);
\draw[->] (0,-1) -- (0,5);
\node[below left] at (0,0) {0};
\node[below] at (10,0) {10};
\node[left] at (0,4) {4};
\draw[thick,->] (0,0) -- (0,2);
\draw[thick,->] (0,2) -- (0,4) -- (5,4);
\draw[thick,->] (5,4) -- (10,4) -- (10,2);
\draw[thick,->] (10,2) -- (10,0) -- (5,0);
\draw[thick] (5,0) -- (0,0);
\end{tikzpicture}
This example uses the scale= option, which can be used in each \draw instruction individually or can apply to the whole picture if specified after \begin{tikzpicture}. It affects the specified coordinates, not the line lengths. The option -> adds the arrow tip only to the end of the path, so the rectangle has to consist of several paths.

A more sophisticated way is to use the decorations library.

Code:
\usetikzlibrary{arrows,decorations.markings}
\begin{tikzpicture}[>=stealth',scale=.5]
\draw[->] (-1,0) -- (11,0);
\draw[->] (0,-1) -- (0,5);
\node[below left] at (0,0) {0};
\node[below] at (10,0) {10};
\node[left] at (0,4) {4};
\draw[
  thick,
  decoration={
    markings,
    mark=at position 1/14 with {\arrow{>}},
    mark=at position 9/28 with {\arrow{>}},
    mark=at position 4/7 with {\arrow{>}},
    mark=at position 23/28 with {\arrow{>}}},
  postaction={decorate}] (0,0) -- (0,4) -- (10,4) -- (10,0) -- cycle;
\end{tikzpicture}


One advantage is that this allows using the cycle construction, which, as said above, create the correct join at (0, 0). I agree that the syntax of the decorations is rather confusing. (Smile)
You are great with the tikz stuff. On mhf, you would help with my commutative diagrams. Where do you get a manual for this?
 

Chris L T521

Well-known member
Staff member
Jan 26, 2012
995

Evgeny.Makarov

Well-known member
MHB Math Scholar
Jan 30, 2012
2,492