Ich habe plot_surface
verwendet, um eine konische Struktur mit Auf- und Ab-Teilen in 3D zu erstellen, siehe nachstehenden Code. Bei Blickwinkel azim=90.
ist der untere Konus links heller und rechts dunkler. Man würde das Gleiche für den oberen Kegel erwarten, wenn die "Lichtquelle" von der linken Seite kommt. Der obere Konus hat jedoch eine entgegengesetzte Schattierung und bleibt auch für andere Betrachtungswinkel, die ich wähle.mplot3d: Änderung der Standardschattierung (entgegengesetzt)
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(3,4));
ax = fig.add_subplot(111,projection='3d')
theta = np.linspace(0,2*np.pi,360)
r = np.linspace(0,1,100)
T, R = np.meshgrid(theta, r)
X = R * np.cos(T)
Y = R * np.sin(T)
Zup = np.sqrt(X**2 + Y**2)
ax.plot_surface(X, Y, Zup, rstride=1, cstride=1, linewidth=0,
antialiased=True,alpha=0.7,color='orange')
ax.plot_surface(X, Y, -Zup, rstride=1, cstride=1, linewidth=0,
antialiased=True,alpha=0.7,color='orange')
ax.set_axis_off()
ax.view_init(elev=4., azim=90.)
ax.dist=6
fig.tight_layout(pad=0.)
Bei bestimmten Winkel (z. azim=45
) beide Kegel sieht homogen, aber ich würde ihnen etwas (konsequent) Beleuchtung haben möchten. Danke im Voraus.
Vielleicht erwarten Sie ein bisschen zu viel von einer Bibliothek, die für 3D-Plot entworfen wurde nie. – ImportanceOfBeingErnest
@ImportanceOfBeingErnest Ich sehe, ich bin fast zufrieden mit dem, was ich jetzt habe, nur neugierig, warum es einen Unterschied geben würde ... – Phyinmi