fall 2006ae6382 design computing1 three dimensional plotting learning objectives –understand the...

32
Fall 2006 AE6382 Design Computing 1 Three Dimensional Plotting Learning Objectives Understand the anatomy of a 3D plot Basics of constructing plots in 3D How to choose different plot types for best effects Topics Plotting in 3D: major differences The meshgrid() function to create plaids 3D mesh plots 3D surface plots shading and light sources Contour plots Use of color to add a 4th dimension

Upload: bertram-bruce

Post on 18-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 1

Three Dimensional Plotting

Learning Objectives– Understand the

anatomy of a 3D plot– Basics of

constructing plots in 3D

– How to choose different plot types for best effects

Topics– Plotting in 3D: major

differences– The meshgrid() function

to create plaids– 3D mesh plots– 3D surface plots– shading and light sources– Contour plots– Use of color to add a 4th

dimension

Page 2: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 2

Background

• Plotting in 3D and 3D data visualization is where Matlab’s power really becomes apparent!

• Matlab defines a number of different kinds of 3D plots but you will probably find 3 or 4 to be the most useful:– x,y,z 3D line plot: plot3( )– mesh plot: mesh( )– surface plot: surf( )– contour plot: contour( )– combo surface/mesh with contour: surfc( )

• The surface plotting can also be applied to create realistic 3D objects by defining and plotting their exterior surfaces!

• We can only touch lightly on this vast area of Matlab…

Page 3: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 3

Anatomy of a 3D Plot

• There are MANY options for plotting in 3D but we will consider only the basics:– Plotting a curve in 3D: plot3(x,y,z)– Plotting a surface, z=f(x,y), in 3D: mesh( ) & surf( )– There are also several other plotting topics that we will NOT

cover or discuss in class (but you might find interesting to explore on your own):

• ribbon plots

• quiver plots (showing vectors)

• volume plots

• advanced colormap use

Page 4: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 4

2D Plots vs 3D Line Plots

• Actually, every 2D plot is simply a 3D plot without the 3rd dimension being specified.

>> clf>> x=0:0.1:2.*pi;>> plot(x,sin(x))

Rotate 3D button: experiment with how it works…

Page 5: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 5

3D Line Plot

• This is the simplest (and least useful) 3D plot and is really just a generalization of the 2D function:

>> x=0:0.1:3.*pi;>> z1=sin(x);>> z2=sin(2.*x);>> z3=sin(3.*x);>> y1=zeros(size(x));>> y3=ones(size(x));>> y2=y3./2;>> plot3(x,y1,z1,'r',x,y2,z2,'b',x,y3,z3,'g')>> grid on>> xlabel('x-axis'), ylabel('y-axis'), zlabel('z-axis')

0

5

10

0

0.5

1-1

0

1

x-axisy-axis

z-ax

is

0

5

10

0

0.5

1-1

0

1

x-axisy-axis

z-ax

is

Page 6: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 6

3D Line Plot (2)

• These examples may be a little more useful…>> clf

>> turns=40.*pi;

>> theta=linspace(0,turns,4000);

>> x=cos(theta).*(turns-theta)./turns;

>> y=sin(theta).*(turns-theta)./turns;

>> z=theta./turns;

>> plot3(x,y,z)

>> grid on

>> text(0.5,0.5,0.75,'Here is a piece of text!');

-1

0

1

-1

0

10

0.5

1Here is a piece of text!

>> theta=0:0.1:10.*pi;

>> plot3(sin(theta),cos(theta),theta)

>> grid on

theta=0:0.1:10.*pi;

>> plot3(sin(theta),cos(theta),theta)

>> grid on

-1

0

1

-1

0

10

10

20

30

40

Page 7: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 7

3D Surface Plots

• It is often desirable to plot functions of the form: z=f(x,y)– for each (x,y), we can compute a value for z– this defines a surface in 3D space

• If we can define (x,y) at regular intervals, Matlab provides powerful ways to plot the resulting function as a mesh or surface in 3D.

• The (x,y) values stored in arrays will define a grid of mesh points through which the surface will be created.

• There are tools in Matlab to handle the situation in which (x,y) are not defined in a grid, but we won't consider them in this course.

• We will look into how colors can be employed to add the equivalent of a 4th dimension…

Page 8: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 8

Defining the (x,y) Values

• We need a way to create the range of (x,y) values needed to compute f(x,y)

-2

0

2

-2

0

2

-10

-5

0

5

10

x-axisy-axis

z-ax

is

x =-3 -2 -1 0 1 2 3

y =-3 -2 -1 0 1 2 3

z=f(x,y)

This won't work because we need all values of y for each value of x and vice versa to evaluate function over entire region shown

xx =-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3

yy =-3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3z=f(xx,yy)

This works: corresponding elements of xx & yy contain thex and y coordinates to be used for f(x,y) at that point

NOTE:xx varies along ROWS while yy variesalong COLUMNS

NOTE:xx varies along ROWS while yy variesalong COLUMNS

Page 9: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 9

The meshgrid() Function

• Matlab provides a function to compute these arrays:>> x=-3.5:3.5;

>> y=-2.5:2.5;

>> [xx,yy]=meshgrid(x,y)

xx =

-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5

-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5

-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5

-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5

-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5

-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5

yy =

-2.5 -2.5 -2.5 -2.5 -2.5 -2.5 -2.5 -2.5

-1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5 -1.5

-0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5

0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5

1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5

2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5

NOTE #1:xx varies along ROWS while yy variesalong COLUMNS

NOTE #2:For any (i, j), the value in xx is the x coordinate, while the value in yy is the y coordinate:

xx(3,1) = -3.5yy(3,1) = -0.5

So (x,y) = (-3.5, -0.5)

NOTE #4:We can use array math to efficiently compute the z values when z=f(x,y)

NOTE #3:Matlab calls these arrays "plaids"

Page 10: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 10

>> x=-3:3;>> y=-3:3;>> [xx,yy]=meshgrid(x,y)xx = 3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3yy = -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3>> zz=xx.^2 + yy.^2;>> mesh(xx,yy,zz)

-4-2

02

4

-4

-2

0

2

40

5

10

15

20

Simple Example Using meshgrid()

• In this case we will plot z = (x2 + y2) over the range -3 x 3 and -3 y 3

NOTE:Matlab's array instructions make this a deceptively simple calculation for all values at once…

NOTE:Matlab's array instructions make this a deceptively simple calculation for all values at once…

Page 11: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 11

Calculation of f(x,y)

• Calculation of f(x,y) can be tricky depending on exactly how it is defined over the "plaid" (see MM pg. 384)

>> nc=length(x); % number of columns in z

>> nr=length(y); % number of rows in z

>> z=zeros(nr,nc); % initialize z (for speed)

>> for k=1:nc

z(:,k) = x(k).^2 + y(:).^2;

end

>> mesh(xx,yy,z)

-20

2

-2

0

2

0

5

10

15

20

NOTE:It can be very tricky to keep track of the row and column indices in this kind of calculation… (it appears that the text in the book is incorrect)

NOTE:It can be very tricky to keep track of the row and column indices in this kind of calculation… (it appears that the text in the book is incorrect)

Column-wise Calculation of z = f(x,y)Column-wise Calculation of z = f(x,y)

Page 12: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 12

Calculation of f(x,y) - cont'd

• Worst case is that you may have to compute each element of z explicitly as follows:

>> nc=length(x); % number of columns in z

>> nr=length(y); % number of rows in z

>> z=zeros(nr,nc); % initialize z (for speed)

>> for kc=1:nc

for kr=1:nr

z(kr,kc) = x(kc).^2 + y(kr).^2;

end

end

>> mesh( >> mesh(xx,yy,z)

-20

2

-2

0

2

0

5

10

15

20

NOTE:It can be very tricky to keep track of the row and column indices in this kind of calculation…

NOTE:It can be very tricky to keep track of the row and column indices in this kind of calculation…

Element-by-element Calculation of z = f(x,y)Element-by-element Calculation of z = f(x,y)

Page 13: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 13

Key Concepts for z=f(x,y) Plots

• 3D plotting introduces several key concepts:

– Meshes versus Surfaces

– Hidden line removal

– Pedestals and contours

– Color maps and pseudo-coloring

– Viewpoints and camera control (advanced!)

– Shading and lighting (advanced)

• The following figures demonstrate these concepts, but you are encouraged to check this out in your textbook (using Matlab’s graphic brings out the real fun in using this powerful software!).

Page 14: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 14

[X,Y,Z] = sphere(12);

subplot(1,2,1);

mesh(X,Y,Z), title('Figure 26.5a: Opaque');

hidden on;

axis square off;

subplot(1,2,2);

mesh(X,Y,Z),title('Figure 26.5b: Transparent');

hidden off;

axis square off;

Fig 26.5a: Opaque Fig 26.5b: Transparent

Exploring Hidden Line Removal

• This uses an interesting built-in function sphere( )• Hidden lines:

– ON: shows white inside mesh

– OFF: shows transparent mesh

Page 15: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 15

Let's Explore the mesh( ) Function

• We'll use peaks( ) to create a z=f(x,y) function that is interesting and shows off the 3D plotting

• Note: you should check help peaks and help mesh and also the textbook for further details on these functions

-20

2

-2

0

2

-5

0

5

x-axisy-axis

z-ax

is

>> [x,y,z]=peaks(30);

>> mesh(x,y,z)

>> axis tight

>> xlabel('x-axis')

>> ylabel('y-axis')

>> zlabel('z-axis')

Suggestion:Try using hidden off and hidden on to see what happens.

Suggestion:Try using hidden off and hidden on to see what happens.

Page 16: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 16

Exploring meshc Plots

• meshc( ) adds a contour plot directly below the mesh– helps visualize the contours– can locate the peaks and dips

-20

2

-2

0

2

-10

-5

0

5

x-axisy-axis

z-ax

is

>> [x,y,z]=peaks(30);

>> meshc(x,y,z)

>> axis tight

>> xlabel('x-axis')

>> ylabel('y-axis')

>> zlabel('z-axis')

Hint::If you just finished the previous example, you need only type in the new meshc( ) command.

Hint::If you just finished the previous example, you need only type in the new meshc( ) command.

Page 17: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 17

Exploring meshz Plots

• This special variation allows you to emphasize the zero plane in the mesh plot

-20

2

-2

0

2

-5

0

5

>> [x,y,z]=peaks(30);

>> meshz(x,y,z)

>> axis tight

>> xlabel('x-axis')

>> ylabel('y-axis')

>> zlabel('z-axis')

Page 18: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 18

Exploring waterfall Plots

• This is another variation on the mesh plot and can also be useful in some special cases

-20

2

-2

0

2

-5

0

5

x-axisy-axis

z-ax

is

>> [x,y,z]=peaks(30);

>> waterfall(x,y,z)

>> axis tight

>> xlabel('x-axis')

>> ylabel('y-axis')

>> zlabel('z-axis')

Page 19: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 19

Let's Explore the surf( ) Function

• So far we have only been able to plot meshes to represent the surface– can hide hidden lines to clarify the surface shape– still appears as a wireframe-like shape

• Matlab provides a function that will fill in the mesh with facets (surfaces with 3 or 4 corners but not necessarily plane surfaces)– we'll see that these can produce very realistic appearing

surfaces in 3D– can control appearance of mesh– can change color mapping to reveal other information– can add lighting

Page 20: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 20

Exploring surf Plots (shading faceted)

• The basic function uses the default shading faceted and this shows the mesh:

-20

2

-2

0

2

-5

0

5

x-axisy-axis

z-ax

is

>> [x,y,z]=peaks(30);

>> surf(x,y,z)

>> axis tight

>> xlabel('x-axis')

>> ylabel('y-axis')

>> zlabel('z-axis')

Page 21: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 21

Exploring surf Plots (shading flat)

• shading flat will eliminate the mesh and leave the facets colored with a constant color value

-20

2

-2

0

2

-5

0

5

x-axisy-axis

z-ax

is

>> [x,y,z]=peaks(30);

>> surf(x,y,z)

>> shading flat

>> axis tight

>> xlabel('x-axis')

>> ylabel('y-axis')

>> zlabel('z-axis')

Page 22: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 22

Exploring surfc Plots (shading interp)

• surfc acts much like meshc with a contour plot drawn below the surface

• shading interp interpolates color over each facet

>> [x,y,z]=peaks(30);

>> surfc(x,y,z)

>> shading interp

>> axis tight

>> xlabel('x-axis')

>> ylabel('y-axis')

>> zlabel('z-axis')

NOTE:shading interp can take time to execute and the figure may cause plotting problems

NOTE:shading interp can take time to execute and the figure may cause plotting problems

Page 23: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 23

Changing the Viewing Direction

• You can change the orientation of the object– Viewing direction: view(az,el) or you can use the rotate3d button

on the view toolbar on the figure window menu

– Camera direction: this is best controlled from the camera toolbar on the figure window menu

z

y

x

azimuth

elev

viewpoint » view(-45,60)» view(-45,60)

Page 24: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 24

Adding a Colorbar

• You can use the colorbar command to add a color bar that defines the color used in the plot. Use help colorbar to find out what the other options are…

NOTE:You should check out the instructions on how to use the Property Editor and the tools in the Figure window to interactively add text and labels to various parts of this 3D graph.

NOTE:You should check out the instructions on how to use the Property Editor and the tools in the Figure window to interactively add text and labels to various parts of this 3D graph.

Page 25: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 25

Using Color as a 4th Dimension

• Matlab associates a “colormap” with each figure window– this is a 3 column array in which columns #1-3 control the Red, Blue &

Green colors (defined using a 0-1 range)– each row defines a specific color– colors are limited by the color display capabilities of the computer– these, along with a few fixed colors, are the colors Matlab will use in the

figure window (each figure window has its own separate colormap)– Matlab predefines a number of useful colormaps

• JET, HSV, GRAY, HOT, COOL, BONE, COPPER, PINK, FLAG, PRISM• see help graph3d for more information and other colormaps• use colormap hsv or colormap(‘hsv’) to change• colormap default restores the colormap to default values

– use the colorbar command to display the color bar by itself or alongside a plot (see help)

Page 26: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 26

Using Color as a 4th Dimension (2)

• Matlab uses “pseudo-color” to change the color in a mesh or surf plot– colors can be based on the z values (default)

– you can specify the color variable in mesh() and surf()

• Use caxis([cmin cmax]) to define the max and min values that are mapped to the colormap

-50

-40

-30

-20

-10

0

10

20

30

40

50

-20

2

-2

0

2

-5

0

5

-5

0

5

-20

2

-2

0

2

-5

0

5

>> caxis([-5 5]);

>> colorbar

>> caxis([-5 5]);

>> colorbar

>> caxis([-50 50]);

>> colorbar

>> caxis([-50 50]);

>> colorbar

Page 27: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 27

Using Color as a 4th Dimension (3)

• mesh() and surf() can accept a "color" argument that defines the color used over the plaid.

-20

2

-20

2

-5

0

5

y-axis

>> caxis('auto')

>> surf(x,y,z,y)

>> axis tight

>> ylabel('y-axis')

Here we have used the y values as the color variable.

-0.5

0

0.5

-20

2

-2

02

-5

0

5

Curvature

This shows curvature of the surface as the color variable.

>> C=del2(z); % compute Laplacian

>> surf(x,y,z,C)

>> axis tight

>> colorbar

Page 28: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 28

Contour Plots

• Matlab provides several functions to draw contours– contour(): draws simple contour map with N intervals– contourf(): draws a contour with filled contours– contour3(): draws a contour map in 3D

-4

-2

0

2

4

6

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

x-axis

y-a

xis

» [x,y,z]=peaks(30);» contour(x,y,z,10)» colorbar» xlabel('x-axis')» ylabel('y-axis')

-6

-4

-2

0

2

4

6

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

x-axis

y-a

xis

» [x,y,z]=peaks(30);» contourf(x,y,z,10)» colorbar» xlabel('x-axis')» ylabel('y-axis')

NOTE:See textbook for other options.

NOTE:See textbook for other options.

Page 29: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 29

Example

• Here is a simple example to illustrate 3D plotting– it is the “sinc” function (sin(r)/r) where r=radius

– we need to add eps to avoid inf when dividing by zero

» [xx,yy]=meshgrid(-4.*pi:pi./5:4.*pi);

» R=sqrt(xx.^2 + yy.^2)+eps; % radius

» zz=sin(R)./R;

» surf(xx,yy,zz)

» axis tight

Question:How could you handle a situation when the data are not defined on a regular grid (when the points are unevenly spaced)?

Question:How could you handle a situation when the data are not defined on a regular grid (when the points are unevenly spaced)?

Page 30: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 30

Incentives…

• Here is a sphere with 2 lights added and the shading adjusted to show the lights (gouraud shading). See if you can create similar figures!

Now you really don't have any reason why you can't produce outstanding graphics for all your reports and projects!

Now you really don't have any reason why you can't produce outstanding graphics for all your reports and projects!

Page 31: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 31

Problem Solving

• Create a plot of the sinc(R) function shown in a previous slide, but in this case make the plot region a circular area in the xy plane that has a radius of 3 (Hint: you will need to create an xy plaid but computed from a grid defined using polar coordinates.)

• Add a circular disk of radius = 3 to the above sinc(R) plot. (Hint: you can use hold on to add additional surfaces using the surf command just like you did for plot() ).

• Now add a vertical plane (y=0) and a second vertical plane (x=0) to the plot. This effectively partitions the surface into 8 regions.

Page 32: Fall 2006AE6382 Design Computing1 Three Dimensional Plotting Learning Objectives –Understand the anatomy of a 3D plot –Basics of constructing plots in

Fall 2006AE6382 Design Computing 32

Summary

• Review questions– Describe 3D plotting in MATLAB,– What is a “scalar function in two variables?”– What is a plaid? What do they look like?– Describe differences between surface and mesh plot, and all

their variants.– What do the shading, hidden commands do?

• Action Items

– Review the lecture

– Work through the examples

– See if you can figure out how to use color