形状測定(点群)のCAD図面化

このQ&Aのポイント
  • 図面の無い治具の断面形状を測定データからCAD図面化
  • 自作プログラムで直線・円弧の組み合わせCAD図面を作成
  • 円弧と直線の繫ぎ目に問題あり、最小自乗法で中心点・径を求める方法を探す
回答を見る
  • 締切済み

形状測定(点群)のCAD図面化

図面の無い治具の断面形状を図面化しています。 2次元形状の測定データより、直線・円弧の組み合わせCAD図面を作成するプログラムを自作しています。 直線・円弧の作成は、参考書などを元に、最小自乗法を利用しできたのですが、円弧と直線の繫ぎ目に段差ができてしまい、困っています。 円弧の点群(x,y)から、最小自乗法で中心点・径を求める際、設定した直線(y=ax+b)に接する円を求める方法は無いでしょうか? 近傍の直線 y = c*x + d            -? に接する 円の方程式 x^2 + y^2 + a*x + b*y + c = 0    -? を 近辺にある点群(x,y)より求めたい。 円の方程式を求めるだけなら、 ?式の2乗をa,b,cについて偏微分して求めることができる(最小自乗法)

noname#230358
noname#230358
  • 2D
  • 回答数2
  • ありがとう数2

みんなの回答

noname#230359
noname#230359
回答No.2

私も似たような事にチャレンジしたことがありますが、うまくいきませんでした。 1つ質問です。 x^2 + y^2 + a*x + b*y + c = 0  この式でcがある程度大きい数の場合直線とみなしているのでしょうか? 私はそうしていました。   最小二乗法の式に以下の2つの条件を付け加えてよいところを探すというやり方でした。 ?つなぎの点の曲線(直線)1の座標(x1、y1)と曲線2(x2、y2)が等しい。 ?つなぎの点の微分値が等しい   (スムーズにつながるということは傾きが等しいということ。) 上記??の条件に合致し、最小二乗法の回答からあまり遠くない所を探すのがよいと考えていました。 また、これらの条件から式を導き出し最小二乗法を応用しようと考えていたのですが、途中で投げ出してしまいました。 もしうまくいったら教えてください。

noname#230358
質問者

お礼

解答ありがとうございます。 x^2 + y^2 + a*x + b*y + c = 0 のCの値より、半径R=√((a + b - 4c) / 4)が求まりますので、通常の半径設定値より明らかに大きい場合は、直線とみなしております。

noname#230359
noname#230359
回答No.1

こんにちは 私の理解が間違っていたらごめんなさい。 要はあるプロットした点群がありそれが直線であり円弧である。その計算方法として近似値である最小自乗法で計算して、結果として線がずれるということですよね。これは確かなことはいえませんが、直線か円弧のどちらかを正とするしかないのではありませんか?製品の精度としてどちらを優先すべきか考えるほかないと思います。素人としての案としては、まず直線と円弧を最小自乗法でそれぞれ式をたてます。そして円弧を優先として求めた直線の一番離れたポイントより接線の方程式を出しなおします。こうすることによって図形的にはスムーズにできるように思いますが・・・。 円弧が正ということであれば、最小自乗法で求めた中心点を(A、B)とすると (x-A)^2+(y-B)^2={(laA-B+bl)/√(a^2+1)}^2(点と直線の距離の公式) で答えがでると思いますが・・・。 直線と円弧を間違えました。

noname#230358
質問者

お礼

解答ありがとうございます。 確かに、円弧を正として直線をあわせる方法は、簡単なのですが、 今回の場合、点群の数で考えると直線のほうが遥かに多いため、直線を正として円弧のほうを最適化したいと考えております。 追記ありがとうございます。 確かに、半径で補正するのも1つだと思いますが、半径が変化することで、中心の最適値も変わるような気がするのですが・・・

関連するQ&A

  • 3次元の近似直線

    こんにちは。2次元で実験データなどの点列から近似直線を求めるのは、最小二乗法の基本問題ですが、3次元の点群から直線の方程式(x-x0)/a=(y-y0)/b=(z-z0)/cを求めるにはどんなアルゴリズムを使いますか?スマートな方法があれば教えていただけたら幸いです。よろしくお願いします。

  • 点と直線 大急ぎです。

    3直線7x+y-5=0…(1) x+4y+7=0…(2) 2x-y+5=0…(3) に対して(1)と(2)の交点をA,(2)と(3)の交点をB,(3)と(1)の交点をCとる。 次の問に答えよ。 1問目)Aを通り、△ABCの面積を2等分する直線の方程式を求めよ。 1問目は解けました。 A(1,ー2)B(3,1)C(0,5) 答えは5y+8x+2=0 2問目)直線(3)上の点D(一2分の5,0)を通り、△ABCの面積を2等分する直線の方程式を求めよ。 3問目)Aを通り,BとCから等しい距離にある直線の方程式を求めよ。 2問目と3問目を教えて下さい。 明日までなんです。 お願い致します!!

  • 高校二年 数学 点と直線 河合過去問2009より

    数学高2 点と直線より 二点(2.7)(8.3)を通る直線をLとする 方程式x^2+y^2-2kx-4y+9=0の円Cがあり円Cの中心は第一象限 1..Lの方程式 2..kの値とAの座標 3..Lに関して円Cの中心に対象な座標 4..B(7.0)とする点PがL上を点QがC上をそれぞれ自由に動くとき 長さの和BP+PQの最小値を求めよ 長くなりましたが解法を教えてくださるとうれしいです

  • 3次元での点群に対する最小二乗法での平面の算出について(点と平面の距離

    3次元での点群に対する最小二乗法での平面の算出について(点と平面の距離。残差ではない。) -- 点と平面のZ軸方向の距離(残差)の二乗和を最小とする場合には、 平面をax+by+c=zとして、Σ(ax+by+c-z)^2をa,b,cのそれぞれで偏微分して それを=0とした連立方程式を解くことで解を得ることが出来ました。 また、式の形も、ある点のxとyを平面の式へ代入した際の値と、点のz値の差分を見ており、 簡単に納得のできるものとなりました。 これに対して、点と平面の距離(空間的な最小距離)の二乗和を最小とする場合には、 どのような流れで計算すれば良いのでしょうか? 点と平面の距離は|Ax+By+Cz+D| (A,B,Cは単位ベクトル)として求まりますが、 これをどう使うのかが分かりません。 Σ(Ax+By+Cz+D)^2をA,B,C,Dのそれぞれで偏微分して=0としても、 定数項が無いため、連立方程式の解がすべてゼロとなってしまいます。 強引に、Σ(A'x+B'y+C'z+1)^2として変形させて解いてみましたが、 得られたA',B',C'からA,B,C,Dに戻すと、Dがきちんと出ませんでした。(他についても怪しい。) こういった状況に迷い込んでしまい、どう考えるのが良いのか分からなくなってしまいました。 指南いただけませんでしょうか?

  • y=x^2上の2点を通る直線の方程式

    はじめまして。 y=x^2の2点を通る直線の方程式を求めるときに、 y=x^2上の異なる2点のx座標ををそれぞれa,bと置くと、この直線の方程式が y=(a+b)x-ab と置けるのは何故なのでしょうか? どなたか教えてください(´;ω;`)

  • 最小二乗法

    n組のデータ (xi, yi) を,特定点(X0, Y0) を通る直線 y = ax+b でフィッティングしたい。最小二乗法で係数a,bを求めるため の式を導きなさい。 という問題で 各データの残差を二乗した和が最小になるときのa,bを求めるのですが 特定点(X0,Y0)を通るにはどうすればよいでしょうか? ただ単に、特定点を通らずフィッティングするやりかたはわかるのですが・・・。 よろしくお願いします。

  • 3点円弧の中心座標の求め方

    いつも、お世話になります。 チョット、ジャンルは違うんですが、どこに聞けばよいか分からなくて、 3点を、通る円弧の中心座標と、半径の求め方 点X、Y,Zを通る円弧の中心点をC、半径をrとするとき (Xx-Cx)^2 + (Xy-Cy)^2 = r^2 (Yx-Cx)^2 + (Yy-Cy)^2 = r^2 (Zx-Cx)^2 + (Zy-Cy)^2 = r^2 ^2は2乗 のような関係式が成り立ちそうなんですが ここから Cx= Cy= の式に要約できずに悩んでおります。 どなたか、上記に限らず、3点円弧の中心座標の求め方をご教授ください。 CADで書けば、すぐわかるんですが、そうじゃなくて計算で求める方法 みなさま、ご回答いただきありがとうございました。 結果報告させていただきます。 質問には書いていませんでしたが、コンピュータでの計算を前提としておりましたので 数学的な解にはなりませんでした。 2番、4番のご回答を参考にさせていただきました。 3点を(a,b)(c,d)(e,f)、(a,b)(c,d)を直線1、(c,d)(e,f)を直線2 各中点を(p1x,p1y)(p2x,p2y)として 直線1に直行する直線3の傾き f1=(c-a)/(b-d) 直線2に直行する直線4の傾き f2=(e-c)/(d-f) 中点1は p1x=(a+c)/2  p1y=(b+d)/2 中点2は p2x=(c+e)/2  p2y=(d+f)/2 直線3をy=f1x+A1で表した時の A1=p1y-f1p1x 直線4は A2=p2y-f2p2x 交点は y=f1x+A1 y=f2x+A2 なので f1x-f2x+A1-A2=0 x=(A2-A1)/(f1-f2) それぞれを、変数として計算すると解決できました。 ご指導ありがとうございました。

  • 二点の座標から直線の方程式を求める方法

    こんばんは、タイトルの通りなのですが、二点の座標から直線の方程式を求める方法がイマイチ理解できず困っています。 ax+b=yを変形して求めたほうが楽だとは思うのですが、プログラムに組み込むために座標から直接、直線の方程式を求めたいのです。 2つの点の座標から 直接ax+by+c=0を作りたいのですが、a,b,cを求める式は以下の式で合っているでしょうか・・・? a = (y0-y1) b = -(x0-x1) c = -{(y0-y1)*x1 + (x0-x1)*y1)}

  • 直線群の包絡線・・どうして違うんですか?

    直線群 x+2αy-2α^3 = 0 の包絡線の方程式を求めたいのです。 直線群をf(x,y,α)とおいて、fαを求めα=を求めました。 その後それを代入して求めたのですが・・・。 α=±3y/√3となりました。 しかし答えは16y^3=27x^2でした。 やり方が違うのならば、どうしてこのやり方が違うのでしょうか?それとも計算間違い? 何度やっても答えが出ないんですが、ヒントなどいただけませんか?

  • CADによる面取り結果(形状)の違いについて

    どなたか解る方がいらっしゃいましたら教えてください。 CADの面取りコマンドについてなのですが、例えば図面指示でC5であれば[距離1=5,距離2=5]などとパラメーター入力すれば、どのCADでも平坦面同士(直線同士)の面取りについては同じ結果が得られますが(交点からそれぞれ5mmの点を結んだ線による面取り)、鍵穴形状のような曲面と平坦面(円弧と直線)に面取りコマンドを適用した場合、CADによって面取り量、角度に違いが出てしまいます。 各社、面取り定義は違うものなのでしょうか? また面取り定義に関する規格は存在するのでしょうか? よろしくお願いいたします。