次の方法で、その下で切り取られた双曲線の 3D 図形をプロットしたいと思います (図)
何か案は?
OK、これがあなたの問題への私の刺し傷です。これは私が使ってきた実験的なスクリプトです:
%%# first part
%#------------------
clf
%# use cylinder to get unit cone
[x,y,z] = cylinder( linspace(1, 0, 1e3), 1e3);
%# intersect the cone with this surface
inds = z < (cos(x).*sin(pi*y/2)+1)/4;
x(inds) = NaN; %# remove all corresponding
y(inds) = NaN; %# indices, in all arrays
z(inds) = NaN;
%# Now plot the cone. Note that edges are ugly when
%# using a large number of points
surf(x, y, z, 'edgecolor', 'none');
%%# second part
%#------------------
hold on
%# the surface to intersect the cone with
f = @(x,y) (cos(x).*sin(pi*y/2)+1)/4;
%# add the surfacfe to the cone plot
[x,y] = meshgrid( linspace(-1,1, 1e3) );
surf(x,y, f(x,y), 'edgecolor', 'none')
最初の部分は、曲線と交差する円錐を示しています。全体の形状を正しくするために、曲線を少しいじる必要があるかもしれません。これが 2 番目の部分の目的です。
放物面(またはその他)が必要な場合は、使用してください
[x,y] = meshgrid( linspace(-1,1, 1e3) );
z = 1-x.^2-y.^2; %# or whatever other equation
cylinder
コマンドの代わりに。