Given an equation, i have to graph it in 3D and it should look like a water ripple
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Show older comments
0 votes
hi. i need help urgently. i was given an equation: z(x,y)=(amp*cos(sqrt((x^2+y^2)*const1))/exp((x^2+y^2)*const2)) amp is the amplitude which is 200 and x and y range from 0 to 100 const1 and const2 can be any number I am required to surf plot this equation so that it can look like a water ripple.
Please help me
Accepted Answer
Paulo Silva
on 28 Aug 2011
amp=200;
[x,y]=meshgrid(0:100,0:100);
const1=1;
const2=0.001;
z=(amp*cos(sqrt((x.^2+y.^2)*const1))./exp((x.^2+y.^2)*const2));
surf(x,y,z)
11 Comments
12ar.af
on 28 Aug 2011
hi..thnx...i tried the code but the graph is no way near the solution which is a water ripple....please help
Paulo Silva
on 28 Aug 2011
You can see the ripples by rotating the graph, tweak the values of const1 and const2 for better results.
12ar.af
on 28 Aug 2011
the ripples have to be circular..i am sorry..i am very bad at this stuff and need the answer today.please could you help me
Paulo Silva
on 28 Aug 2011
amp=200;
[x,y]=meshgrid(-100:100,-100:100);
const1=1;
const2=0.001;
z=(amp*cos(sqrt((x.^2+y.^2)*const1))./exp((x.^2+y.^2)*const2));
surf(x,y,z)
12ar.af
on 28 Aug 2011
thank you very much....i appreciate it
12ar.af
on 28 Aug 2011
i got one more question....how can you make the graph look more smoother ?
Paulo Silva
on 28 Aug 2011
make more points inside the mesh, example
amp=2;
[x,y]=meshgrid(-50:0.6:50,-50:0.6:50); %notice the new limits and step 0.6
%smaller steps give smother waves but use more memory and takes more time
const1=1;
const2=0.001;
z=(amp*cos(sqrt((x.^2+y.^2)*const1))./exp((x.^2+y.^2)*const2));
surf(x,y,z)
colormap(winter) %looks more natural with this colormpa
Paulo Silva
on 28 Aug 2011
here's a better version
amp=200;
[x,y]=meshgrid(-50:.1:50,-50:.1:50);
const1=1;
const2=0.001;
z=(amp*cos(sqrt((x.^2+y.^2)*const1))./exp((x.^2+y.^2)*const2));
s=surf(x,y,z);
colormap(winter)
set(s, 'edgecolor','none') %without the black lines, closer to real water ripples
Paulo Silva
on 28 Aug 2011
for even better results use set(s, 'edgecolor','none','FaceColor','interp')
that removes the black lines and other colored lines, also the meshgrid can be created like this [x,y]=meshgrid(-50:.1:50); because both arguments were the same vector.
Paulo Silva
on 28 Aug 2011
finally you might want some transparency on your water ripples, add this line to the end of the code: alpha(0.9) %the argument must be inside the interval [0 1]
12ar.af
on 28 Aug 2011
Thanks....now it looks exactly as i wanted to be...much appreciated mate
More Answers (0)
Categories
Find more on Lighting, Transparency, and Shading in Help Center and File Exchange
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)