軸線に対して、とりあえず一様に断面を与えるのではなく、カーブの曲率によって断面を変化させる必要がありそうです。下の図の場合、柱の上部では断面を大きくしないと、隙間ができてしまします。
![](https://zki-design.com/wp-content/uploads/2022/12/image-14.png)
このとき、改めて描画したカーブの曲率を見てみると、あまりきれいなものとは言えませんでした。
![](https://zki-design.com/wp-content/uploads/2022/12/image-7.png)
曲率の確認にはCurvature Graphを使っています。
![](https://zki-design.com/wp-content/uploads/2022/12/image-13.png)
手作業でトレースしただけのカーブを、数学的な形状に置き換えることを考えました。
カーブの形状がArcに似ているので、Arcで近似してみることにしました。
会社の先輩が作成したPythonスクリプトを使ってみました。
![](https://zki-design.com/wp-content/uploads/2022/12/image-18.png)
もとのカーブと比較して、誤差が気にならない程度でArcに置き換える事ができました。
![](https://zki-design.com/wp-content/uploads/2022/12/image-8.png)
![](https://zki-design.com/wp-content/uploads/2022/12/image-9.png)
曲率はきれいになりました。しかし、分割数が多いように見えます。
![](https://zki-design.com/wp-content/uploads/2022/12/image-12.png)
このスクリプトはカーブを等分割してArcに置き換える手法であるため、意図したArcにはなりませんでした。
できれば3つの大きなArcと細かいArcが生成できればいいなと思いました。
![](https://zki-design.com/wp-content/uploads/2022/12/image-19.png)
次に、別の先輩が共著で参加している「建築実務のプロが作ったRhinoとGrasshopperの本」の477ページ目に記載されている「曲線を円弧の組み合わせに置き換える」を試してみました。
カーブの分割位置と分割数をGalapagosの最適化によって導き出すというものです。評価方法などを少し改造しながら試してみたところ、下の図のように収束しました。
![](https://zki-design.com/wp-content/uploads/2022/12/image-10.png)
意図した分割にかなり近づきましたが、一方で曲率の変化が極端な場所もあります。
![](https://zki-design.com/wp-content/uploads/2022/12/image-20.png)
この辺りから、初めから自分でカーブの分割位置を指定して、Arcにしてみた方が早いのではないかと考え始めました。
![](https://zki-design.com/wp-content/uploads/2022/12/image-16.png)
当然ですが、意図したArcになりました。よくあることですが、楽をしようとしてだいぶ遠回りをしてしまったようです。
![](https://zki-design.com/wp-content/uploads/2022/12/image-11.png)
Arcを結合して、再度曲率を確認しました。非常に滑らかな結果が得られました。
![](https://zki-design.com/wp-content/uploads/2022/12/image-21.png)
しかし今度は、Arcに置き換えた基準線で柱を生成する際に、以前と比べて柱が極端にねじれてしまいました。
![](https://zki-design.com/wp-content/uploads/2022/12/image-17.png)
![](https://zki-design.com/wp-content/uploads/2022/12/image-15.png)
柱の軸線の生成ルールも見直す必要がありそうです。