/ / MATLAB 2D plotten parabolische Linienrotation, um einen Kegel in 3D zu bilden - Matlab, Animation, 3D, Plot, Surf

MATLAB 2D plotten parabolische Linienrotation zu einem Kegel in 3D - Matlab, Animation, 3D, Plot, Surf

Ich würde gerne eine Kegeloberfläche erstellen mit: der Distanzvektor "X = 1: 1: 100" (Größe 1 100) und der Datenvektor Y = 1: 1: 100 (Größe 1 100). In 2D ist das Diagramm eine Parabelgleichung "Y = 100-X ^ 2" (y> 0 und -a <x <+ a).

Ich möchte das Liniendiagramm um 180 Grad drehen, mit Schritt alle 1 Grad, um x = 0 (y-Achse), um einen Kegel im 3D-Raum zu bilden. Ist es möglich? Bitte, jede Idee ist mehr als willkommen.

Antworten:

2 für die Antwort № 1

Dieses 3D Polar Diagramm von der Mathworks Website ist wahrscheinlich das, wonach Sie suchen:

http://www.mathworks.com/matlabcentral/fileexchange/13200-3d-polar-plot

Es sieht wie eine ziemlich süße Funktion aus. Beachten Sie die beschriebene "Angular Range" -Eigenschaft.

Aber Sie können auch bekommen, was Sie wollen, ohne es:

figure(); hold on;
for theta = linspace(0, pi, 100) % Not exactly sure how you want to vary theta
[T, R] = meshgrid(linspace(0, theta, 100), 1:100);
[X, Y] = pol2cart(T,R);
Z = 100 - R.^2; % Compute the surface of revolution
surf(X,Y,Z); % Plot the surface
pause(1); % Wait one second
end

Lass es mich wissen, wenn das nicht das ist, was du beschreibst, oder wenn du mehr Hilfe brauchst.