创建一个rgn,只有一条线,然后用ptinrgn,hoho。
说正经的,判断一点在线上很简单啊,如果你知道线的数学描述。
说正经的,判断一点在线上很简单啊,如果你知道线的数学描述。
解决方案 »
- 请问一个从四五条生产线上的传感器上得到数据,然后在显示到监控屏幕的程序报价多少钱.
- TClientWinSocket客户端接收数据问题。
- 求救,明天就要用了,delphi+ado+access添加删除修改的语句怎么写啊.为什么跟连接SQLserver的不一样
- 如何实现winamp吸附当前窗口标题栏的效果?解决后另有重谢!!!
- 金山词霸的繁体如何实现?
- 求购或合作开发:中小型超市进销存、酒店管理源代码!
- 如何保证程序只运行一次???
- ====各位大虾,请看这边:这段代码有什么问题?=====
- 安装了WIN2000SERVER后发现一个很大的问题……
- DCOM问题?
- 怎样查询数据?
- 大家都用 sql server的数据倒入功能把,我想用delphi,怎么控制?
if y3=kx3+b then the point is on the line!
如果是曲线,也可以用数学公式模拟出来的。
y=kx+b,
根据江南草的公式算出K,但那个b代表什么东西呀,能不能详细一点。
Text1.Text = 100
Text2.Text = 100
End SubPrivate Sub Command1_Click()
'假直线的两个坐标是(X1, Y1), (X2, Y2),如何判断(X3, Y3)在直线上。
Dim X1 As Single, Y1 As Single, X2 As Single, Y2 As Single
Dim X3 As Single, Y3 As Single
X1 = 2000
Y1 = 2000
X2 = 4000
Y2 = 4000
X3 = Val(Text1.Text)
Y3 = Val(Text2.Text)If (X1 = X2 And X2 = X3) Or (Y1 = Y2 And Y2 = Y3) Then
Line (X1, Y1)-(X2, Y2)
Line -(X3, Y3)
ElseIf Y3 = (Y2 - Y1) / (X2 - X1) * (X3 - X1) + Y1 Then
Line (X1, Y1)-(X2, Y2)
Line -(X3, Y3)
Else
Line (X1, Y1)-(X2, Y2)
DrawWidth = 3
PSet (X3, Y3)
DrawWidth = 1
MsgBox "NO"
End IfEnd Sub
Text1.Text = 100 'X3 = Val(Text1.Text)
Text2.Text = 2000 'Y3 = Val(Text2.Text)
End SubPrivate Sub Command1_Click()
'假直线的两个坐标是(X1, Y1), (X2, Y2),如何判断(X3, Y3)在直线上。
Dim X1 As Single, Y1 As Single, X2 As Single, Y2 As Single
Dim X3 As Single, Y3 As Single
X1 = 2000
Y1 = 2000
X2 = 4000
Y2 = 2000
X3 = Val(Text1.Text)
Y3 = Val(Text2.Text) If (X1 = X2 And X2 = X3) Then '如果斜率无穷大
Line (X1, Y1)-(X2, Y2)
Line -(X3, Y3)
MsgBox "Yes"
ElseIf Y3 = (Y2 - Y1) / (X2 - X1) * (X3 - X1) + Y1 Then
Line (X1, Y1)-(X2, Y2)
Line -(X3, Y3)
MsgBox "Yes"
Else '不在直线上
Line (X1, Y1)-(X2, Y2)
DrawWidth = 3
PSet (X3, Y3)
DrawWidth = 1
MsgBox "NO"
End If
End Sub
Y = (Y2 - Y1) / (X2 - X1) * (X - X1) + Y1
Text1.Text = 100 'X3 = Val(Text1.Text)
Text2.Text = 2000 'Y3 = Val(Text2.Text)
End SubPrivate Sub Command1_Click()
'假直线的两个坐标是(X1, Y1), (X2, Y2),如何判断(X3, Y3)在直线上。
Dim X1 As Single, Y1 As Single, X2 As Single, Y2 As Single
Dim X3 As Single, Y3 As Single
X1 = 2000
Y1 = 100
X2 = 2000
Y2 = 4000
X3 = Val(Text1.Text)
Y3 = Val(Text2.Text) If X1 = X2 Then '如果斜率无穷大
If X2 = X3 Then '在线上
Line (X1, Y1)-(X2, Y2)
Line -(X3, Y3)
MsgBox "Yes"
Else '不在直线上
Line (X1, Y1)-(X2, Y2)
DrawWidth = 3
PSet (X3, Y3)
DrawWidth = 1
MsgBox "NO"
End If
Else
If Y3 = (Y2 - Y1) / (X2 - X1) * (X3 - X1) + Y1 Then
Line (X1, Y1)-(X2, Y2)
Line -(X3, Y3)
MsgBox "Yes"
Else '不在直线上
Line (X1, Y1)-(X2, Y2)
DrawWidth = 3
PSet (X3, Y3)
DrawWidth = 1
MsgBox "NO"
End If
End If
End Sub
不要这样 忘记了总是难免的
你说 文科毕业的很多人 解析几何 能记住多少啊
何必都要懂能?有一门通点就可以了
其他的会问、会查就可以了
谁要是单凭 y=kx+b就能判断出来老子从 13楼作自由落体!
and
y=k(x-delta)+b其中delta为你所要的精度,是一个像素或几个象素,看你自己把握,自己好好考虑一下,也许不不符合要求,但思路是正确