怎么用vb实现直线插补

怎么用vb实现直线插补,第1张

根据该插补软件框图(参见http://www.busnc.com/ly/zhudian/yuanli.htm),:

Sub 偏差计算()

偏差 = Abs(x终点) × z动点 - x动点 × Abs(z终点)

End Sub

Sub 插补()

Dim c As Integer

Select Case 象限标志

Case 1: '第一象限插补

Do Until x动点 + z动点 >= 总步数

If 偏差 >= 0 Then

x动点 = x动点 + 1:

Line -Step(0, x步长), vbRed

Else

z动点 = z动点 + 1:

Line -Step(z步长, 0), vbRed

End If

偏差计算

Loop

Case 2: '第二象限插补

c = x终点: x终点= z终点: z终点= -c

c = x步长: x步长 = z步长: z步长 = -c

Do Until x动点 + z动点 >= 总步数

If 偏差 >= 0 Then

x动点 = x动点 + 1:

Line -Step(x步长, 0), vbRed

Else

z动点 = z动点 + 1:

Line -Step(0, z步长), vbRed

End If

偏差计算

Loop

Case 3: '第三象限插补

x步长 = -x步长: z步长 = -z步长

Do Until x动点 + z动点 >= 总步数

If 偏差 >= 0 Then

x动点 = x动点 + 1:

Line -Step(0, x步长), vbRed

Else

z动点 = z动点 + 1:

Line -Step(z步长, 0), vbRed

End If

偏差计算

Loop

Case 4: '第四象限插补

c = x终点: x终点= -z终点: z终点 = c

c = x步长: x步长 = -z步长: z步长 = c

Do Until x动点 + z动点 >= 总步数

If 偏差 >= 0 Then

x动点 = x动点 + 1: Line -Step(x步长, 0), vbRed

Else

z动点 = z动点 + 1: Line -Step(0, z步长), vbRed

End If

偏差计算

Loop

End Select

End Sub

画直线

为了在两个坐标点之间画一条直线,可使用 Line 方法的简单形式,其语法如下:

[object.]Line [(x1, y1)]–(x2, y2)[, color]

其中 Object 是可选择的;若省略,此方法将在代码所连接的窗体(当前窗体)上画线。第一对坐标也是可选的。就所有的坐标值来说,x 和 y 参数都既可以是整数,也可以是分数。例如,下列语句可在窗体上画一条斜线。

Line (500, 500)–(2000, 2000)

Visual Basic 所画出的一条直线,要包括第一个端点,而不是最后一个端点。这种行为在从点到点画封闭曲线时是有用的。为了画最后一个端点,应使用这种语法:

PSet [Step] (0, 0)[, color]

第一对坐标 (x1, y1) 是可选的。如果省略这些坐标,将把该对象的 x,y 当前位置(画图坐标)作为端点。当前位置是由 CurrentX 和 CurrentY 属性指定的,然而在其它情况它会等于以前的图形方法或 Print 方法所画最后点的位置。如果以前没有使用过图形方法或 Print 方法,或没有设置 CurrentX 和 CurrentY 属性,则缺省位置为对象的左上角。

例如,以下语句通过三点连接画出一个三角形。

'设置起点的 x 坐标。

CurrentX = 1500

'设置起点的 y 坐标。

CurrentY = 500

'向起点的右下方画一直线。

Line -(3000, 2000)

'向当前点的左方画一直线。

Line -(1500, 2000)

'向右上方画一直线到起点。

Line -(1500, 500)

Blanker 应用程序使用 Line 方法创建出了一些有趣的图案样式。为了看到这些图案,可从“选项”菜单中,选定“Crossfire”,然后选定“Start Demo”按钮,即可看到。

Step 关键字

PSet、Line、和 Circle 方法使用以下语法可指定一个或多个点:

(x, y)

可在每个点之前加上 Step 关键字,用来指定要画出的点,是相对最后画出点的位置。Visual Basic 要将 x 和 y 的值加到最后所画的点上。例如,下边这条语句:

Line (100, 200)–(150, 250)

等价于:

Line (100, 200)–Step(50, 50)

在许多情况下,Step 关键字可免除持续不断地记录最后所画点位置的负担。经常最为关心的可能是两点的相对位置,而不是它们的绝对位置。

使用颜色参数

为了改变直线的颜色,应将可选的 color 参数与图形方法一起使用。例如,下述语句将画一条深蓝色的直线:

Line (500, 500)–(2000, 2000), RGB(0, 0, 255)

如果省略了 color 参数,将使用在其上画线的对象的 ForeColor 属性,来决定直线的颜色。

RND来设置随机值


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7877590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存