軸線に対して、とりあえず一様に断面を与えるのではなく、カーブの曲率によって断面を変化させる必要がありそうです。下の図の場合、柱の上部では断面を大きくしないと、隙間ができてしまします。

このとき、改めて描画したカーブの曲率を見てみると、あまりきれいなものとは言えませんでした。

曲率の確認にはCurvature Graphを使っています。

手作業でトレースしただけのカーブを、数学的な形状に置き換えることを考えました。
カーブの形状がArcに似ているので、Arcで近似してみることにしました。
会社の先輩が作成したPythonスクリプトを使ってみました。

もとのカーブと比較して、誤差が気にならない程度でArcに置き換える事ができました。


曲率はきれいになりました。しかし、分割数が多いように見えます。

このスクリプトはカーブを等分割してArcに置き換える手法であるため、意図したArcにはなりませんでした。
できれば3つの大きなArcと細かいArcが生成できればいいなと思いました。

次に、別の先輩が共著で参加している「建築実務のプロが作ったRhinoとGrasshopperの本」の477ページ目に記載されている「曲線を円弧の組み合わせに置き換える」を試してみました。
カーブの分割位置と分割数をGalapagosの最適化によって導き出すというものです。評価方法などを少し改造しながら試してみたところ、下の図のように収束しました。

意図した分割にかなり近づきましたが、一方で曲率の変化が極端な場所もあります。

この辺りから、初めから自分でカーブの分割位置を指定して、Arcにしてみた方が早いのではないかと考え始めました。

当然ですが、意図したArcになりました。よくあることですが、楽をしようとしてだいぶ遠回りをしてしまったようです。

Arcを結合して、再度曲率を確認しました。非常に滑らかな結果が得られました。

しかし今度は、Arcに置き換えた基準線で柱を生成する際に、以前と比べて柱が極端にねじれてしまいました。


柱の軸線の生成ルールも見直す必要がありそうです。