· 

任意の2次曲線を標準形に5. 任意の2次曲線の媒介変数表示を求める。

 

任意の2次曲線の媒介変数表示を求めます。媒介変数を用いることで、色々な表現が可能になります。

 

今回は、曲線上の点を動かせるようにしました。Mathematica のファイルは Wolfram Player (無償)を用いてインタラクティブに操作できます。

 

行列 A, F および定数 c を変えることにより、任意の行列(放物線は未対応)について実行可能です。

 

概要☟

上 双曲線の場合

下 楕円 の場合。 手計算ですと、お手上げです。

ダウンロード
2次曲線 標準形へ変形5. 媒介変数導入.nb
テキスト文書 70.0 KB
ダウンロード
2次曲線 標準形へ変形5. 媒介変数導入楕円.nb
テキスト文書 69.4 KB

コメントをお書きください

コメント: 3
  • #1

    math (火曜日, 17 11月 2020 12:17)

    (* 媒介変数表示 拝見致しました*)
    (*    ↓の q=0 は 楕円の証明です.
    Normal[CoefficientArrays[q,{x,y},Symmetric->True][[3]]]
    は ●もっと 高次でも 有用 ● で 屡 愛用しております

          どうぞ お使いください*)

    q = -972 + 216*x + 63 *x^2 + 144 *y + 30*x*y + 19*y^2
    m = Normal[CoefficientArrays[q, {x, y}, Symmetric -> True][[3]]]
    % // MatrixForm
    Eigensystem[m]

    N[%, 9]
    %%[[2]]
    %[[1]].%[[2]] // Simplify
    0 == % // FullSimplify

    (*これで 楕円であることが 証明された ので 
          媒介変数表示は 実に容易で
    例えば {(3 (128 t^2+1996 t+5297))/(112 t^2+1268 t+4639),
        -((9 (32 \t^2+1060 t+5375))/(112 t^2+1268 t+4639))}
            と 瞬時に 叶う   *)
    para = ParametricPlot[{\!\(TraditionalForm\`{
    \*FractionBox[\(3\ \((128\
    \*SuperscriptBox[\(t\), \(2\)] + 1996\ t + 5297)\)\), \(112\
    \*SuperscriptBox[\(t\), \(2\)] + 1268\ t + 4639\)], \(-
    \*FractionBox[\(9\ \((32\
    \*SuperscriptBox[\(t\), \(2\)] + 1060\ t + 5375)\)\), \(112\
    \*SuperscriptBox[\(t\), \(2\)] + 1268\ t + 4639\)]\)}\)}, {t, -6 - 19,
    7 + 2}, PlotStyle -> {{Thickness[0.012], RGBColor[1, 0, 0]}}]
    X0 = 19;
    -972 + 216 x + 63 x^2 + 144 y + 30 x y + 19 y^2
    touisen =
    ContourPlot[%, {x, -X0, X0}, {y, -X0, X0}, AspectRatio -> Automatic,
    PlotRange -> All]
    -972 + 216 x + 63 x^2 + 144 y + 30 x y + 19 y^2
    daen = ContourPlot[% == 0, {x, -X0, X0}, {y, -X0, X0},
    AspectRatio -> Automatic, PlotRange -> All]
    Show[para, daen, PlotRange -> All]

    (*F[t]=((3 (128 t^2+1996 t+5297))/(112 t^2+1268 t+4639),-((9 (32 \
    t^2+1060 t+5375))/(112 t^2+1268 t+4639))) なる FのRの像を求め

      F(R)⊂C[楕円] であり 全射 = ではないことを 証明願います;*)

  • #2

    小林 (木曜日, 19 11月 2020 18:26)

    math 様
    CoefficientArrays 教えていただき、ありがとうございます。

    媒介変数は、どうやってだされたのか、不明ですが、lim の極限あたりが欠けていそうですね。

    ブログはもう少し、今の話題の深化+放物線の場合もカバー させたいです。

    2次曲線から抜け出せません。

  • #3

    math (土曜日, 21 11月 2020 23:00)

    (*>2次曲線から抜け出せません。
     
      非線型写像 F を ↓ に 定義する。
    F(x,y)=((16 x^3-27 x^2-2 x)/(-16 x^4+27 x^3+2 x^2+y),
             -(1/(-16 x^4+27 x^3+2 x^2+y)))
    二次曲線から 脱出する きっかけぐらいは つくってアゲル           [と 中森明菜 少女A]

    Fによる 2次の倍返しの4次曲線 C; -10+x^2+9 x^3-4 x^4+y==0 の像     F(C) を 多様な発想で 求め

    其の [2重点なる] 特異点 (x0,y0) を 求め
            {x0,y0}.{x,y}+1==0 が
          C の二重接線となることを 立証し、
          
        ↓の 異国の人々 の 解法達 と 比較し 
        ↑の手法を 愛し 今後常用してください!^(2020)
         
    https://mathematica.stackexchange.com/questions/110668/how-to-find-a-tangent-line-with-2-points-of-tangency-for-a-curve
    ----------------------------------------*)
    f1[x_] := 4 x^4 - 9 x^3 - x^2 + 10;
    expr = Series[f1[x], {x, a, 1}] // Normal;
    sols = DeleteDuplicates@SolveAlways[expr == (expr /. a -> b), x];
    Plot[{f1[x], expr /. #}, {x, -1, 2}] & /@ Thread[a -> (a /. sols)]



    tangent[a_, x_] := f1[a] + f1'[a] (x - a)
    slope[a_] = Coefficient[tangent[a, x], x]
    intercept[a_] = Coefficient[tangent[a, x], x, 0]
    (*Then we want to find two distinct points a
    a
    and b
    b
    which have the same tangent line:*)sln =
    Simplify@Solve[{slope[a] == slope[b], intercept[a] == intercept[b],
    b > a}, {a, b}]
    {{a -> 1/16 (9 - 5 Sqrt[11]), b -> 1/16 (9 + 5 Sqrt[11])}}
    (*There is one solution.*)
    pl = Plot[{f1[x], tangent[a, x] /. sln}, {x, -1, 2}]

        (*etc*)