Problem with drawing a hyperboloid

1 回表示 (過去 30 日間)
Viktor Karlsson
Viktor Karlsson 2021 年 5 月 28 日
回答済み: DGM 2021 年 5 月 28 日
Hello,
I wrote the following code:
r=linspace(-3,3,21);
theta=linspace(0,2*pi,63);
m = 1
[R,THETA]=meshgrid(r,theta);
X=R.*cos(THETA);
Y=R.*sin(THETA);
Z = R;
C = (X.^2 + Y.^2 - Z.^2).^m;
surf(X,Y,Z,C)
axis equal
colormap jet
It becomes a cone-like hyperboloid instead, and I can not figure out where I am getting it wrong.
Any help is appreciated!
Thanks in advance.

回答 (1 件)

DGM
DGM 2021 年 5 月 28 日
You get a simple bicone because
Z = R;
and the colormapping looks random because
C = (X.^2 + Y.^2 - Z.^2).^m;
is essentially zero (it's just a collection of rounding errors, really), since
Z^2 = R^2
R^2 = X^2+Y^2
I'm not really sure what you're intending, but that's why you're getting what you get.

カテゴリ

Help Center および File ExchangeOrange についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by