Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
@@ -1,30 +1,27 @@
|
|
1 |
import streamlit as st
|
2 |
-
import
|
|
|
3 |
|
4 |
-
st.title('Fractal
|
5 |
|
6 |
-
def
|
7 |
-
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
t.backward(size)
|
20 |
-
|
21 |
-
# Start drawing the fractal
|
22 |
-
t.penup()
|
23 |
-
t.goto(0, -200)
|
24 |
-
t.pendown()
|
25 |
-
t.color('green')
|
26 |
-
draw(200, 60)
|
27 |
-
|
28 |
-
if st.button('Draw Fractal'):
|
29 |
-
draw_fractal()
|
30 |
-
st.write('Done!')
|
|
|
1 |
import streamlit as st
|
2 |
+
import numpy as np
|
3 |
+
import plotly.graph_objects as go
|
4 |
|
5 |
+
st.title('Dice Fractal')
|
6 |
|
7 |
+
def generate_fractal(num_rolls):
|
8 |
+
rolls = [np.random.randint(1, 7) for i in range(num_rolls)]
|
9 |
+
x = [0]
|
10 |
+
y = [0]
|
11 |
+
angle = 0
|
12 |
+
step = 1
|
13 |
+
for roll in rolls:
|
14 |
+
angle += 60 if roll % 2 == 0 else -60
|
15 |
+
x.append(x[-1] + step * np.cos(np.deg2rad(angle)))
|
16 |
+
y.append(y[-1] + step * np.sin(np.deg2rad(angle)))
|
17 |
+
return go.Scatter(x=x, y=y, mode='lines', line=dict(width=1))
|
18 |
|
19 |
+
num_rolls = st.slider('How many times do you want to roll the dice?', 1, 1000, 100)
|
20 |
+
fig = go.Figure(generate_fractal(num_rolls))
|
21 |
+
fig.update_layout(
|
22 |
+
title='Dice Fractal',
|
23 |
+
xaxis_title='X',
|
24 |
+
yaxis_title='Y',
|
25 |
+
showlegend=False
|
26 |
+
)
|
27 |
+
st.plotly_chart(fig)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|