私は助けが必要です。 Graphics[]
コマンドで使用する多くの変数がありますが、これは1つの変数(私の例ではH)に依存しています。私はグラフィックを操作して、Hグラフィックの値をそれに応じて変化させるようにしたい。しかし、私が思ったほど簡単ではありません。mathematicaで出力を調整する
これをacomplishする方法上の任意のアイデアを持っている場合は、私は感謝されます。
これは私の解決策の1つですが、実際には面倒です。私がやったのは、それらの値を手動で差し込んだだけです。それは常にサイズです変更することなく、私のグラフィックを作る方法を
R = 10;
n = 1.5;
Manipulate[
Graphics[{(*Incident ray*)
Line[{{-2, H}, {H/Tan[ArcSin[H/10]], H}}],(*Prism*)
Circle[{0, 0}, R, {0, Pi/2}],
Line[{{0, 0}, {0, 10}}],(*Refracted ray*)
Line[{{H/Tan[ArcSin[H/10]],
H}, {H/Tan[ArcSin[H/10]] +
H/Tan[ArcSin[n Sin[ArcSin[H/10]]] - ArcSin[H/10]],
0}}],(*Surface*)
Line[{{0,
0}, {H/Tan[ArcSin[H/10]] +
H/Tan[ArcSin[n Sin[ArcSin[H/10]]] - ArcSin[H/10]] + 10,
0}}]}], {H, 0.0001, 10, Appearance -> "Labeled"}]
もこれをacomplishする任意のより適切な方法はあります。私はプリズムがその位置を変えるために固定サイズと入射光線を持つことを望んでいます(上記の私の例でHが> 6.66になると起こります)。
質問は多分混乱されていますが、Mathematicaでそれをしようとした場合、あなたは私が欲しいものを見るでしょう。ご意見ありがとうございます。
ところで、あなたのコードからいくつかの固定された行を削除しました - それを元に戻すのは簡単です。 –
私は細かく見ていませんが、小さなバグがあるようです。 「長さ」スライダは「10/n」で停止しません。あなたがそれを過ぎると、それは0.0001に戻されます。同様に、「屈折」スライダを長めにして> 10/nとすると、長さは0に戻りますが、スライダは自由に動くことができます。私はそれの物理学とそれがなぜ起こるか知っていますが、自由にリセット/移動するのではなく、スライダが停止した方が良いかもしれません。いずれにしても、Stack Overflowへようこそ。提案にコミットしてくれてありがとう。 – abcd
これを指摘してくれてありがとう、Yoda、そして暖かい歓迎のおかげです。私はコードを少し調整しました。 –