新しく発言する EXIT インデックスへ
原始関数

  原始関数 kotetsu 2006/01/23 10:51:46 
  線分の長さを揃えているのでしょう。 白石 和夫 2006/01/23 12:09:50 
   └この直角三角形の斜辺がS=SQR(1+K*K)です。... 山中和義 2006/01/23 13:21:56 
    └訂正 山中和義 2006/01/23 14:02:12 
     └納得できました。ありがとうございます。 kotetsu 2006/01/24 22:13:59 

  原始関数 kotetsu 2006/01/23 10:51:46  ツリーへ

原始関数 返事を書く
kotetsu 2006/01/23 10:51:46
「パソコンを遊ぶ簡単プログラミング」(講談社ブルーバックス)に、ある関数の値を線分の傾きで表すプログラムが出ていたのですが、一部分からない部分があります。以下はそのサンプルプログラムです。

REM *** 2*X-3*X^2 を流れ図で表す
DEF F(X)=2*X-3*X^2
SET WINDOW -3,3,-3,5
DRAW GRID
FOR X=-3 TO 3 STEP 0.2
FOR Y=-3 TO 5 STEP 0.5
LET K=F(X)
LET S=SQR(1+K^2)
PLOT X-.1/S,Y-.1*K/S; X+.1/S,Y+.1*K/S
NEXT Y
NEXT X
END

分からないのは、
LET S=SQR(1+K^2)
PLOT X-.1/S,Y-.1*K/S; X+.1/S,Y+.1*K/S
の部分です。Sは曲線の長さでしょうか?PLOTで線分の長さをそろえているのでしょうか?
今ひとつ理解できません。(あるいは全く分かっていないのかも)

よろしくお願いします。

  線分の長さを揃えているのでしょう。 白石 和夫 2006/01/23 12:09:50  ツリーへ

Re: 原始関数 返事を書く
白石 和夫 2006/01/23 12:09:50
線分の長さを揃えているのでしょう。
向きが同じ単位ベクトルを作るのによく使う手法です。

   └この直角三角形の斜辺がS=SQR(1+K*K)です。... 山中和義 2006/01/23 13:21:56  ツリーへ

Re: 線分の長さを揃えているのでしょう。 返事を書く
山中和義 2006/01/23 13:21:56
この直角三角形の斜辺がS=SQR(1+K*K)です。
 凵@K
 1
点(X,Y)において、X方向に1(凅)進んだときのY方向の値(凉)はKになります。

したがって、
点(X,Y)において、プロットする線分の傾きがθとすると、
1/Sは、sinθとも考えられます。K/Sは、cosθ。

X-.1/Sは、傾きの方向に-0.1進んだときのXの座標。Y-.1*K/Sは、Yの座標。
プロットされた線分の左側の位置になります。

    └訂正 山中和義 2006/01/23 14:02:12  ツリーへ

Re: この直角三角形の斜辺がS=SQR(1+K*K)です。... 返事を書く
山中和義 2006/01/23 14:02:12
訂正
誤り
1/Sは、sinθとも考えられます。K/Sは、cosθ。
正しくは
1/Sは、cosθとも考えられます。K/Sは、sinθ。

     └納得できました。ありがとうございます。 kotetsu 2006/01/24 22:13:59  ツリーへ

Re: 訂正 返事を書く
kotetsu 2006/01/24 22:13:59
納得できました。ありがとうございます。


インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。