Difference between revisions of "Gnuplot/C2/Generate-3D-plots-and-surfaces/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 18: Line 18:
 
* Rotate to change the viewing angle
 
* Rotate to change the viewing angle
 
* Change the surface properties
 
* Change the surface properties
* Color the two sides of the surfaces differently
+
* Color the two sides of the surface differently
  
 
|-
 
|-
Line 35: Line 35:
 
||  
 
||  
 
* '''Ubuntu Linux''' 16.04 OS
 
* '''Ubuntu Linux''' 16.04 OS
* '''Gedit''' version 3.18and
+
* '''Gedit''' version 3.18 and
* '''gnuplot version''' 5.2.6
+
* '''gnuplot''' version 5.2.6
  
 
|-
 
|-
Line 73: Line 73:
 
|-
 
|-
 
|| Cursor on the graphics window.
 
|| Cursor on the graphics window.
|| Besides '''x''' and '''y''', the third axis is the value of the function in the plot.
+
|| The splot command generates 3d graph in the graphcis window.
 +
Besides '''x''' and '''y''', the third axis is the value of the function in the plot.
  
 
|-
 
|-
Line 109: Line 110:
  
 
|-
 
|-
|| Type '''replot '''and press '''Enter'''.
+
|| Type '''replot''' and press '''Enter'''.
 
|| '''Replot''' to notice a finer mesh defining the surface.
 
|| '''Replot''' to notice a finer mesh defining the surface.
  
Line 135: Line 136:
 
This function can be plotted in polar coordinates as,
 
This function can be plotted in polar coordinates as,
 
r.sin(u).cos(v), r.sin(u).sin(v),r.cos(u)
 
r.sin(u).cos(v), r.sin(u).sin(v),r.cos(u)
|| Equation for a sphere with radius r, centered at (0,0,0) is shown.
+
|| Equation for a sphere with radius r, centered at x0, y0, and z0 is shown here.
 
It is, x square plus y square plus z square is equal to r square.
 
It is, x square plus y square plus z square is equal to r square.
This function can be plotted in polar coordinates as seen here.
+
This function can be plotted in parametric mode as seen here.
  
 
|-
 
|-
 
|| Cursor on the slide.
 
|| Cursor on the slide.
|| We will write a script to draw a sphere in '''gnuplot''' using a text editor.
+
|| We will write a script to draw a sphere in '''gnuplot''' using the text editor.
 
Then run the script file to plot a graph.
 
Then run the script file to plot a graph.
  
Line 177: Line 178:
 
'''set vrange [0:180]'''
 
'''set vrange [0:180]'''
 
and press '''Enter'''.
 
and press '''Enter'''.
|| Next, specify the ranges of the parameters '''u''' and '''v'''.
+
|| Next, specify the ranges of parameters '''u''' and '''v'''.  
Here we have '''Polar coordinates'''.
+
  
 
|-
 
|-
Line 212: Line 212:
 
|| Minimize '''gedit''' and go to '''terminal'''.
 
|| Minimize '''gedit''' and go to '''terminal'''.
 
|| Click on the hyphen sign on the top to minimize the gedit window.
 
|| Click on the hyphen sign on the top to minimize the gedit window.
Go back to the gnuplot '''terminal'''.
+
Go back to the '''terminal''', where '''gnuplot''' is open.
  
 
|-
 
|-
Line 221: Line 221:
 
|-
 
|-
 
|| Enter the command '''load 'sphere.dem' '''.
 
|| Enter the command '''load 'sphere.dem' '''.
|| Enter the command, '''load space within single quotes sphere dot dem'''.
+
|| Enter the command, '''load''' space within single quotes '''sphere dot dem'''.
  
 
|-
 
|-
Line 234: Line 234:
 
|-
 
|-
 
|| Go to the '''gedit''' script .
 
|| Go to the '''gedit''' script .
|| Go to the '''gedit''' window to edit the script.
+
|| Go to the edit window to edit the script.
 
If you had closed it, please open the '''script''' file to edit.
 
If you had closed it, please open the '''script''' file to edit.
  
Line 248: Line 248:
 
|-
 
|-
 
|| Come back to '''gnuplot '''.
 
|| Come back to '''gnuplot '''.
|| Come back to the terminal with the '''gnuplot''' prompt.
+
|| Come back to the '''gnuplot''' prompt and load the edited script file again.
Load the edited script file again.
+
  
 
|-
 
|-
 
|| Type '''load 'sphere.dem'''' and press '''Enter'''.
 
|| Type '''load 'sphere.dem'''' and press '''Enter'''.
|| Enter the command '''load space within single quotes sphere.dem'''.
+
|| Enter the command '''load''' space within single quotes '''sphere.dem'''.
 
In some systems, pressing the up arrow key scrolls through the command history.
 
In some systems, pressing the up arrow key scrolls through the command history.
 +
 +
|-
 +
|| Show the blue sphere.
 +
Notice the blue sphere in the graphics window.
  
 
|-
 
|-
Line 264: Line 267:
 
'''lc rgb blue''' .
 
'''lc rgb blue''' .
 
|| Go back to the script in '''gedit''' to make changes in it.
 
|| Go back to the script in '''gedit''' to make changes in it.
Delete the '''lc space rgb space blue''' command.
+
Delete the '''lc space rgb space blue''' in the splot command.
  
 
|-
 
|-
Line 285: Line 288:
 
|-
 
|-
 
|| Hover mouse on the range guide range.
 
|| Hover mouse on the range guide range.
|| It is called a '''colorbox''' in '''gnuplot'''.
+
|| This is called a '''colorbox''' in '''gnuplot'''.
 
The values between 1 to 0.8 are colored in yellow.  
 
The values between 1 to 0.8 are colored in yellow.  
 
Values between minus 0.8 to minus 1 are colored in deep purple.
 
Values between minus 0.8 to minus 1 are colored in deep purple.
Line 302: Line 305:
 
|| Practice and familiarize with commands and styles.  
 
|| Practice and familiarize with commands and styles.  
 
Learners can also use the help command for this purpose.
 
Learners can also use the help command for this purpose.
 +
 +
|-
 +
|| Type '''q''' to quit '''gnuplot''' and close '''gedit'''.
 +
Let's exit '''gnuplot''' and '''gedit'''.
  
 
|-
 
|-
Line 307: Line 314:
 
'''Summary'''
 
'''Summary'''
 
|| To summarize, in this tutorial, we,
 
|| To summarize, in this tutorial, we,
* Generated a 3D plot with the '''splot''' command
+
* Generated a 3D surface with the '''splot''' command
 
* Changed the viewing angle
 
* Changed the viewing angle
 
* Modified the 3D plot
 
* Modified the 3D plot
Line 315: Line 322:
 
|| '''Slide Number 8'''
 
|| '''Slide Number 8'''
 
'''Summary'''
 
'''Summary'''
|| * Plotted a sphere and changed the color
+
||  
 +
* Plotted a sphere and changed the color
 
* Wrote and modified a script
 
* Wrote and modified a script
* Executed the script to generate a plot
+
* Executed the script to generate a plot and
 
* Learned to generate a heat map
 
* Learned to generate a heat map
  
Line 331: Line 339:
 
'''Assignment'''
 
'''Assignment'''
 
Hint:
 
Hint:
Equation for a sphere centered at (x1,y1,z1) in polar coordinates is shown here.
+
For a sphere centered at (x1,y1,z1), use the equation for sphere as seen here.
  
 
x1+r.sin(u).cos(v), y1+r.sin(u).sin(v), z1+r.cos(u)
 
x1+r.sin(u).cos(v), y1+r.sin(u).sin(v), z1+r.cos(u)

Revision as of 13:32, 30 December 2019

Visual Cue Narration
Slide Number 1

Title Slide Generate 3D plot and surfaces

Welcome to the tutorial on Generate 3D plot and Surfaces.
Slide Number 2

Learning Objectives

In this tutorial we will learn to,
  • Generate a 3D plot with splot command
  • Rotate to change the viewing angle
  • Change the surface properties
  • Color the two sides of the surface differently
Slide Number 3

Learning Objectives

  • Make a graph using script commands
  • Write, edit and execute a script
  • Draw a sphere
  • Change the surface color of the sphere
  • Generate a heat map
Slide Number 4

System and Software Requirement

  • Ubuntu Linux 16.04 OS
  • Gedit version 3.18 and
  • gnuplot version 5.2.6
Slide Number 5

Pre-requisites

https://spoken-tutorial.org

To follow this tutorial,
  • Learner must be familiar with basics of gnuplot.
  • For pre-requisite gnuplot tutorials, please visit this site.
Press Ctrl+Alt+T. Open a terminal.
Type cd Desktop and press Enter. Change the directory to Desktop.
Type gnuplot and press Enter. I will open gnuplot from Desktop directory in the terminal.
Press Ctrl+L. I will also clear the screen.

We will plot the function, cos x cos y to draw a surface.

Type splot cos(x)*cos(y) and press Enter. Enter the command splot space cos x times cos y.

The splot command generates 3D graph in the graphics window. Make sure x and y are in parenthesis.

Cursor on the graphics window. The splot command generates 3d graph in the graphcis window.

Besides x and y, the third axis is the value of the function in the plot.

Hold down left mouse key and turn around and rotate the plot. Hold down the left mouse key.

Move the mouse to rotate the graph and change the viewing angle.

Zoom into the graph. Zoom in slightly into the graph to see a wavy surface.

Notice the surface is plotted in a wide mesh style.

Cursor on the graphics window. Let's change some of the properties of the surface.
Hover mouse over the two sides of the surface. We will color both sides of the surface differently.
Enter the command set hidden3d .

Enter the command replot.

The required command for this is set space hidden3d .

Enter the command replot, to see the changed colors.

Show the two colors on the screen. Notice the hidden surface is colored green and the top surface is purple.
Type set isosamples 50,50 and press Enter. Let’s divide the surface into a fine grid.

Enter the command, set space isosamples space 50 comma 50.

Type replot and press Enter. Replot to notice a finer mesh defining the surface.
Cursor on the graphics window. Use the command, help space splot to know more about the splot command.
Hold down the left mouse key and move the mouse. Hold down the left mouse key and move the mouse to rotate the graph.
Cursor on the view angle value, in the graphics window.

Highlight the changed angle in the graphics window during video editing.

The viewing angle changes in the graphic window while rotating the graph.
Close the graphic window. Next, we will plot a sphere in gnuplot.

Close the graphics window.

Slide number 6

Equation for a sphere This function can be plotted in polar coordinates as, r.sin(u).cos(v), r.sin(u).sin(v),r.cos(u)

Equation for a sphere with radius r, centered at x0, y0, and z0 is shown here.

It is, x square plus y square plus z square is equal to r square. This function can be plotted in parametric mode as seen here.

Cursor on the slide. We will write a script to draw a sphere in gnuplot using the text editor.

Then run the script file to plot a graph.

Press Ctrl+Alt+T.

Type gedit and press Enter.

Open another terminal and type gedit to open a gedit window.
Cursor on Gedit text editor. Windows users may use notepad or wordpad software.
Type # my first 3D plot and press Enter. Let's enter a comment on the first line.

I will type hash my first 3D plot and press Enter to start a newline. The comments start with a hash.

Next, please type the commands as shown here.
Type set parametric and press Enter. First, set the plot to parametric mode.
Type set angle degree.

Press Enter.

Then set the angle to degree .
Enter the 2 lines

set urange [0:360] set vrange [0:180] and press Enter.

Next, specify the ranges of parameters u and v.
Type set isosample 50,50 and press Enter. Set isosamples to make a fine mesh.
Type set ticslevel 0 and press Enter. Set ticks level to zero.

This sets the XY plane at zero value of Z axis.

Type r=1 and press Enter. I will set the radius of the sphere to one.
Type,

splot r*sin(u)*cos(v), r*sin(u)*sin(v),r*cos(u) and press Enter.

Next add the line, splot space and the function for sphere as seen.
Press Ctrl+S. Press Control S to save the file.
Give file name, sphere.dem in path desktop folder.

Click on Save.

A dialogue box opens.

I will save the file in Desktop folder with filename sphere.dem. Click on Save to save the script.

Minimize gedit and go to terminal. Click on the hyphen sign on the top to minimize the gedit window.

Go back to the terminal, where gnuplot is open.

Cursor on terminal. If you had closed gnuplot, please open gnuplot again.

Let's run the script to generate a sphere.

Enter the command load 'sphere.dem' . Enter the command, load space within single quotes sphere dot dem.
Point to the sphere in graphics window. A sphere, centered at zero, zero, zero with radius one appears on the screen.
Rotate the sphere. Let’s change the color of the sphere to blue.

We will edit the script file to make the required changes.

Go to the gedit script . Go to the edit window to edit the script.

If you had closed it, please open the script file to edit.

Add lc rgb 'blue' in the end of the splot command. Add lc space rgb space within single quotes blue .

This is part of the splot command line.

Press Ctrl+S . Save the changes in the script file.
Come back to gnuplot . Come back to the gnuplot prompt and load the edited script file again.
Type load 'sphere.dem' and press Enter. Enter the command load space within single quotes sphere.dem.

In some systems, pressing the up arrow key scrolls through the command history.

Show the blue sphere.

Notice the blue sphere in the graphics window.

Cursor on the graphics window. Next, let's make a heatmap with pm3d command.
Select and delete the part,

lc rgb blue .

Go back to the script in gedit to make changes in it.

Delete the lc space rgb space blue in the splot command.

Type with pm3d at the end of the same line. Add, with space pm3d at the end of the line, as seen on the screen.
Press Ctrl+S, minimize gedit and go to gnuplot. Save the script file, minimize gedit and go to gnuplot.
Enter command load 'sphere.dem' . Load the sphere.dem script again.
Point mouse next to the map guide in graphics window. Notice the heatmap in the sphere.

The color scale bar for the color gradient, is visible on the side.

Hover mouse on the range guide range. This is called a colorbox in gnuplot.

The values between 1 to 0.8 are colored in yellow. Values between minus 0.8 to minus 1 are colored in deep purple.

Cursor on the graphics window. Using scripts, we can generate and make changes in the graph.
Exit gnuplot and gedit. Let’s exit gnuplot and gedit.

Similar scripts are available in gnuplot demo website.

Cursor on terminal. Practice and familiarize with commands and styles.

Learners can also use the help command for this purpose.

Type q to quit gnuplot and close gedit.

Let's exit gnuplot and gedit.

Slide Number 7

Summary

To summarize, in this tutorial, we,
  • Generated a 3D surface with the splot command
  • Changed the viewing angle
  • Modified the 3D plot
  • Colored the two surfaces of the plot differently
Slide Number 8

Summary

  • Plotted a sphere and changed the color
  • Wrote and modified a script
  • Executed the script to generate a plot and
  • Learned to generate a heat map
Slide Number 9

Assignment

For assignment, plot the following,
  • Plot 5 spheres in a graph with different radius .
  • Center and color the spheres differently.
Slide Number 10

Assignment Hint: For a sphere centered at (x1,y1,z1), use the equation for sphere as seen here.

x1+r.sin(u).cos(v), y1+r.sin(u).sin(v), z1+r.cos(u)

For a sphere centered at (x1,y1,z1), use the equation for sphere as seen here.
Show assignment screenshot. Your completed assignment look similar to this.
Slide Number 11

Spoken Tutorial Project

This video summarises the Spoken Tutorial Project.

Please download and watch it.

Slide Number 12

Spoken Tutorial workshops

We conduct workshops and give certificates.

For more details, please write to us.

Slide Number 13

Forum for specific questions:

Post your timed queries in the forum.
Slide Number 14

Acknowledgement

Spoken Tutorial Project is funded by MHRD, Government of India.
This is Rani from IIT Bombay.

Thank you for joining.

Contributors and Content Editors

Madhurig, PoojaMoolya, Ranipv076, Snehalathak