美文网首页
几种线性递增的方法

几种线性递增的方法

作者: 禾白小三飘 | 来源:发表于2016-01-07 15:49 被阅读373次

找到几种线性递增找怪的方法,不过效率特低,没有选用。不过感觉挺好玩的。

脚本

//从附件释放大漠插件并注册
//PutAttachment "c:\test_game","*.*"
//PutAttachment ".\Plugin", "RegDll.dll"
//call Plugin.Regdll.reg("c:\test_game\dm.dll")

//设置大漠路径以及字库名
Set dm = createobject("dm.dmsoft")
dm.SetPath ("d:")
//dm_ret = dm.SetDict(0,"lanhuo.txt")
//字库

//绑定当前鼠标位置程序为前台操作模式
hwnd = dm.GetMousePointWindow()
dm_ret = dm.BindWindow(hwnd,"normal","normal","normal",0)

call 椭圆()
call 圆形()
call 方形()

Sub 椭圆()
    Dim x0, n, y0, x, color0, color1
    x0 = 800 : n = 1 : y0 = 600 : x = 800
    //变量初始化
    l = 10
    //设置2点间距离
    While x < 1024
        //限定横坐标范围不超过1024
        x = x0 + 4 * (cos(n) + n * sin(n))
        y = y0 + 3 * (sin(n) - n * cos(n))
        color0 = GetPixelColor(x, y)
        dm.moveTo x, y
        dm.leftclick
        color1 = GetPixelColor(x, y)
        If color1 <> color0 Then 
            dm.LeftClick
            Delay 1000
        End If
        Delay 10
        n = n + 0.2
        //渐开线参数增量,其中0.2代表点间距,数值越小,渐开线散开点间距越小
        r = Sqr((x - x0) ^ 2 + (y - y0) ^ 2)
        //计算当前点(x,y)到原点(x0,y0)的距离
        n = n + l / r
        //渐开线参数增量,其中l/r:点距除以半径,取得2点间相对圆心的角度
        //能有效控制扫描点的密度,2点间的距离就比较平均
    Wend
End Sub

Sub 圆形()
    //设置圆心坐标
    x0=800:y0=600
    //设置递增半径
    rr=20
    //设置点间距
    l=20
    //初始化角度
    n=0
    //设置第一圈半径
    r=30
    //画圆圈数
    For 10
        While n<3.1415926*2
            //画圆公式
            x=x0+r*cos(n)
            y=y0-r*sin(n)
            dm.MoveTo x,y
            dm.LeftClick
            Delay 10
            //l/r:点距除以半径,取得2点间相对圆心的角度
            //能有效控制扫描点的密度,2点间的距离就比较平均
            n=n+l/r
        Wend
        //画完一圈后重置角度
        n=0
        //画完一圈后半径递增rr
        r=r+rr
    Next
End Sub

Sub 方形()
    //设置中心点
    x=400:y=300
    //设置2点间距离
    v=10
    i=1
    //循环20次,即画20圈
    For 20
        j=0:k=v
        For 2
            For i
                x=x+j:y=y+k
                dm.MoveTo x,y
                dm.LeftClick
                Delay 10
            Next
            j=v:k=0
        Next
        i=i+1:v=v*(-1)
    Next
End Sub

相关文章

  • 几种线性递增的方法

    找到几种线性递增找怪的方法,不过效率特低,没有选用。不过感觉挺好玩的。 脚本

  • 常用线性回归模型

    多元线性回归 多元线性回归是最常用的预测数值型目标的建模方法,也常用于数据分析中的多因素分析。后面几种回归都是在它...

  • 岭回归分析

    上篇文章,我们介绍了几种处理共线性的方法。比如逐步回归法、手动剔除变量法是最常使用的方法,但是往往使用这类方法会剔...

  • 数据结构-hash表

    前言 哈希(散列)技术既是一种存储方法,也是一种查找方法。然而它与线性表、树、图等结构不同的是,前面几种结构,数据...

  • Python的logging基本用法

    几种不同的级别(信息的重要性依次递增) DEBUGINFOWARNINGERRORCRITICAL 基本用法(Py...

  • 线性代数常见面试题

    特征值、特征根、秩、计算行列式、线性相关性、矩阵的相似、你可以想到有几种方法证明一个矩阵满秩、奇异值分解、线性相关...

  • 74. 搜索二维矩阵

    方法二 利用矩阵的递增性质

  • 多模态融合综述

    转载 内容: 目前特征融合方法有以下几种: 特征向量按照人工规则线性融合;计算多个向量相似度矩阵,按照相似度进行融...

  • 一、线性表

    一、线性表 线性表是一种抽象的数据类型,下面介绍几种具体的线性表存储结构(即物理结构):顺序、链式和静态链式。无论...

  • Excel 下拉单元格实现序号递增几种方法

    1: 单元格输入1,然后如图下拉,选择自动填充选项,填充序列 2:单元格输入1,然后按住ctrl + 鼠标下拉 3...

网友评论

      本文标题:几种线性递增的方法

      本文链接:https://www.haomeiwen.com/subject/rdyfkttx.html