File size: 850 Bytes
8ca85a6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from vedo import *

def create_tube_from_disks(disks):
    lines = []
    for i in range(len(disks)-1):
        lines.append(Line(disks[i].center(), disks[i+1].center()))
    
    tube_mesh = Tube(lines, r=0.1)
    return tube_mesh

# Create three disks at different positions (center x, y, z, and radius)
disk1 = {"center": [0, 0, 0], "radius": 0.1}
disk2 = {"center": [1, 0, 0], "radius": 0.1}
disk3 = {"center": [0.5, 1, 0], "radius": 0.1}

# Convert disk data to Spheres
disk1 = Sphere(disk1["center"], r=disk1["radius"])
disk2 = Sphere(disk2["center"], r=disk2["radius"])
disk3 = Sphere(disk3["center"], r=disk3["radius"])

# Combine the disk positions and create the tube mesh
disks_list = [disk1, disk2, disk3]
tube_mesh = create_tube_from_disks(disks_list)

# Render the tube mesh and the disks using vedo
show(tube_mesh, disks_list, axes=1)