Skip to content

Commit

Permalink
simulator: refactor: introduce plot_cube_data and use it for the frame
Browse files Browse the repository at this point in the history
  • Loading branch information
jtimon committed Aug 24, 2022
1 parent 8ef0685 commit 8732fd1
Showing 1 changed file with 20 additions and 16 deletions.
36 changes: 20 additions & 16 deletions reprope_simulator/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,21 +73,6 @@ def rope_length_to_motor_steps(rope_length):
rope_length = calculate_distance_between_points(rope_points[c]['head'], rope_points[c]['top'])
print("Stepper %s rope length: %s, steps: %s" % (c, rope_length, rope_length_to_motor_steps(rope_length)))

frame_data = [
go.Scatter3d(x=[0, max_x], y=[0, 0], z=[max_z, max_z]),
go.Scatter3d(x=[0, 0], y=[0, max_y], z=[max_z, max_z]),
go.Scatter3d(x=[0, max_x], y=[max_y, max_y], z=[max_z, max_z]),
go.Scatter3d(x=[max_x, max_x], y=[max_y, 0], z=[max_z, max_z]),
go.Scatter3d(x=[0, max_x], y=[0, 0], z=[0, 0]),
go.Scatter3d(x=[0, 0], y=[0, max_y], z=[0, 0]),
go.Scatter3d(x=[0, max_x], y=[max_y, max_y], z=[0, 0]),
go.Scatter3d(x=[max_x, max_x], y=[max_y, 0], z=[0, 0]),
go.Scatter3d(x=[0, 0], y=[0, 0], z=[0, max_z]),
go.Scatter3d(x=[max_x, max_x], y=[0, 0], z=[0, max_z]),
go.Scatter3d(x=[max_x, max_x], y=[max_y, max_y], z=[0, max_z]),
go.Scatter3d(x=[0, 0], y=[max_y, max_y], z=[0, max_z]),
]

head_data = [
go.Scatter3d(x=[head_pos_x, head_pos_x + head_x], y=[head_pos_y, head_pos_y], z=[head_pos_z + head_z, head_pos_z + head_z]),
go.Scatter3d(x=[head_pos_x, head_pos_x], y=[head_pos_y, head_pos_y + head_y], z=[head_pos_z + head_z, head_pos_z + head_z]),
Expand All @@ -103,8 +88,27 @@ def rope_length_to_motor_steps(rope_length):
go.Scatter3d(x=[head_pos_x, head_pos_x], y=[head_pos_y + head_y, head_pos_y + head_y], z=[head_pos_z, head_pos_z + head_z]),
]

def plot_cube_data(min_point, max_point, name):
cube_lines = [
go.Scatter3d(x=[min_point[0], max_point[0]], y=[min_point[1], min_point[1]], z=[max_point[2], max_point[2]]),
go.Scatter3d(x=[min_point[0], min_point[0]], y=[min_point[1], max_point[1]], z=[max_point[2], max_point[2]]),
go.Scatter3d(x=[min_point[0], max_point[0]], y=[max_point[1], max_point[1]], z=[max_point[2], max_point[2]]),
go.Scatter3d(x=[max_point[0], max_point[0]], y=[max_point[1], min_point[1]], z=[max_point[2], max_point[2]]),
go.Scatter3d(x=[min_point[0], max_point[0]], y=[min_point[1], min_point[1]], z=[min_point[2], min_point[2]]),
go.Scatter3d(x=[min_point[0], min_point[0]], y=[min_point[1], max_point[1]], z=[min_point[2], min_point[2]]),
go.Scatter3d(x=[min_point[0], max_point[0]], y=[max_point[1], max_point[1]], z=[min_point[2], min_point[2]]),
go.Scatter3d(x=[max_point[0], max_point[0]], y=[max_point[1], min_point[1]], z=[min_point[2], min_point[2]]),
go.Scatter3d(x=[min_point[0], min_point[0]], y=[min_point[1], min_point[1]], z=[min_point[2], max_point[2]]),
go.Scatter3d(x=[max_point[0], max_point[0]], y=[min_point[1], min_point[1]], z=[min_point[2], max_point[2]]),
go.Scatter3d(x=[max_point[0], max_point[0]], y=[max_point[1], max_point[1]], z=[min_point[2], max_point[2]]),
go.Scatter3d(x=[min_point[0], min_point[0]], y=[max_point[1], max_point[1]], z=[min_point[2], max_point[2]]),
]
for i in range(0, len(cube_lines), 1):
cube_lines[i].name = "%s%s" % (name, i)
return cube_lines

data = []
data.extend(frame_data)
data.extend(plot_cube_data([0, 0, 0], [max_x, max_y, max_z], name="frame"))
data.extend(head_data)
data.extend(ropes_data)

Expand Down

0 comments on commit 8732fd1

Please sign in to comment.