飞雪神光 发表于 2024-12-27 21:29:52

mahuan1279 发表于 2024-12-27 21:01
这是干啥用的?

就是写着玩的...

zm880928 发表于 2024-12-28 09:47:12

只是用来玩的吗,还有没有其他用途呢

tiancao100 发表于 2024-12-28 20:28:28

本帖最后由 tiancao100 于 2024-12-28 20:29 编辑

Private Sub CommandButton2_Click()
    Dim i As Long
    Dim n As Integer
    Dim Pi As Double
    Pi = 4# * Atn(1#)
    Dim R As Long
    Randomize
    R = Int(Rnd * 100)
    Dim R1 As Long
    R1 = (0.5 - Rnd) * 199
    Dim L As Long
    L = Int(Rnd * 200)
    Dim S As Long
    S = Int(Rnd * 50)
    Dim M As Long
    M = Int(Rnd * 100)
    Dim A1 As Double
    Dim A2 As Double
    Dim P(2) As Double
    Dim P0(2) As Double
    Dim x As Double
    Dim y As Double
   
    Dim Fit() As Double
    Dim Sp As AcadSpline
   
    ReDim Fit(2)
   
    i = i + 1
    n = n + 1
    A1 = i * Pi / 180
    A2 = (R1 / R) * A1
   
    x = (-(R1 - R) * Cos(A1) - S * Cos(A2 - A1) + 100) * M
    y = ((R1 - R) * Sin(A1) - S * Sin(A2 - A1) + 100) * M
   
    P0(0) = x: P0(1) = y
    Fit(0) = x: Fit(1) = y: Fit(2) = 0
   
    'ThisDrawing.ModelSpace.AddPoint P0
    Do
      DoEvents
      
      i = i + 1
      n = n + 1
      ReDim Preserve Fit(n * 3 - 1)
      A1 = i * Pi / 180
      A2 = (R1 / R) * A1
   
      x = (-(R1 - R) * Cos(A1) - S * Cos(A2 - A1) + 100) * M
      y = ((R1 - R) * Sin(A1) - S * Sin(A2 - A1) + 100) * M
      P(0) = x: P(1) = y
      Fit(n * 3 - 3) = x: Fit(n * 3 - 2) = y: Fit(n * 3 - 1) = 0
      If n = 359 Then
            Set Sp = ThisDrawing.ModelSpace.AddSpline(Fit, Point3D(0, 0, 0), Point3D(0, 0, 0))
            Randomize
            'Sp.color = Int(Rnd * 255)
            n = 0
      End If
      If Abs(P(0) - P0(0)) < 10 ^ -2 And Abs(P(1) - P0(1)) < 10 ^ -2 Then Exit Do
      'If i > 10 ^ 4 Then Exit Do
   Loop
   MsgBox "R=" & R & "/ R1=" & R1 & "/ L=" & L
   Prompt "R=" & R & "/ R1=" & R1 & "/ L=" & L & "/ S=" & S & vbCrLf
   End
End Sub我08年写的一段VBA代码
http://tiancao.net/attachments/month_0807/xum1_screenshot5.gif


jkop 发表于 2024-12-29 23:27:58

很特别的玩意,很好的范例!收藏!

lee50310 发表于 2025-1-2 13:31:48

本帖最后由 lee50310 于 2025-1-2 14:14 编辑

v2.0將版主的程式功能再提升一些:

lee50310 发表于 2025-1-2 13:33:12

本帖最后由 lee50310 于 2025-1-2 14:15 编辑

此圖片產生圖形之參數設定值 可供參考

页: 1 [2]
查看完整版本: 万花尺