Files
basic-computer-games/87_3-D_Plot/python/3dplot.py
Martin Thoma e64fb6795c MAINT: Apply pre-commit
Remove byte-order-marker pre-commit check as there would be
many adjustments necessary
2022-03-05 09:29:23 +01:00

29 lines
610 B
Python

#!/usr/bin/env python3
# 3D PLOT
#
# Converted from BASIC to Python by Trevor Hobson
import math
def equation(input):
return 30 * math.exp(-input * input / 100)
print(" " * 32 + "3D PLOT")
print(" " * 15 + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n\n\n\n")
for x in range(-300, 315, 15):
x1 = x / 10
l = 0
y1 = 5 * math.floor(math.sqrt(900 - x1 * x1) / 5)
yPlot = [" "] * 80
for y in range(y1, -(y1 + 5), -5):
z = math.floor(25 + equation(math.sqrt(x1 * x1 + y * y)) - 0.7 * y)
if z > l:
l = z
yPlot[z] = "*"
print("".join(yPlot))