二つの座標で一次関数の式を求めるクラス

今やっていることに使うために、次の機能が必要になった。

  1. 一次関数の傾き(y=ax+bの a )と切片(y=ax+bの b )を求める。
  2. 引数は、始点と終点の各座標。

そこで今回は、クラスモジュールを一つ準備することにした。

クラスモジュール(LinearFunctionClass)

座標を格納するための配列。
※配列はジャグ配列とする。

Option Explicit
Public CoordinateSeq As Variant

始点と終点の距離:x方向。

Public Property Get dx() As Double
    dx = CoordinateSeq(1)(0) - CoordinateSeq(0)(0)
End Property

始点と終点の距離:y方向。

Public Property Get dy() As Double
    dy = CoordinateSeq(1)(1) - CoordinateSeq(0)(1)
End Property

一次関数の傾き。

Public Property Get Slope() As Double
    Slope = dy / dx
End Property

一次関数の切片。

Public Property Get Intercept() As Double
    Intercept = CoordinateSeq(0)(1) - Slope * CoordinateSeq(0)(0)
End Property

xに対応するyの値。

Public Function y(x As Double) As Double
    y = Slope * x + Intercept
End Function

さて、これを用いて、昨日動かしたオートシェイプをアメンボみたいな動かそうとしたのだが、未だ上手くいかず。

それについては、明日へ持ち越しです。

参考まで。