Código fuente de Bplot
2. Puede ver el código fuente de la función elipsoide incorporada, que vuelve a llamar a la función esférica. Estas dos funciones no suman mucho, por lo que se pueden combinar, reescribir ligeramente y pegar a continuación:
Función mi _ellipsoide (xc, yc, zc, xr, yr, zr, n)
p>Dibuja un elipsoide
xc, YC, ZC especifica el centro, que se puede omitir (el valor predeterminado es el origen de las coordenadas);
xr, yr , zr especifica el radio.
n especifica el número de puntos de datos dentro de 360 grados en cada eje y se puede omitir. El valor predeterminado es 20.
Comprobación de parámetros y configuración de valores predeterminados
Señal de conmutación
Caso {3, 4}
Si nargin == 4, n = fin de xr
xr = xcyr = yczr = zc
Caso {6, 7}
De lo contrario
Error ("parámetro de entrada Número incorrecto");
Fin
if nargin == 3 | nargin == 6
n = 20
Fin p>
Generar datos de esfera unitaria (usando coordenadas esféricas y luego convirtiéndolos a coordenadas rectangulares)
θ=(-n:2:n)/n * pi;
p >
phi =(-n:2:n)'/n * pi/2;
cos phi = cos(cosphi(1)= 0; 0;
sin theta = sin(θ); sintheta(1)= 0; sintheta(n 1)= 0;
x = cos phi * cos(θ); /p>
y = cosphi * sintheta
z = sin(phi)*ones(1, n 1);
Convertir para obtener un elipsoide.
x = xr * x xc;
y = año * y YC
z = Zr * z ZC
Dibujar; y establecer en coordenadas proporcionales.
Navegación (x, y, z)
Los ejes son iguales
Por cierto, me gustaría dar algunas sugerencias a las dos personas anteriores como referencia. :
1. Lea los requisitos con claridad. Un elipsoide y una elipse no son lo mismo;
2. Pruebe el código usted mismo antes de enviar su respuesta.