FAQ
FAMOS
シーケンス / 関数top
└カーブウィンドウ
ID.s011
Q. カーソルで指定した2点を通る直線を求める
A.
Show DATA
CvWin( DATA, 9)
Ret=BoxMessage("Line1設定", "Line1を決定するポイントにカーソルを置き、
確定した後でOKボタンを押してください", "!1")
X1 = CvCursor( DATA, 1)
X2 = CvCursor( DATA, 2)
Y1 = Value( Check1, X1)
Y2 = Value( Check1, X2)
Point1 = XYof(leng(0,2), Leng(0,2))
Point1[1].x = X1
Point1[2].X = X2
Point1[1].y = Y1
Point1[2].y = Y2
CvYAxis( DATA, 2)
CvYAxis( DATA, Point1, 0, 0, 0, 400+5000+70000, -2)
2点間の直線の係数を求めるために関数"Poly"を使用します。
Polyは標準波形しか引数に使用できないので、一度標準波形に変換します。
TempLine = XYdt( Point1.X, Point1.Y, 0.01)
Line1Coff = Poly( TempLine, 1, 2)
Line1 = Line1Coff[2]*ramp( Min(Check1Volt),
(Max(Check1Volt) - Min(Check1Volt))/100, 100)+Line1Coff[1]
CvYAxis( DATA, Line1, 0, 0, 0, 400, -2)