Translating shape functions into isosurfaces, a new question
2 views (last 30 days)
Show older comments
Hey, all, thanks for reading this,
I am trying to create a set of isosurfaces defined by shape functions (kind of like CAD curves). My code for such is here: http://pastebin.com/80ZBXC4u.
What I can do is take a shape function for a sphere, for instance, and plot it as a isosurface pretty easily. When I try one of the equations for my example, however, it doesn't work. I am thinking it could possibly be a result of me not translating it right into MATLAB.
The line:
% our_function = @(x,y,z) (sqrt(x.^2+y.^2+z.^2)<10); % Example
is the sample code for the sphere. I then have the example:
% our_function = @(x,y,z) (z.*15*15*15+2*(x.^2+2.25*y.^2)*(x.^2+2.25*y.^2)<0); % Shape Function 1 Simplified
which is a bit more convoluted. When I try to do this one, I get the error:
Error using * Inputs must be 2-D, or at least one input must be scalar. To compute elementwise TIMES, use TIMES (.*) instead.
which means somewhere I am multiplying a vector element instead of a scalar element (what I think, at least).
I then have the more advanced line, which I haven't even started yet:
% our_function = @(x,y,z) (z.*15*15*15+2*(x.^2+2.25*y.^2)*(x.^2+2.25*y.^2)<0)&&(x.^2>0.01*15*15)&&(z>-2.3*15)
% Shape Function 1
% Extended
which is the last equation plus some constraints for x,y and z.
What this should plot is a 2D surface in 3 dimensions, meaning its a sheet of sorts. However, I cannot MATLAB well, so somewhere along the line I think I am inputting this wrong.
Thanks for all the advice you can give!
Actually, scratch this, I managed to solve it myself. I needed .*, and just one & for the constraints since it was a vector value.
0 Comments
Accepted Answer
More Answers (0)
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!