Day 6
(2)
グリッド上の球体をSin波でZ方向に波打たせる
#grid#sphere#wave

✅ 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