STUDIO TAMA

Rhinoceros & Grasshopper Utilities

© 2025 STUDIO TAMA

Day 5

螺旋状に球体を積層する

#curve#sphere#wave
螺旋状に球体を積層する

✅ Inputs

- `turns`: int – 螺旋の回転数(例:5)
- `count`: int – 球体の数
- `radius`: float – 螺旋の半径
- `height`: float – 全体の高さ
- `sphere_radius`: float – 各球体の半径

✅ Outputs

- `results`: list of `Sphere` – 螺旋上に配置された球体群

✅ Code

import Rhino.Geometry as rg
import math

angle_total = turns * 2 * math.pi
angle_step = angle_total / (count - 1)
z_step = height / (count - 1)

spheres = []

for i in range(count):
    angle = i * angle_step
    z = i * z_step
    x = math.cos(angle) * radius
    y = math.sin(angle) * radius

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

results = spheres

ライセンス・利用規約

項目可否説明
自身のプロジェクトへの組み込み個人・商用問わず、スクリプトや作品の一部として自由に使えます。
コードの改変・学習利用自身の学習や、目的に合わせたカスタマイズは大歓迎です。
SNSへのシェア・紹介作品の画像やURLのシェアは許可不要です。ぜひご紹介ください!
再配布・転載×コードやファイルを丸ごと自身のサイト等でコンテンツとして公開しないでください。
素材・プログラムとしての転売×本サイトの内容をそのまま、あるいは微調整のみで有料販売しないでください。
著作権表示・リンク任意必須ではありませんが、引用元としてリンクを貼っていただけると励みになります。