annotate scripts/plot/ellipsoid.m @ 14237:11949c9795a0

Revamp %!demos in m-files to use Octave coding conventions on spacing, etc. Add clf() to all demos using plot features to get reproducibility. Use 64 as input to all colormaps (jet (64)) to get reproducibility. * bicubic.m, cell2mat.m, celldisp.m, cplxpair.m, interp1.m, interp2.m, interpft.m, interpn.m, profile.m, profshow.m, convhull.m, delaunay.m, griddata.m, inpolygon.m, voronoi.m, autumn.m, bone.m, contrast.m, cool.m, copper.m, flag.m, gmap40.m, gray.m, hot.m, hsv.m, image.m, imshow.m, jet.m, ocean.m, pink.m, prism.m, rainbow.m, spring.m, summer.m, white.m, winter.m, condest.m, onenormest.m, axis.m, clabel.m, colorbar.m, comet.m, comet3.m, compass.m, contour.m, contour3.m, contourf.m, cylinder.m, daspect.m, ellipsoid.m, errorbar.m, ezcontour.m, ezcontourf.m, ezmesh.m, ezmeshc.m, ezplot.m, ezplot3.m, ezpolar.m, ezsurf.m, ezsurfc.m, feather.m, fill.m, fplot.m, grid.m, hold.m, isosurface.m, legend.m, loglog.m, loglogerr.m, pareto.m, patch.m, pbaspect.m, pcolor.m, pie.m, pie3.m, plot3.m, plotmatrix.m, plotyy.m, polar.m, quiver.m, quiver3.m, rectangle.m, refreshdata.m, ribbon.m, rose.m, scatter.m, scatter3.m, semilogx.m, semilogxerr.m, semilogy.m, semilogyerr.m, shading.m, slice.m, sombrero.m, stairs.m, stem.m, stem3.m, subplot.m, surf.m, surfc.m, surfl.m, surfnorm.m, text.m, title.m, trimesh.m, triplot.m, trisurf.m, uigetdir.m, uigetfile.m, uimenu.m, uiputfile.m, waitbar.m, xlim.m, ylim.m, zlim.m, mkpp.m, pchip.m, polyaffine.m, spline.m, bicgstab.m, cgs.m, gplot.m, pcg.m, pcr.m, treeplot.m, strtok.m, demo.m, example.m, rundemos.m, speed.m, test.m, calendar.m, datestr.m, datetick.m, weekday.m: Revamp %!demos to use Octave coding conventions on spacing, etc.
author Rik <octave@nomad.inbox5.com>
date Fri, 20 Jan 2012 12:59:53 -0800
parents 72c96de7a403
children 3e1b24a2454a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 14092
diff changeset
1 ## Copyright (C) 2007-2012 Sylvain Pelissier
7306
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
2 ##
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
3 ## This file is part of Octave.
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
4 ##
7306
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
6 ## under the terms of the GNU General Public License as published by
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
8 ## your option) any later version.
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
9 ##
7306
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
13 ## General Public License for more details.
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
14 ##
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
7306
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
17 ## <http://www.gnu.org/licenses/>.
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
18
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
19 ## -*- texinfo -*-
11563
3c6e8aaa9555 Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
20 ## @deftypefn {Function File} {[@var{x}, @var{y}, @var{z}] =} ellipsoid (@var{xc}, @var{yc}, @var{zc}, @var{xr}, @var{yr}, @var{zr}, @var{n})
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
21 ## @deftypefnx {Function File} {} ellipsoid (@var{h}, @dots{})
7306
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
22 ## Generate three matrices in @code{meshgrid} format that define an
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
23 ## ellipsoid. Called with no return arguments, @code{ellipsoid} calls
7306
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
24 ## directly @code{surf (@var{x}, @var{y}, @var{z})}. If an axes handle
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
25 ## is passed as the first argument, the surface is plotted to this
7306
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
26 ## set of axes.
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
27 ## @seealso{sphere}
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
28 ## @end deftypefn
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
29
7306
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
30 ## Author: Sylvain Pelissier <sylvain.pelissier@gmail.com>
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
31
e1e9bb54a440 [project @ 2007-12-12 16:47:07 by jwe]
jwe
parents: 7305
diff changeset
32 function [xx, yy, zz] = ellipsoid (varargin)
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
33
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11563
diff changeset
34 [h, varargin, nargin] = __plt_get_axis_arg__ ((nargout > 0), "ellipsoid",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9245
diff changeset
35 varargin{:});
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
36
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
37 if (nargin != 6 && nargin != 7)
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
38 print_usage ();
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
39 endif
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
40
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
41 xc = varargin{1};
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
42 yc = varargin{2};
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
43 zc = varargin{3};
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
44 xr = varargin{4};
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
45 yr = varargin{5};
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
46 zr = varargin{6};
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
47
8274
967c15c5e265 ellipsoid.m: fix default argument check
Soren Hauberg <hauberg@gmail.com>
parents: 7306
diff changeset
48 if (nargin == 6)
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
49 n = 20;
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
50 else
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
51 n = varargin{7};
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
52 endif
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
53
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
54 theta = linspace (0, 2 * pi, n + 1);
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
55 phi = linspace (-pi / 2, pi / 2, n + 1);
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
56 [theta, phi] = meshgrid (theta, phi);
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
57
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
58 x = xr .* cos (phi) .* cos (theta) + xc;
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
59 y = yr .* cos (phi) .* sin (theta) + yc;
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
60 z = zr .* sin (phi) + zc;
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
61
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
62 if (nargout > 0)
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
63 xx = x;
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
64 yy = y;
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
65 zz = z;
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
66 else
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
67 surf (h, x, y, z);
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
68 endif
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
69
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
70 endfunction
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
71
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
72
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
73 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
74 %! clf;
7305
84a2e24c75c8 [project @ 2007-12-12 16:45:02 by jwe]
jwe
parents:
diff changeset
75 %! ellipsoid (0, 0, 1, 2, 3, 4, 20);
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
76