pietrekgoras69 rozwiązanych zadań
pietrekgoras
23.1.2023 (08:41)
Oto program w języku Python, który spełnia wymagania zadania:
import math
def cartesian_to_spherical(x, y, z):
r = math.sqrt(x**2 + y**2 + z**2)
theta = math.acos(z / r)
phi = math.atan2(y, x)
return (r, theta, phi)
def cartesian_to_cylindrical(x, y, z):
rho = math.sqrt(x**2 + y**2)
phi = math.atan2(y, x)
return (rho, phi, z)
print("Konwersja współrzędnych kartezjańskich na współrzędne sferyczne i cylindrystyczne")
x = float(input("Podaj współrzędną x: "))
y = float(input("Podaj współrzędną y: "))
z = float(input("Podaj współrzędną z: "))
spherical = cartesian_to_spherical(x, y, z)
print("Współrzędne sferyczne: r = %.2f, theta = %.2f, phi = %.2f" % (spherical[0], spherical[1], spherical[2]))
cylindrical = cartesian_to_cylindrical(x, y, z)
print("Współrzędne cylindrystyczne: rho = %.2f, phi = %.2f, z = %.2f" % (cylindrical[0], cylindrical[1], cylindrical[2]))
Program prosi użytkownika o podanie współrzędnych kartezjańskich x, y, z punktu w przestrzeni, następnie używa tych wartości do przeliczenia ich na współrzędne w układzie sferycznym i cylindrystycznym za pomocą dwóch funkcji cartesian_to_spherical i cartesian_to_cylindrical. Funkcje te korzystają z biblioteki matematycznej math do obliczania odległości, kąta theta i kąta phi w układzie sferycznym oraz odległości rho i kąta phi w układzie cylindrystycznym.
Program wyświetla wyniki za pomocą odpowiednich komunikatów, zachowując czytelność i zrozumiałość dla użytkownika.
Jest też kilka uwag:
wartości r, theta, phi, rho, z jest zaokrąglona do 2 miejsc po przecinku
Wartości kątów są podane w radianach, Jeśli chcesz prezentować je w stopniach, należy pomnożyć przez 180/pi
wartości x, y, z powinny być podawane przez użytkownika w liczbach zmiennoprzecinkowych, dlatego używamy float(input())
warto uwzględnić walidację danych wejściowych, tak aby program działał poprawnie, nawet jeśli użytkownik poda niepoprawne dane.
Można dodać opcję, aby użytkownik mógł wybrać, w jakim układzie chce otrzymać wynik, czy sferycznym czy cylindrystycznym.
Ten kod jest tylko przykładem i może być dostosowywany do indywidualnych potrzeb.
Przydatne rozwiązanie?
Tak
Nie
Slawekwu1 rozwiązane zadanie
Slawekwu
21.2.2024 (12:12)
Import math
x = float(input("Podaj współrzędną x: "))
y = float(input("Podaj współrzędną y: "))
z = float(input("Podaj współrzędną z: "))
# Przeliczanie na współrzędne w układzie sferycznym
r = math.sqrt(x**2 + y**2 + z**2)
phi = math.atan2(y, x)
theta = math.acos(z / r)
# Wypisanie wyników dla układu sferycznego
print("Współrzędne w układzie sferycznym:")
print("r =", )
print("phi =", phi)
print("theta =", theta)
# Przeliczanie na współrzędne w układzie cylindrycznym
rho = math.sqrt(x**2 + y**2)
phi = math.atan2(y, x)
# Wypisanie wyników dla układu cylindrycznego
print("Współrzędne w układzie cylindrycznym:")
print("rho =", rho)
print("phi =", phi)
print("z =", z)
Przydatne rozwiązanie?
Tak
Nie