求vb或vb.net实现平面坐标定位

qiulei2676 2008-03-03 10:43:06

在窗体里建一个二位坐标系,两个textbox,分别在两个textbox输入数据,点击回车或者按钮,能定位到平面上的点,最后能把多个点用曲线连接!textbox1的数据是度数(和x轴的夹角),textbox2的数据是距离(离坐标圆点的距离);
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiulei2676 2008-03-07
  • 打赏
  • 举报
回复
你好,,能把坐标轴画出来吗,,,北的方向是0度,东边的方向是90度,南边是180度,西边是270度,,非常感谢你!
qiulei2676 2008-03-07
  • 打赏
  • 举报
回复
谢谢大家!
qiu5208 2008-03-04
  • 打赏
  • 举报
回复
楼主如果用的是vb6那要绕点弯.
楼主如果用的是vb.net的话,那么很幸运,你很容易就能实现你的要求
就是用graphics.DrawCurve函数.

以代码下是在vb2005中通过

在vb2005中,新建一个窗口,拖两个textbox控件,一个button控件
复制以下代码到代码窗.lz根据自己的实际情况修改即可.

'''''''''''''''''''''''''''''''''''''''''''''''''
Public Class Form1
Dim pt() As PointF
Const pi = 3.1415926

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Static intJ As Long
Dim g As Graphics
Dim i As Int16
g = Me.CreateGraphics()


If TextBox1.Text <> "" And TextBox2.Text <> "" Then
ReDim Preserve pt(intJ)
pt(intJ).X = Val(TextBox1.Text) * Math.Cos(Val(TextBox2.Text) * pi / 180)
pt(intJ).Y = Val(TextBox1.Text) * Math.Sin(Val(TextBox2.Text) * pi / 180)
Call Change(pt(intJ))

If intJ >= 1 Then
g.Clear(Me.BackColor)
g.DrawCurve(Pens.Black, pt)

End If
For i = 0 To intJ
g.DrawEllipse(Pens.Red, pt(i).X, pt(i).Y _
, 2, 2)
Next
TextBox1.Text = ""
TextBox2.Text = ""
intJ += 1
Else
MsgBox("请在左边输入长度,右边输入角度 ")

Exit Sub

End If

End Sub
Private Sub Change(ByRef ptF As PointF)
ptF.X = ptF.X + Me.Width / 2
ptF.Y = Me.Height / 2 - ptF.Y
End Sub

End Class
''''''''''''''''''''''''''''''''''''''''''''''''''
qiu5208 2008-03-03
  • 打赏
  • 举报
回复
把极坐标转换成直角坐标,然后参考一楼。
junki 2008-03-03
  • 打赏
  • 举报
回复
在网上找找"两点间用曲线连接"

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧