プロが教える店舗&オフィスのセキュリティ対策術

現在プログラムを作成しているのですが、とあるグラフを表示して
欲しいと言われ困っています。

ニーズは 任意の座標(x,y)と座標(x3,y3)を放物線で記すこと。
ただし、この放物線はxからx3の間隔の8:2の場所に頂点(x2,y2)が
あること。 です。

すなわち・・・
(x,y)が(0,50)で(x3,y3)が(100,25)なら 頂点(x2,y2)は(80,?)に
あるグラフです。

そもそも、こんなグラフを式でかけるんでしょうか?
かけるとしたらどんな式で書けばいいのか教えてください。

条件としては
必ず x<=x3 , y>=y3 , xとx3の間隔は最低100です。

いろいろ参考書とか見てみたのですが、ギブアップです。
お助けください。

A 回答 (9件)

>(x,y)が(0,50)で(x3,y3)が(100,25)なら 頂点(x2,y2)は(80,?)にあるグラフです。

......

頂点とは、放物線とその対称軸との交点だとしましょう。
また、放物線の回転を許容します。

試している暇が無いので、筋書きだけ。

(1) (0,50) と (100,25) を結ぶ線分に、その中点で直交する直線 Lc を引く。
(2) 直線 Lc と直線 x=80 の交点を求める。そこを放物線の頂点 Pc とする。(交点が存在しないことあり)
(3) (0,50), (100,25), Pc を通る放物線が所望の放物線。

あとはフォローして。
    • good
    • 0

#6 = #8 です。


書き忘れを追加。

グラフの形は、2価関数(一つの x に y の値が二つ)なのですね。
    • good
    • 0

#6 です。



>(1) (0,50) と (100,25) を結ぶ線分に、その中点で直交する直線 Lc を引く。
>(2) 直線 Lc と直線 x=80 の交点を求める。そこを放物線の頂点 Pc とする。(交点が存在しないことあり)
>(3) (0,50), (100,25), Pc を通る放物線が所望の放物線。

(1) で対称軸の傾斜が、また (2) で頂点がわかりますね。
(4) さらに、(0,50) と (100,25) を結ぶ線分の長さと、その線分中点と頂点の距離を求めておきます。

回転と平行移動ができるソフトを使えば、グラフ描画できます。
もとのグラフは、y = ax^2 です。a は (4) の結果から出ます。
回転量は対称軸の傾斜、移動量は頂点の座標を使います。

数式になおすのは、そりあとじっくり考えて。
    • good
    • 0

座標(x1,y1)と座標(x3,y3)をとおる直線


y=(y3-y1)/(x3-x1)(x-x1)+y1
座標(x1,0)と座標(x3,0)をとおる放物線
y=a(x-x1)(x-x3)
座標(x1,y1)と座標(x3,y3)をとおる放物線
y=a(x-x1)(x-x3)+(y3-y1)/(x3-x1)(x-x1)+y1
軸の位置は、
x=(x3+x1)/2-1/2a×(y3-y1)/((x3-x1)
これがx2になればいいから、aは
a=(y3-y1)/(x3-x1)/(x3-2x2+x1))

けっきょく
y={(y3-y1)/(x3-x1)/(x3-2x2+x1))}(x-x1)(x-x3)
+(y3-y1)/(x3-x1)(x-x1)+y1
となる。

(0,50)で(x3,y3)が(100,25)なら 頂点(x2,y2)は(80,?)
すなわち、
x1=0,x2=80,x3=100 y1=50,y3=25なら、
a=1/240
y=1/240(x-x1)(x-x3)+(y3-y1)/(x3-x1)(x-x1)+y1
y=x^2/240-2x/3+50
    • good
    • 0

>そもそも、こんなグラフを式でかけるんでしょうか?



y≠y3なら書けますが同じなら頂点座標は(x+x3)/2に来るので無理でしょう。
(放物線を回転させれば別ですが)
同じ理由でx≠x3です。

>xからx3の間隔の8:2の場所に頂点(x2,y2)がある

具体的にx,x3が与えられたらx2=0.2x+0.8x3で求まります。
頂点x座標が例えば80である放物線は

y=a(x-80)^2+b

>(x,y)が(0,50)で(x3,y3)が(100,25)

この値をそれぞれx,yに代入して連立方程式として解けばa,bが求まります。
    • good
    • 0
この回答へのお礼

放物線を回転させると言う発想はありませんでした。

>y≠y3なら書けますが同じなら頂点座標は(x+x3)/2に来るので無理でしょう。
このことを伝えたところ、少し考え方が変わりそうです。
ありがとうございました。

お礼日時:2008/01/29 23:20

何回間違えれば済むんだか・・・(笑)



(100、400)ですね。

本当すいません。。。
    • good
    • 0

すいません、No2訂正です。



(X3、Y3)は(0,400)ではなく(10、400)です。
    • good
    • 0

普通に2次関数のグラフでいけると思いますが・・・。



1番単純な例でいくと「Y=x2乗-160x+1400」
ですかね。

頂点は(80、0)で(x1、y1)が(0、6400)、(X3、Y3)が(0、400)
です。

これなら条件全部クリアだと思いますが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
頂点の考え方がよく分からず・・・
皆さんのご意見を参考にしてがんばってみます。

お礼日時:2008/01/28 23:56

まずは (x1, y1), (x2, y2) ( (x, y) だと見辛いので勝手に変更 ) を通る放物線の方程式を考えて下さい。


頂点の条件はその後ゆっくり考えればよいでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
方程式ほかの方の意見も参考に考えてみます。

お礼日時:2008/01/28 23:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!