2024-12-01から1ヶ月間の記事一覧
はじめに 良い手法を2つと定義に基づいたおまけ的な手法を紹介します。 最小二乗円 曲率円とはそもそも曲線に合う円の事なので、点列から最小二乗法を用いてフィットするような円を求めるのは自然です。 このアルゴリズムの良い点は、点列の数の増減が簡単で…
はじめに 2次元の点列 について考えます。 点列にそもそも正確な微分なんて定義でないので、あくまで近似であることをご理解ください。 点列はある程度等しい距離で隣り合っているとお考え下さい。 なお、点列の端点以外の点に関するものをについて考えてい…
はじめに 2次元の点列 について考えます。 点列にそもそも正確な微分なんて定義でないので、あくまで近似であることをご理解ください。 点列はある程度等しい距離で隣り合っているとお考え下さい。 なお、点列の端点以外の点に関するものをについて考えてい…
はじめに Graphics Gem1 の「AN ALGORITHM FOR AUTOMATICALLY FITTING DIGITIZED CURVES」(以下、元記事)を意訳していきます。 自分の意見は青色の太字で、書いていきます。 本記事でいうソースコードとは本アルゴリズムを実装した FitCurves.c ファイルの事…
はじめに Graphics Gems 1 にある AN ALGORITHM FOR AUTOMATICALLY FITTING DIGITIZED CURVES という アルゴリズムをC言語で書いた FitCurve.c とソースがあります。 それを2024年12月22日に JavaScript に移植したときのログのような記事です。 移植前を手…
やりたいこと 点列 が与えられたとき、それにフィットする3次ベジェ曲線を1つ見つけたいとします。 要は、3次ベジェ曲線の4つの制御点の位置ベクトル を求めればよいわけです。 問題を書き換えてみる 3次ベジェ曲線の位置ベクトルを とすると、 は以下のよう…
要件 制御点 からなる3次ベジェ曲線の名前を 、位置ベクトルを 、 制御点 からなる3次ベジェ曲線の名前を 、位置ベクトルを とします。 を更新し となるように曲線を接続することを考えます。 接続の種類 C0連続:位置ベクトルの0階微分連続 C1連続:位置ベク…
曲線の定義 曲線はパラメータ を用いて、曲線上の動点 の原点 に関する位置ベクトルで表すことができます。 点 における接線ベクトルは です。 曲線の長さ 曲線の長さを をとおくと、微小な曲線の長さ は、 を使ってと表せます。 式 を変形します。ここで、 …