/// 実習G4 座標計算 | プログラミング実習 |
プロジェクト名 実習G4マス目番号の計算2
動作説明
クリックしたマス目(半径25の倍数のトラック)の番号を表示する。
デザイン
フォーム Form1
Size = 316,297 (枠内300×260)
BackgroundImage = BackImage3.gif
ラベル lblMasu
Text = マス目番号
円の半径
円0=25、 円1=50、 円2=75、
円3=100、円4=125
コード(プログラム)
Public Class Form1
Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Handles Me.MouseClick
Dim x0 As Integer = 150, y0 As Integer = 130 '円の中心
Dim rr, num As Integer '半径rr、トラックnum
Dim xx, yy As Integer 'クリックした座標(補正済み)
xx = e.X - x0
yy = e.Y - y0
rr = CInt(Math. @ (xx ^ 2 + yy ^ 2)) '半径計算
num = Int( A / 25)
If num > B Then
lblMasu.Text = "マス目番号=範囲外です"
Else
lblMasu.Text = "マス目番号= " & C .ToString
End If
End Sub
End Class
解説
※ 円の方程式
左図の円のように、中心の座標(0,0)、半径Rの円周上の座標(X,Y)を表す。
ウィンドウ上の円は、右図の円のように中心の座標が(150,130)であるから、x座標から150、y座標から130を減じて、中心の座標を(0,0)に補正する。よって、クリックした座標(e.X,e.Y)から150と130を減じて補正してから半径を計算する。
求めた半径が25未満なら円0の範囲内、50未満なら円1の範囲内、75未満なら円2の範囲内となる。If文で判定する方法もあるが、求めた半径を25で割った商が円の番号(マス目番号)となるので、計算で判定する。
テスト
□ フォームをクリックするとクリックしたマス目の番号が表示される。
□ マス目以外の場所をクリックすると「範囲外です」と表示される。
/// 実習G4 座標計算 | Copyright©2014 Hiroshi Masuda |