Day 6
(2)

グリッド上の球体をSin波でZ方向に波打たせる

#grid#sphere#wave
グリッド上の球体をSin波でZ方向に波打たせるのサムネイル

✅ Inputs

  • `count_x`: int – X方向のグリッド数(列数)
  • `count_y`: int – Y方向のグリッド数(行数)
  • `spacing`: float – 球体間の距離
  • `amplitude`: float – Sin波の振幅(Z方向への最大オフセット)
  • `radian`: float – グリッド全体での波の角度(例:`2π`で1波、`4π`で2波)
  • `sphere_radius`: float – 各球体の半径

✅ Outputs

  • `results`: list of `Sphere` – Sin波によってZ方向に変形された球体群

✅ Code

import Rhino.Geometry as rg
import math


spheres = []

for i in range(count_x):
    for j in range(count_y):
        x = i * spacing
        y = j * spacing

        t = float(j) / (count_y - 1)
        angle = t * radian
        z_offset = math.sin(angle) * amplitude

        center = rg.Point3d(x, y, z_offset)
        spheres.append(rg.Sphere(center, sphere_radius))

results = spheres