亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 掃描法凸包.lsp

?? 計算幾何中的幾種lisp語言的算法
?? LSP
字號:
;;;************************************************************************
;;;一個求點集合的凸包的lisp程序--------------------------------------------
;;;采用的算法為Graham掃描法,具體方法見注釋---------------------------------
;;;參考文獻<<計算幾何-算法及其應用>>(第二版),以及參考了其他網(wǎng)站的一些源代碼
;;;用法: 加載運行程序后,選取點,直線段,或多義線(全是直線段組成)即可。----
;;;************************************************************************
(defun C:test1 (/ fil sel t0 ptlist pp 2Pi)
  (setq	fil '( (-4 . "<OR")
	       (0 . "POINT")
	       (0 . "LINE")
	       (0 . "POLYLINE")
	       (0 . "LWPOLYLINE")
	       (-4 . "OR>")
	     )
  )
  (setq sel (ssget fil))                                        ;選擇點集
  (setq ptlist (getpt sel))                                     ;構(gòu)造點集
  (setq t0 (getvar "TDUSRTIMER"))                               ;開始計時
  (setq pp (Graham-scan ptlist))                                ;求凸包
  (princ "\n用時")  
  (princ (* (- (getvar "TDUSRTIMER") t0) 86400))                ;結(jié)束計時
  (princ "秒")
  (if (null pp)
    (alert "點的有效數(shù)目太小,請重新輸入!")
    (entmake                                                    ;畫凸包
      (append
       '( (0 . "LWPOLYLINE")
	  (100 . "AcDbEntity")
	  (100 . "AcDbPolyline")
	)
	(list (cons 90 (length pp)))                            ;頂點個數(shù)
	(mapcar '(lambda (x) (cons 10 x)) pp)                   ;多段線頂點
	(list (cons 70 1))                                      ;閉合的
	(list (cons 62 1))                                      ;紅色的
      )
    )
  )
  (gc)
  (princ)
)
;;;==========================
;;;程序主段,可以單獨成為函數(shù)
;;;==========================
(defun Graham-scan (ptlist / hullpt revPts 2ndPts minYpt sortPt P Q)
  (if (< (length ptlist) 4)                                     ;3點以下
    ptlist                                                      ;是本集合
    (progn 
      (setq revPts (mapcar 'reverse ptlist))                    ;點表的X和Y交換
      (setq 2ndPts (mapcar 'cadr ptlist))                       ;點表的Y值的表
      (setq minYpt (reverse (assoc (apply 'min 2ndPts) revPts)));最下面的點
      ;;(setq minYpt (car (sort-XY ptlist)))
      (setq sortPt (sort-by-angle-distance ptlist minYpt))      ;分類點集
      (setq hullPt (list (caddr sortPt) (cadr sortPt) minYpt))  ;開始的三點
      (foreach n (cdddr sortPt)                                 ;從第4點開始
        (setq hullPt (cons n HullPt))                           ;把Pi加入到凸集
        (setq P      (cadr  hullPt))                            ;Pi-1
        (setq Q      (caddr hullPt))                            ;Pi-2
        (while (and q (> (det n P Q) -1e-6))                    ;如果左轉(zhuǎn)
          (setq hullPt (cons n (cddr hullPt)))                  ;刪除Pi-1點
          (setq P      (cadr  hullPt))                          ;得到新的Pi-1點
          (setq Q      (caddr hullPt))                          ;得到新的Pi-2點
        )
      )
      hullpt                                                    ;返回凸集
    )
  )
)
;;;以最下面的點為基點,按照角度和距離分類點集
(defun sort-by-angle-distance (ptlist pt / Ang1 Ang2)
  (vl-sort ptlist
    (function
      (lambda (e1 e2)
	(setq ang1 (angle pt e1))      
	(setq ang2 (angle pt e2))
	(if (equal ang1 ang2)
	  (< (distance pt e1) (distance pt e2))
	  (< ang1 ang2)
	)
      )
    )
  )	
)
(defun sort-XY (ptlist)
  (vl-sort ptlist
    (function
      (lambda (e1 e2)
	(if (equal (cadr e1) (cadr e2) 1e-8)
	  (> (car e1) (car e2))
	  (< (cadr e1) (cadr e2))
	)
      )
    )
  )
) 
;;定義三點的行列式,即三點之倍面積
(defun det (p1 p2 p3 / dx1 dy1 dx2 dy2)
  (setq	dx1 (- (car  p2) (car  p1))
	dy1 (- (cadr p2) (cadr p1))
	dx2 (- (car  p3) (car  p1))
	dy2 (- (cadr p3) (cadr p1))
  )
  (- (* dx1 dy2) (* dx2 dy1))
)
;;;============
;;;程序主段結(jié)束
;;;============

;;;取點函數(shù)1
(defun getpt1 (ss / i listpp a b c d)
  (setq	i 0)
  (if ss
    (repeat (sslength ss)
      (setq a (ssname ss i))
      (setq b (entget a))
      (setq c (cdr (assoc 10 b)))
      (setq c (list (car c) (cadr c)))
      (setq listpp (cons c listpp))
      (setq i (1+ i))
    )
  )
  listpp
)
;;;取點函數(shù)2
(defun getpt (ss / i listpp a b c d)
  (setq	i 0)
  (if ss
    (repeat (sslength ss)
      (setq a (ssname ss i))
      (setq b (entget a))
      (setq ename (cdr (assoc 0 b)))
      (cond
	( (= ename "LWPOLYLINE")
	  (setq c (get-LWpolyline-vertexs b))
	  (setq listpp (append c listpp))
	)
	( (= ename "LINE")
	  (setq c (cdr (assoc 10 b)))
	  (setq d (cdr (assoc 11 b)))
	  (setq c (list (car c) (cadr c)))
	  (setq d (list (car d) (cadr d)))
	  (setq listpp (cons c listpp))
	  (setq listpp (cons d listpp))
	)
	( (= ename "POINT")
	  (setq c (cdr (assoc 10 b)))
	  (setq c (list (car c) (cadr c)))
	  (setq listpp (cons c listpp))
	)
      )
      (setq i (1+ i))
    )
  )
  listpp
)
;;取得多邊形頂點
(defun get-LWpolyline-vertexs (entlst / n lst)
  (foreach n entlst
    (if (= (car n) 10)
      (setq lst (cons (cdr n) lst))
    )
  )
  lst
)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线乱码一区二区三区| 亚洲一级不卡视频| 国产成人啪免费观看软件| 久久久久成人黄色影片| 成人性色生活片免费看爆迷你毛片| 日本一区二区免费在线| av电影在线观看不卡| 亚洲精品国产无套在线观| 69久久夜色精品国产69蝌蚪网| 日本亚洲天堂网| 国产三级一区二区三区| 97se狠狠狠综合亚洲狠狠| 亚洲一区二区精品视频| 日韩精品一区二区三区蜜臀| 国产suv精品一区二区6| 亚洲欧美一区二区三区久本道91 | 精品电影一区二区| 国产激情一区二区三区四区| 亚洲婷婷在线视频| 91精品国产入口| 国产精品主播直播| 亚洲一区二区三区中文字幕| 精品美女在线观看| 色综合天天综合色综合av| 性欧美疯狂xxxxbbbb| 久久一夜天堂av一区二区三区| 91视频www| 国产综合成人久久大片91| 国产精品久久久久一区| 日韩视频免费观看高清完整版| 成人免费的视频| 日韩成人伦理电影在线观看| 国产精品你懂的在线| 欧美精品视频www在线观看| 国产成人精品三级| 日本欧美一区二区| 亚洲欧美日韩久久| 久久久五月婷婷| 欧美久久高跟鞋激| 91原创在线视频| 国产一区二区导航在线播放| 午夜精品久久久久久久99樱桃| 国产欧美精品区一区二区三区| 欧美久久免费观看| 色综合久久六月婷婷中文字幕| 精品综合免费视频观看| 亚洲午夜免费电影| 最新久久zyz资源站| 26uuu国产电影一区二区| 欧美日韩国产乱码电影| av不卡免费在线观看| 国产九九视频一区二区三区| 亚洲成人av电影在线| **网站欧美大片在线观看| 26uuu久久天堂性欧美| 欧美高清精品3d| 91福利社在线观看| 99re热视频这里只精品| 国产精品18久久久久久久网站| 美腿丝袜亚洲综合| 日本美女一区二区三区| 亚洲成人免费在线观看| 亚洲综合男人的天堂| 亚洲精品va在线观看| 亚洲女同女同女同女同女同69| 欧美激情自拍偷拍| 久久久国际精品| 国产偷国产偷亚洲高清人白洁| 精品国产成人系列| 精品国产一区二区三区四区四| 日韩精品综合一本久道在线视频| 69堂亚洲精品首页| 日韩一区二区精品葵司在线| 欧美一区二区久久| 日韩欧美国产综合一区 | 色噜噜狠狠成人网p站| 成人黄色国产精品网站大全在线免费观看 | 久久综合成人精品亚洲另类欧美 | 夜夜精品视频一区二区| 亚洲精品乱码久久久久久久久| 亚洲人成网站影音先锋播放| 亚洲免费资源在线播放| 伊人一区二区三区| 亚洲成人资源网| 免费成人在线播放| 国产精品一区二区久激情瑜伽 | 欧美电影免费观看高清完整版| 欧美一区二区三区视频在线观看| 日韩一区二区不卡| 精品久久久久久久久久久久久久久 | 性做久久久久久免费观看| 五月激情综合色| 韩国av一区二区三区四区| 国产揄拍国内精品对白| 成人在线综合网站| 91老师片黄在线观看| 欧美中文字幕久久| 日韩女优av电影| 国产拍欧美日韩视频二区| 亚洲欧美日韩一区| 日韩在线a电影| 国产高清在线精品| 99国产欧美久久久精品| 在线成人午夜影院| 久久久久国产精品免费免费搜索 | 亚洲第一久久影院| 久热成人在线视频| 粉嫩嫩av羞羞动漫久久久| 在线一区二区观看| 精品久久久影院| 亚洲女与黑人做爰| 精品一区二区三区影院在线午夜| 成人黄色在线看| 欧美精品久久99久久在免费线| 26uuu国产电影一区二区| 一区二区三区在线免费播放| 美女在线一区二区| 91丝袜国产在线播放| 欧美v国产在线一区二区三区| 欧美国产1区2区| 免费高清在线一区| 色噜噜夜夜夜综合网| wwwwxxxxx欧美| 亚洲午夜一区二区三区| 高清成人免费视频| 欧美一区二区成人6969| 国产精品国产自产拍在线| 日韩精品成人一区二区三区| av亚洲精华国产精华| 精品久久久三级丝袜| 香蕉成人伊视频在线观看| av不卡在线观看| 久久精品视频免费观看| 日韩高清欧美激情| 欧美影院午夜播放| 国产精品久久久久久妇女6080| 久久精品国产999大香线蕉| 欧美亚洲禁片免费| 中文字幕av资源一区| 激情丁香综合五月| 91精品在线免费观看| 夜夜嗨av一区二区三区四季av| 国产91精品一区二区麻豆网站| 欧美成人一区二区| 五月天国产精品| 欧美在线免费观看亚洲| 亚洲三级电影全部在线观看高清| 国产毛片精品视频| 日韩精品一区二区三区中文不卡| 亚洲午夜久久久久久久久久久| 91免费国产在线| 一色屋精品亚洲香蕉网站| 国产成人综合亚洲91猫咪| 亚洲精品在线电影| 麻豆成人av在线| 欧美一二三四区在线| 天堂久久一区二区三区| 欧美亚洲国产一区二区三区| 一区二区在线观看视频在线观看| www.99精品| 国产精品国产三级国产| gogogo免费视频观看亚洲一| 国产欧美日韩卡一| 成人avav影音| 中文字幕在线一区二区三区| 成人av免费在线| 国产精品久久久一区麻豆最新章节| 国产电影一区二区三区| 久久久国产一区二区三区四区小说 | 欧美精品在线一区二区| 偷窥国产亚洲免费视频| 5566中文字幕一区二区电影| 日韩精品一区第一页| 日韩一区二区中文字幕| 精品一区二区免费在线观看| 国产日韩欧美精品一区| 不卡的av网站| 亚洲电影第三页| 欧美电影免费观看完整版| 国产福利91精品| 亚洲靠逼com| 91麻豆精品久久久久蜜臀| 久久精品国产久精国产| 久久亚洲捆绑美女| 99精品欧美一区二区蜜桃免费 | 国产乱子伦视频一区二区三区| 久久久久久久久久久久久女国产乱 | 欧美一区二区在线免费播放| 久久精品72免费观看| 久久久精品天堂| 91浏览器入口在线观看| 日韩影视精彩在线| 国产喷白浆一区二区三区| 色伊人久久综合中文字幕| 男女男精品视频| 国产精品国产精品国产专区不片| 欧美曰成人黄网| 精品一区二区三区在线播放视频| 国产精品久久久久影院老司| 欧美日韩国产精选|