Algebraische Flächen
-
- User
- Beiträge: 61
- Registriert: Montag 26. Dezember 2022, 14:53
Ich habe ein kleines Script hergestellt, vielleicht gefällt es jemandem.
-
- User
- Beiträge: 61
- Registriert: Montag 26. Dezember 2022, 14:53
Code: Alles auswählen
[code]
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
plt.xticks([])
plt.yticks([])
def limit3d(mi, ma): #3d Grenzen: min, max
ax.set(xlim=[mi, ma], ylim=[mi, ma], zlim=[mi, ma])
lim = 5
limit3d(-lim,lim)
def fl(m,n,a,b,c):
X = np.arange(-lim,lim, 0.01)
Y = np.arange(-lim,lim, 0.01)
X, Y = np.meshgrid(X, Y)
Z = np.sqrt((X**m/a + Y**n/b + c))
zm = - Z
surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm)
surf = ax.plot_surface(X, Y, zm, cmap=cm.RdBu)
fl(5,2,2,4,-1)
plt.show()[/code]
-
- User
- Beiträge: 61
- Registriert: Montag 26. Dezember 2022, 14:53
Es gelingt mit nicht, den Code mit den angebrachten indents zu versenden; es gibt ja nur eine Funktion, das ist sicher schnell zu korrigieren.
So?..hubertgrassmann hat geschrieben: ↑Montag 19. Juni 2023, 18:38 Es gelingt mit nicht, den Code mit den angebrachten indents zu versenden; es gibt ja nur eine Funktion, das ist sicher schnell zu korrigieren.
Code: Alles auswählen
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
fig = plt.figure()
plt.xticks([])
plt.yticks([])
lim = 5
X = np.arange(-lim,lim, 0.01)
Y = np.arange(-lim,lim, 0.01)
X, Y = np.meshgrid(X, Y)
ax = fig.add_subplot(projection='3d')
def limit3d(mi, ma): #3d Grenzen: min, max
ax.set(xlim=[mi, ma], ylim=[mi, ma], zlim=[mi, ma])
def fl(m,n,a,b,c):
Z = np.sqrt((X**m/a + Y**n/b + c))
ax.plot_surface(X, Y, Z, cmap=cm.coolwarm)
ax.plot_surface(X, Y, -Z, cmap=cm.RdBu)
limit3d(-lim,lim)
#fl(5,2,2,4,-1)
fl(m=2,n=2,a=1,b=1,c=0)
plt.show()
-
- User
- Beiträge: 61
- Registriert: Montag 26. Dezember 2022, 14:53
Ja, danke.
Spannend wird es, wenn nicht m=n=2 gewählt wird, oder wenn man in der Z-Zeile zwischen die Klammern (( den Aufruf abs einfügt (aber dann ist es keine "algebraische" Fläche).
Spannend wird es, wenn nicht m=n=2 gewählt wird, oder wenn man in der Z-Zeile zwischen die Klammern (( den Aufruf abs einfügt (aber dann ist es keine "algebraische" Fläche).
Das ist schnell zu korrigieren.Es gelingt mit nicht, den Code mit den angebrachten indents zu versenden
Es darf vor und nach dem Code nur jeweils 1x der Befehl stehen, der durch den Knopf automatisch eingefügt wird.
Im obigen Fall wurde der Knopf anscheinend versehentlich 2x angeklickt. Dadurch kommt der Ende-Befehl zu früh.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.