vb.net两线相交的简单介绍

VB.net 中如何判断一个圆和一个矩形相交

建立新窗体,新建timer控件,间隔随意,运行即可,输入以下代码,可以充分看到你要的效果

创新互联建站主营宁晋网站建设的网络公司,主营网站建设方案,重庆APP开发,宁晋h5微信小程序开发搭建,宁晋网站营销推广欢迎宁晋等地区企业咨询

Dim yuanxin As New Point(50, 50) '圆心

Dim zhijing As Long = 100 '直径,其实里面用的多的是半径,但你说是直径,我就用直径

Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint

e.Graphics.Clear(Color.Beige) '刷除底色

Dim myRect As New RectangleF(150, 80, 100, 100) '建立矩形

e.Graphics.DrawRectangle(Pens.Red, Rectangle.Round(myRect)) '画出矩形

Dim p As System.Drawing.Drawing2D.GraphicsPath = New System.Drawing.Drawing2D.GraphicsPath() '新建路径

p.AddEllipse(yuanxin.X - zhijing \ 2, yuanxin.Y - zhijing \ 2, zhijing, zhijing) '向当前路径增加椭圆,里面的运算是把圆心转换为圆形外切矩形的左上角坐标以及这个矩形的宽和高,在本例中宽高即为圆形的直径

e.Graphics.DrawPath(Pens.Black, p) '在窗体上画出椭圆(本例中是圆形)

Dim myRegion As New [Region](p) '根据椭圆建立区域

Dim contained As Boolean = myRegion.IsVisible(myRect) '判断区域是否相交

Dim myFont As New Font("Arial", 8)

Dim myBrush As New SolidBrush(Color.Black)

e.Graphics.DrawString("相交 = "  contained.ToString(), myFont, myBrush, New PointF(20, 260)) '输出结果

End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

yuanxin.X += 1

Me.Refresh()

End Sub

VB.net交互式系统如何使绘制出来的图元(直线,曲线等)带有方向箭头?

既然会画直线了,那就应该会画箭头了(两条短直线相交就能成箭头 )

标序号其实就是算出位置写字

vb 两线相交

可用数学的方法,如果一条直线的两个端点都在另一直线的同一侧,则没有交叉,否则,就有交叉。代码如下:

Private Sub Command1_Click()

Dim X1 As Long, Y1 As Long, X2 As Long, Y2 As Long

Dim A1 As Long, B1 As Long, A2 As Long, B2 As Long

Dim a As Long, b As Long

X1 = Line1.X1: X2 = Line1.X2: Y1 = Line1.Y1: Y2 = Line1.Y2

A1 = Line2.X1: A2 = Line2.X2: B1 = Line2.Y1: B2 = Line2.Y2

a = F(X1, Y1, X2, Y2, A1, B1)

b = F(X1, Y1, X2, Y2, A2, B2)

If a * b = 0 Then

Print "两直线有交叉。"

ElseIf a * b 0 Then

Print "两直线没有交叉。"

Else

a = F(A1, B1, A2, B2, X1, Y1)

b = F(A1, B1, A2, B2, X2, Y2)

If a * b = 0 Then

Print "两直线有交叉。"

Else

Print "两直线没有交叉。"

End If

End If

End Sub

Private Function F(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X As Long, ByVal Y As Long) As Long

Dim K As Long

K = (Y2 - Y1) * X - (X2 - X1) * Y + X2 * Y1 - X1 * Y2

F = Sgn(K)

End Function

vb.net如何实现确定两点位置以后,用一条直线自动连接二点。求大神指导。。

dim myGraphics as new

System.Drawing .Graphics

Dim myStartPoint As New Point(4, 2)

Dim myEndPoint As New Point(12, 6)

myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)


当前标题:vb.net两线相交的简单介绍
分享网址:http://bzwzjz.com/article/hpgdoi.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 高端网站建设 成都h5网站建设 外贸网站设计方案 重庆网站制作 营销型网站建设 成都网站制作 成都网站设计公司 定制网站制作 成都网站设计制作公司 成都网站建设公司 企业网站建设 成都网站建设 四川成都网站设计 泸州网站建设 成都网站制作 定制网站建设 成都品牌网站建设 成都网站建设 成都网站建设流程 网站建设方案 成都网站建设公司 成都网站建设