Skip to content

Commit a136de5

Browse files
Experiments
1 parent 001ec00 commit a136de5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+788
-0
lines changed

β€Žhistory/README.mdβ€Ž

Lines changed: 113 additions & 0 deletions

β€Žhistory/branch_and_merge.pyβ€Ž

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import bpy
2+
from mathutils import Vector
3+
4+
def sphere(p):
5+
bpy.ops.mesh.primitive_uv_sphere_add(radius=0.25, location=p)
6+
7+
def edge(p1,p2):
8+
mid=(p1+p2)/2
9+
d=(p2-p1).length
10+
11+
bpy.ops.mesh.primitive_cylinder_add(radius=0.05, depth=d, location=mid)
12+
13+
root=Vector((0,0,0))
14+
a=Vector((2,1,0))
15+
b=Vector((2,-1,0))
16+
merge=Vector((4,0,0))
17+
18+
sphere(root)
19+
sphere(a)
20+
sphere(b)
21+
sphere(merge)
22+
23+
edge(root,a)
24+
edge(root,b)
25+
edge(a,merge)
26+
edge(b,merge)

β€Žhistory/build_all.shβ€Ž

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
OUT=figures
4+
5+
./run_blender.sh history_dag $OUT
6+
./run_blender.sh crdt_convergence $OUT
7+
./run_blender.sh history_lattice $OUT
8+
./run_blender.sh entropy_collapse $OUT
9+
./run_blender.sh ising_descent $OUT
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import bpy
2+
import random
3+
import math
4+
5+
def create_event(x,y,z):
6+
bpy.ops.mesh.primitive_uv_sphere_add(radius=0.2, location=(x,y,z))
7+
8+
def connect(p1,p2):
9+
bpy.ops.mesh.primitive_cylinder_add(
10+
radius=0.05,
11+
depth=((p1-p2).length),
12+
location=(p1+p2)/2
13+
)
14+
15+
events = []
16+
17+
for i in range(20):
18+
x=i*0.6
19+
y=random.uniform(-1,1)
20+
z=random.uniform(-1,1)
21+
22+
create_event(x,y,z)
23+
events.append((x,y,z))

β€Žhistory/figure_factory.pyβ€Ž

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import os
2+
import bpy
3+
import sys
4+
import argparse
5+
import os
6+
7+
sys.path.append(os.path.dirname(__file__))
8+
9+
from scenes_history_dag import build_history_dag
10+
from scenes_crdt_convergence import build_crdt_convergence
11+
from scenes_history_lattice import build_history_lattice
12+
from scenes_entropy_collapse import build_entropy_collapse
13+
from scenes_ising_descent import build_ising_descent
14+
15+
def parse_args():
16+
argv = sys.argv
17+
argv = argv[argv.index("--")+1:]
18+
19+
p = argparse.ArgumentParser()
20+
p.add_argument("--scene", required=True)
21+
p.add_argument("--blend", required=True)
22+
p.add_argument("--png", required=True)
23+
24+
return p.parse_args(argv)
25+
26+
def reset():
27+
bpy.ops.wm.read_factory_settings(use_empty=True)
28+
29+
def render_image(path):
30+
scene = bpy.context.scene
31+
scene.render.engine = 'BLENDER_EEVEE'
32+
scene.render.image_settings.file_format = 'PNG'
33+
scene.render.filepath = path
34+
scene.render.resolution_x = 2000
35+
scene.render.resolution_y = 1200
36+
37+
bpy.ops.render.render(write_still=True)
38+
39+
args = parse_args()
40+
41+
reset()
42+
43+
scene = bpy.context.scene
44+
45+
if args.scene == "history_dag":
46+
build_history_dag(scene)
47+
48+
elif args.scene == "crdt_convergence":
49+
build_crdt_convergence(scene, None)
50+
51+
elif args.scene == "history_lattice":
52+
build_history_lattice(scene)
53+
54+
elif args.scene == "entropy_collapse":
55+
build_entropy_collapse(scene, None)
56+
57+
elif args.scene == "ising_descent":
58+
build_ising_descent(scene, None)
59+
60+
# save .blend
61+
bpy.ops.wm.save_as_mainfile(filepath=args.blend)
62+
63+
# render image
64+
render_image(args.png)
2.44 MB
Binary file not shown.
2.44 MB
Binary file not shown.
1.4 MB
1.86 MB
Binary file not shown.
1.86 MB
Binary file not shown.

0 commit comments

Comments
Β (0)