Pfad auf Berg im Vordergrund plotten

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
mm96
User
Beiträge: 30
Registriert: Donnerstag 26. November 2020, 23:24

Hallo zusammen,

es geht um folgenden Code:

Code: Alles auswählen

# calculate mountain 
import numpy as np
h0 = 2277   # height in m
R = 4       # mountain Radius
x = y = np.linspace(-10, 10, 41)       # x, y, axis in units of km
xv, yv = np.meshgrid(x, y, indexing = 'ij', sparse = False)     # generate grid
hv = h0/(1 + (xv**2 + yv**2)/R**2)      # mountain function

# calculate path on mountain, parameterized by s
s = np.linspace(0, 2*np.pi, 100)
curve_x = 10*(1 - s/(2*np.pi))*np.cos(s)            # x-coordinate
curve_y = 10*(1 - s/(2*np.pi))*np.sin(s)            # y-coordinate
curve_z = h0/(1 + 100*(1 - s/(2*np.pi))**2/R**2)    # z-coordinate


# plot mountain
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
fig = plt.figure(1)
ax = plt.axes(projection = '3d')
ax.plot_surface(xv, yv, hv, color = 'yellow', zorder = 1)

# plot path
ax.plot(curve_x, curve_y, curve_z, linewidth = 5, color = 'black', zorder = 2)

plt.show()
Im ersten Abschnitt wird die Oberfläche eines Berges berechnet, im zweiten Abschnitt ein Pfad, der zum Gipfel des Berges führt.
Dabei soll ein schöner Plot rauskommen (3. und 4. Abschnitt).

Das Problem ist jetzt, dass der Pfad im vorderen Teil des Plots immer vom Berg verdeckt wird. Man sieht nur immer am rechten und linken Rand
des Berges, dass der Pfad so hervorscheint.
Kann man das so lösen, dass man beim Drehen des Plots den Pfad direkt, ohne Verdeckung durch den Berg sieht?

Liebe Grüße
Antworten