基于VB.NET和MO的等值线的生成

  前些日子做了一个大作业,在以前的日志里,曾把三角网的代码贴了出来,当时等值线还没做出。现在吧等值线的代码也贴出来,希望能对大家有所帮助!这里的代码是承接上次的三角网的代码段,是基于三角网的等值线的 生成。同时,还有基于MapX版本的代码,有兴趣的可以索要,其实没多大区别……

       代码都经过测试了,这里就不加截图了,因为现在已经不再用MO或是MapX了,竟然MO的安装程序都不到了,呵呵……

 Private Sub DZX(ByVal ParValue() As Single, ByVal nHvalue As Integer, ByVal S0 As Single, ByVal nDec As Integer)
        Dim DwX(), DwY() As Double
        Dim Xb(,), Yb(,) As Double
        Dim LB() As Integer
        Dim X1, Y1 As Double
        Dim Hs, Ht, Hw As Single
        Dim c1, c2, c3, c4 As Single
        Dim mk, M1 As Integer
        Dim I, J, K, LD As Integer
        Dim Key As Integer
        Dim I1, I2, I3 As Integer
        Dim Key2 As Boolean
        Dim nDwXY As Integer
        'Dim Zgrid() As Single
        'Dim X0t, Y0t, Yc, Xc As Single
        'Dim PicSubHeightT, PicSubWidthT As Single
        Dim Mk1 As Single

        K = 10

        Dim m As Integer
        Dim min, max As Double
        min = Vertex(1).z
        max = Vertex(1).z
        For m = 1 To tPoints - 1
            'min = Vertex(m).z
            'max = Vertex(m).z
            If Vertex(m + 1).z < min Then
                min = Vertex(m + 1).z
            End If
            If Vertex(m + 1).z > max Then
                max = Vertex(m + 1).z
            End If
        Next m

        nHvalue = (max - min) / S0
        'MsgBox(nHvalue)
        ParValue(0) = min
        For m = 1 To nHvalue
            ParValue(m) = ParValue(m - 1) + S0
            'MsgBox(ParValue(m))

        Next m

        nDwXY = 2 * HowMany
        ReDim DwX(nDwXY + 1), DwY(nDwXY + 1), LB(nDwXY + 1)
        ReDim Xb(HowMany, 2), Yb(HowMany, 2)

        Dim vmin, vmax As Integer
        vmin = 999999
        vmax = -999999

        For I = 0 To tPoints
            If (Vertex(I).z > vmax) Then vmax = Vertex(I).z
            If (Vertex(I).z < vmin) Then vmin = Vertex(I).z
        Next I

        Mk1 = 0

        Dim value As Double
        Dim iMark As Integer
        For mk = 0 To nHvalue
            value = ParValue(mk)
            iMark = 1
            If (value < vmin Or value > vmax) Then
            Else
                '插值
                For I = 0 To HowMany
                    I1 = Tria

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值