2019-12-26

Jupyter notebook でサイクロイド曲線をいじってみる

info
  • この記事はもともと 「Jupyter notebookの記事を投稿してみた」というタイトルで投稿していましたが、 需要がなさそうなのでタイトルを変えました。

ちなみにこのブログは Nikola という静的サイトジェネレータで作成しましたが、NextJSに引っ越しました。 NextJSでJupyterを表示するいいライブラリがなかったので自作しました。 https://github.com/righ/react-ipynb-renderer

というわけで、この記事はそのライブラリを使って表示してみたというデモ的なものです。

図形描画

描画ライブラリは色々ありますが、割と一般的な matplotlib を使います。

面積と体積

SymPy を使って、(上記で描画した図形の)面積と体積を求めます。

ニュートン法

最後に先程の塗りつぶした部分(一番最初の図形)の面積の近似値を求めます。

info
  • 近似解を求めるためにニュートン法というものを使います。
  • 簡単に言うと 接線の X切片が解に近づいていく性質を利用するということだそうです。

汎用的なコードが見つからなかったので自作しました。

pandas も使いたいので DataFrame を使って値の遷移を表してみます。

なんとか求めることができました。

参考

http://cranethree.hatenablog.com/entry/2015/07/25/204608 http://examist.jp/mathematics/sum-volume-length2/cycloid-svl/ https://qiita.com/PlanetMeron/items/09d7eb204868e1a49f49