• 締切済み

楕円のプログラム(一般→標準形)について

こんばんわ、質問させて頂きます。 この掲示板の「楕円のプログラム」を参照して楕円のプログラムを組みました。(EXCELを用いて近いうちにCで組む予定です。) ある計測点12点より 楕円の一般方程式に当てはめ、 Ax^2+By^2+Cx+Dy+E=1 として各値A,B,C,D,Eを転置、逆行列、積を用いて解きました。 そして、この値は A=1/a^2=-3.16665e-7 B=1/b^2=1.4901e-8 C=-2c/a^2=0 D=-2d/b^2=-2.32831e-10 E=c^2/a^2+d^2/b^2=1 となりました。ここで、小文字a,b,c,d,eは楕円の方程式の標準形 (x-c)^2/a^2+(y-d)^2/b^2=1 となりますが、 Aの値は負となります。つまりa^2は虚数解を持ちます。 これはどういう意味を持っているのでしょうか? ご教授よろしくお願いします。 用いた計測座標(x,y) 0.004343      0.013968823 0.00314534 0.01454172 0.005537      0.016603472 0.00640595 0.019503824 0.00554108 0.022148798 0.00296192 0.024042826 0.000376075 0.024724047 -0.002755  0.024067637 -0.0051356 0.022425276 -0.0061896 0.019473675 -0.0051498 0.016384854 -0.0028986 0.014560819

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

なんか, 「きちんと計算できているとは思えない」結果なんですけど.... とりあえず, 全ての数値を 1000倍くらいして計算し直してみるとか....

dai92_1981
質問者

補足

返信ありがとうございます。 値をすべて1000倍にすると A=4.76e-13 B=-2.13e-14 C=-3.55e-15 D=2.27374e-13 E=1 となりました。 計算内容の方は 「測定点の楕円近似」の質問欄にある式をそのまま使いました。 p[1]=x^2,p[2]=y^2,p[3]=x,p[4]=y,p[5]=1, q[1]=A,q[2]=B,q[3]=C,q[4]=D,q[5]=E, r=1 ここで、 =mmult(minverse(mmult(transpose(P),P),mmult(transpose(P),r)) としました。上記の計算内容が違うのでしょうか?

関連するQ&A

  • 楕円を90°回転させた式?

    楕円x^2/a^2+y^2/b^2=1(a>b>0)・・・(1),c=√(a^2-b^2)とすれば この図形を90°回転させたときの楕円の式は、 楕円上の点(X,Y)は(-Y,X)にうつるので(1)で xを-y,yをxに置き換えると y^2/a^2+x^2/b^2=1で焦点は(0,-c),(0,c)、a>b>0でいいんでしょうか?

  • 楕円の問題

    楕円(x/a)^2+(y/b)^2=1がある。(a>b>0) 点Aを(a,0)とする。 このとき原点をO、楕円上の点をPとすると、角OPA<90°となるa,bの関係を求めよ。 という問題がありました。 僕はまず、角OPAが90°になる奇跡を考えて、当然円になります。 Pがこの円の外側にあれば条件を満たせます。 この円は中心(a/2,0)、半径a/2であるので方程式は、 (x-a/2)^2+y^2=a^2/4 これと楕円とは(a,0)でだけ接すればよいので、楕円の方程式を変形してy^2=の形にして、円の方程式に代入して判別式を使ったら、a=√2×bと出てきました。 しかし答えはa≦√2×bでした。 ぼくの解答のどこがまずいのでしょうか? 添削お願いします。

  • 楕円

    楕円{(x^2)/(a^2)}+{(y^2)/(b^2)}=1(但しa>0,b>0)の接線がx軸、y軸と交わる点をそれぞれP,Qとするとき、線分PQの長さの最小値を求る問題で {(x^2)/(a^2)}+{(y^2)/(b^2)}=1から 楕円の公式より a>bのとき横長楕円で 原点(0,0) 長軸の長さ2a 縦軸の長さ2b 焦点F1(c,0)  F2(-c,0) 直線上の点をPとおくとPF1+PF2=2aを利用すると思うのですがよく分かりません 参考書の解説を載せておきます 接点の座標(x0,y0)とする。 図形の対象性および接線が両軸と交わることからx0>0かつy0>0 {(x0x)/(a^2)}+{(y0y)/(b^2)}=1 (PQ)^2=【{(a^4)/(x0^2)}+{(b^4)/(y0^2)}】*【{(x0)^2/(a^2)}+{(y0)^2/(b^2)}】≧【{(a^2)/(x0)}*{(x0)/(a)}*{(b^2)/(y0)}*{(y0)/(b)}】^2 =(a+b)^2 等号は {(a^2)/(x0)}:{(b^2)/(y0)}=(x0/a):y0/b) より (x0,y0)=【{√a^3/a+b)},{√b^3/a+b)}】のとき成立 求める最小値はa+b と書いてあるのですがよく分かりません。 誰か教えてくれませんか?

  • 楕円の絵画プログラムについて

    中心(Xg、Yg)がわかっていて楕円を通る2点(x1,y1),(x2,y2)がわかっているとします。長軸の長さはaとし、短軸はわかりません。 この条件で楕円を描くプログラムを作りたいのですがどうすればよいのでしょうか。 イメージ的には長方形の4角を通る楕円を描きたいです。

  • 楕円内の三角形の面積

    楕円2x^2+y^2=4上の点A(1,√2)をとる。直線l:y=ax+bは点Aにおける楕円の接線と平行で,楕円と相異なる2点で交わるものとする。次の問いに答えよ。 (1) 傾きaの値を求めよ。 (2) 直線lが楕円と相異なる2点で交わるようなbの範囲を求めよ。 (3) 楕円と直線lとの2交点をB、Cとする。bが(2)で求めた範囲を動くとき、△ABCの面積が最大となるbを求めよ。 (1)は-√2、と(2)は-2√2<b<2√2と問題なく解けました。(3)ですが、点B、Cの座標をbで表しB、C間の距離を求め、点Aと直線lの距離を出して面積をbで表せたのですが、その後の計算で√が出てきて困ってしまいました。そこの計算の仕方、あるいは別の面積の出し方などありましたら教えてください。

  • 描画プログラムで、2楕円に接する円を描く

    VBで円を描くプログラムを作っています。 2つの楕円に接し、片方の楕円円周上にある 1点を通過する円を描きたいです。 正確には、もう一方(通過点のない側)の円周上にある 2接円が通過する点を求めたいです。 楕円はxy座標に対して平行ではなく、さまざまに傾いています。 楕円A(接円の通過点がある) 楕円中心(Ax,Ay) 楕円長径Aa 楕円短径Ab 楕円長径ベクトルAaD(x,y) 楕円短径ベクトルAbD(x,y) 焦点As1(x,y)、As2(x,y) 通過点T1(x,y) 通過点を通る楕円Aの接線T1L 通過点を通る楕円AのベクトルT1LD(x,y) も出ています。 楕円B(接円の通過点がない) 楕円中心(Bx,By) 楕円長径Ba 楕円短径Bb 楕円長径ベクトルBaD(x,y) 楕円短径ベクトルBbD(x,y) 焦点Bs1(x,y)、Bs2(x,y) 楕円はいずれも、中心から長径方向のベクトルに進んだ点を始点に描画されています。 ちなみにこの2楕円+片方の楕円円周上通過点の2接円を考える前に 真円AB2つと、片方の円周上通過点Tの2接円も考えました。 円AおよびB 中心(x,y) 半径Ar、Br 円A上の通過点T(x,y) 通過点を通る円Aの接線T1L 通過点を通る円AのベクトルT1LD(x,y) 円A、Bはどちらも、中心からX軸方法に半径分の距離をとった座標 を始点に描画されています。 この場合は、 (1)真円A上にある通過点から円接線を引く。 (2)接線T1Lから、真円A中心方向に法線T1Nを引く。長さは円Bの半径 (3)2の法線の終点座標T1Ned(x,y)と円Bの中心をつなぐ線T1NBを取る (4)T1NedのX軸正方向水平線から、T1NとT1NBの角度を調べる (5)円B上に始点からT1NB-T1Nの角度をとった円周上点T2を取る。ここが2接円の通過点。 という感じでできました。(5)の計算が、手元に資料がないので曖昧なんですが。 真円2接の応用で楕円2接もトライしたのですがどうもできません。 よろしくお願いします!

  • 楕円面上の法線ベクトル

    楕円面 F(x,y,z) = x^2/a^2 + y^2/b^2 + z^2/c^2 -1 = 0 (a)楕円面上の点 P0 = (x0,y0,z0) における法線方向を指すベクトルを求めよ。 (b)P0における法線上の任意の点を P = (x,y,z) とすると、線分P0Pは(a)で求めたベクトルと平行である。このことを用いて、楕円面のP0を通る法線の方程式を求めよ。 (c)P0における接平面上の任意の点を P = (x,y,z) とすると、線分P0Pは(a)で求めたベクトルと垂直である。このことを用いて、楕円面のP0を通る法接平面の方程式を求めよ。 自分なりに考えた解答があっているかを教えていただきたいです----- (a)原点 O = (0,0,0) から楕円面上の点 P0 = (x0,y0,z0) に伸ばしたベクトルは、当然 点P0の接平面 に垂直なので 法線ベクトル →P0 = (x0,y0,z0) (b) →P0P = (x,y,z) - (x0,y0,z0) = (x-x0,y-y0,z-z0) これに平行なので (x-x0)/x0 = (y-y0)/y0 = (z-z0)/z0 (c) →P0P = (x,y,z) - (x0,y0,z0) = (x-x0,y-y0,z-z0) これに垂直なので内積がゼロ、よって x0(x-x0)+y0(y-y0)+z0(z-z0) = 0 ----- 特に(b)はあっていますか? よろしくおねがいします。

  • 2つの楕円の交点の求め方が分かりません。

    x軸方向に長径がa、y軸方向に短径がbの楕円を描きます。・・・・(1) この楕円を、x軸方向にcだけ(ただし、0<c<aとする。)、y軸方向にbだけ平行複写した楕円を描きます。・・・・(2) (1)と(2)の交点P1、P2を求めたいです。 それぞれの楕円は次の式で表されると思います。 x*x/a/a + y*y/b/b=1 ・・・・(1) (x-c)*(x-c)/a/a + (y-b)*(y-b)/b/b=1 ・・・・(2) 両式にa*a*b*bを掛け、差を取ると次のようになります。 b*c*(-2*x+c)+a*a*(-2*y+b)=0 これをxについて解くと x=a*a*(-2*y+b*(1+c^2))/2b/c・・・・(3) となります。 (3)を(1)に代入して整理すると 4*(a*a+c*c)*y*y -4*a*a*b*(1+c*c)*y +b*b*(a*a*(1+c*c)*(1+c*c)-4*c*c)=0・・・・(4) ---------- ================ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ となります。 (4)のうち、---部をA、===部をB、^^^部をC とすると、解の公式より y=(-B±√(B*B-4*A*C)/2/A で解けると思いました。 ためしにa=50, b=30, c=10として計算してみたところ、 √の中が マイナスとなってしまいます。 つまり、解なし、ということらしいです。 どうやったら交点が求まるのでしょうか。 教えてください。よろしくお願いします。

  • 計算式の誤差(楕円マクロ)

    最近楕円のマクロ(ファナック)を作成してみました。内容は楕円公式にのっとって作ったもので、a>b>0、ピッチをx=0.1としa=20b=15の楕円で中心x0y0からy頂点(b)までG01で進み設定した角度j(x-z平面角度)の角度でx頂点(a)まで進み、yマイナス頂点→xマイナス頂点→y頂点といった具合に楕円上に一周まわるといった内容です。何とか動作できたのですが次にこれを 工具半径=Dを考慮したマクロを作成しようとしているのですがこの場合 工具中心をX,Y楕円と工具の交点Xp,Ypとの角度を微分して求め任意の点で角度を求めるマクロを作りたいと思ったのですが、この場合工具半径D=1としたらa=20b=15の場合実際の工具中心はa=19b=14の楕円を描いていくということですよね?なので、微分して求めた傾きを工具半径D=1にSIN,COSで補正量を計算し求めた値Xを楕円公式にあてはめYの値を計算したところ0.02ほどの誤差(a=19,b=14の楕円と比較して)が生じました!このくらいの誤差はでるものなのでしょうか?それとも僕の計算間違いでしょうか?どなたか教えていただければ幸いです。

  • 楕円

    a>0,0<e<1を定数とする。直線l:x=a/e, F(ae,0), 点Pから直線lに下ろした垂線の足をHとするとき、PF/PH=eを満たす点Pの軌跡を b=a√(1-e^2)を使って求めよ。 参考書によると、答え:x^2/a^2+y^2/b^2=1(楕円になる) 全くわかりません。詳しい解説お願いします。

専門家に質問してみよう