A Social Invention in Play: Affordable Modular Toy for Shaping 3D Spatial Thinking

An interesting 3D geometry problem was found. Python program was built to investigate this problem.

import numpy as np

def calculate_second_set(V1, V2, V3):
    V1 = V1 / np.linalg.norm(V1)
    V2 = V2 / np.linalg.norm(V2)
    V3 = V3 / np.linalg.norm(V3)
    
    U1 = (1.0 / np.sqrt(2)) * V2 + (1.0 / np.sqrt(2)) * V3
    U2 = (1.0 / np.sqrt(2)) * V2 - (1.0 / np.sqrt(2)) * V3
    U3 = V1
    #U2, U3 = U3, U2  # Exchange U2 and U3
  
    return U1, U2, U3

# Initial first set of vectors
V1 = np.array([0.0, 0.0, 1.0])
V2 = np.array([0.0, 1.0, 0.0])
V3 = np.array([1.0, 0.0, 0.0])

# Run iteratively 12 times
num_iterations = 12
for i in range(num_iterations):
    print(f"--- Iteration {i + 1}  ---")
    
    # Calculate the next set
    U1, U2, U3 = calculate_second_set(V1, V2, V3)
   
    print(f"U1 = {U1}")
    print(f"U2 = {U2}")
    print(f"U3 = {U3}\n")
    
    # Update the vector set for the next iteration
    V1, V2, V3 = U1, U2, U3


Python Code Execution Demo