zoukankan      html  css  js  c++  java
  • AutoLISP虚拟线变化图

    AutoLISP虚拟线变化图,代码如下。

    (defun c:test()
      (setvar "cmdecho" 0)
      (setq k 1 n 1 hh 1)
      (get_screen_size)
      (while k
        (grread k)
        (while (>= hh 0.0005)
          (setq cc (rem n 7))
          (if (= cc 0) (setq cc 7))
          (draw_screen)
          )
        (setq n (1+ n) hh 1)
        (setq p1 p1_old p2 p2_old p3 p3_old p4 p4_old)
        )
      )
    (defun get_screen_size()
      (setq cp (trans (getvar "viewctr") 1 2))
      (setq pt1 (trans (getvar "vsmin") 1 2))
      (setq pt2 (trans (getvar "vsmax")1 2))
      (setq xscl (- (car pt2) (car pt1)))
      (setq yscl (- (car pt2) (cadr pt1)))
      (setq sh (getvar "viewsize"))
      (setq sw (* sh (/ xscl yscl)))
      (setq p1_old (list (- (car cp) (* 0.5 sw)) (- (cadr cp) (* o.5 sh))))
      (setq p3_old (list (+ (car cp) (* 0.5 sw)) (+ (cadr cp) (* o.5 sh))))
      (setq p2_old (list (car p3_old) (cadr p1_old)))
      (setq p4_old (list (car p1_old) (cadr p3_old)))
      (setq p1 p1_old p2 p2_old p3 p3_old p4 p4_old)
      )
    (defun draw_screen()
      (setq hh (/ sh 30))
      (setq an1 (angle p1 p2))
      (setq an2 (angle p2 p3))
      (setq an3 (angle p3 p4))
      (setq an4 (angle p4 p1))
      (setq p1 (polar p1 an1 hh))
      (setq p2 (polar p2 an2 hh))
      (setq p3 (polar p3 an3 hh))
      (setq p4 (polar p4 an4 hh))
      (grdraw p1 p2 cc)
      (grdraw p2 p3 cc)
      (grdraw p3 p4 cc)
      (grdraw p4 p1 cc)
      (setq sh (distance p1 p4))
      )
    (princ "\n------<<TEST>>------")
    (prin1)

    代码完。

    作者:codee
    文章千古事,得失寸心知。


  • 相关阅读:
    Uva11584 Partitioning by Palindromes
    GYM100741 A Queries
    Uva11400 Lighting System Design
    UVA12563 Jin Ge Jin Qu hao
    Uva116 Unidirectional TSP
    HDU2089 不要62
    BZOJ3670: [Noi2014]动物园
    Uva11384 Help is needed for Dexter
    Uva1347 Tour
    BZOJ1924: [Sdoi2010]所驼门王的宝藏
  • 原文地址:https://www.cnblogs.com/bimgoo/p/2503003.html
Copyright © 2011-2022 走看看