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

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

?? 掃描法凸包1.lsp

?? 計算幾何中的幾種lisp語言的算法
?? LSP
字號:
;;;************************************************************************
;;;一個求點集合的凸包的lisp程序--------------------------------------------
;;;采用的算法為Graham掃描法,具體方法見注釋---------------------------------
;;;參考文獻<<計算幾何-算法及其應用>>(第二版),以及參考了其他網站的一些源代碼
;;;用法: 加載運行程序后,選取點,直線段,或多義線(全是直線段組成)即可。----
;;;************************************************************************
(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))                                     ;構造點集
  (setq t0 (getvar "TDUSRTIMER"))                               ;開始計時
  (setq pp (Graham-scan ptlist))                                ;求凸包
  (princ "\n用時")  
  (princ (* (- (getvar "TDUSRTIMER") t0) 86400))                ;結束計時
  (princ "秒")
  (if (null pp)
    (alert "點的有效數目太小,請重新輸入!")
    (entmake                                                    ;畫凸包
      (append
       '( (0 . "LWPOLYLINE")
	  (100 . "AcDbEntity")
	  (100 . "AcDbPolyline")
	)
	(list (cons 90 (length pp)))                            ;頂點個數
	(mapcar '(lambda (x) (cons 10 x)) pp)                   ;多段線頂點
	(list (cons 70 1))                                      ;閉合的
	(list (cons 62 1))                                      ;紅色的
      )
    )
  )
  (gc)
  (princ)
)
;;;==========================
;;;程序主段,可以單獨成為函數
;;;==========================
(defun Graham-scan (ptlist / hullpt maxXpt sortPt P Q)
  (if (< (length ptlist) 4)                                     ;3點以下
    ptlist                                                      ;是本集合
    (progn 
      (setq maxXpt (assoc(apply'max(mapcar'car ptlist)) ptlist));最右邊的點
      ;;(setq minYpt (car (sort-XY ptlist)))
      (setq sortPt (sort-by-angle-distance ptlist maxXpt))      ;分類點集
      (setq hullPt (list (caddr sortPt) (cadr sortPt) maxXpt))  ;開始的三點
      (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))                    ;如果左轉
          (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-by-angle (ptlist pt / Ang1 Ang2)
  (vl-sort ptlist
    (function
      (lambda (e1 e2) (< (angle pt e1) (angle pt e2)))
    )
  )	
)
(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))
)
;;;============
;;;程序主段結束
;;;============

;;;取點函數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
)
;;;取點函數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一区二区三区免费野_久草精品视频
欧美高清精品3d| 欧美日韩美少妇| 黄页视频在线91| 韩国成人在线视频| 国产在线不卡一区| 国产一区不卡在线| 国产精品一区二区你懂的| 国产一区欧美日韩| 国产高清久久久| 不卡一区中文字幕| 在线免费观看成人短视频| 欧美撒尿777hd撒尿| 欧美精品 国产精品| 日韩免费成人网| 久久久.com| 亚洲乱码国产乱码精品精的特点| 亚洲制服丝袜av| 丝袜美腿一区二区三区| 蜜桃一区二区三区四区| 国产麻豆午夜三级精品| 色综合天天综合给合国产| 在线观看视频一区| 日韩视频一区在线观看| 国产无遮挡一区二区三区毛片日本| 亚洲国产精品成人综合| 亚洲激情男女视频| 麻豆一区二区三区| av在线不卡电影| 在线电影欧美成精品| 久久精品网站免费观看| 亚洲日本va午夜在线影院| 天堂av在线一区| 成人晚上爱看视频| 69av一区二区三区| 国产清纯在线一区二区www| 中文字幕一区二区视频| 天堂蜜桃91精品| jlzzjlzz亚洲女人18| 在线播放91灌醉迷j高跟美女| 日韩精品一区二区三区老鸭窝| 国产日韩综合av| 日韩国产高清在线| 91在线精品一区二区三区| 日韩午夜在线观看视频| 亚洲狼人国产精品| 高清视频一区二区| 欧美精品99久久久**| 最新高清无码专区| www.欧美.com| 精品国产一区久久| 一级女性全黄久久生活片免费| 国产在线一区二区综合免费视频| 91福利国产精品| 中文字幕欧美国产| 激情久久久久久久久久久久久久久久| 99久久久无码国产精品| 国产日韩欧美高清| 国产一区二区毛片| 日韩天堂在线观看| 日韩在线a电影| 在线看日本不卡| 有坂深雪av一区二区精品| 粉嫩久久99精品久久久久久夜| 日韩欧美一区二区三区在线| 亚洲成a人片在线观看中文| 91在线无精精品入口| 中文字幕在线不卡| 成人18视频日本| 国产精品理伦片| 不卡av电影在线播放| 中文字幕在线播放不卡一区| 国产91在线观看丝袜| 亚洲国产成人在线| 成人av网站大全| 中文字幕一区视频| 色偷偷88欧美精品久久久| 国产精品福利一区二区三区| 99久久精品免费看国产| 亚洲欧美日韩中文播放| 日本韩国欧美三级| 亚洲福利视频一区| 制服丝袜亚洲播放| 久久精品国产一区二区三区免费看| 宅男噜噜噜66一区二区66| 美女视频免费一区| 欧美xingq一区二区| 国产成人精品一区二区三区四区 | 91亚洲国产成人精品一区二区三| 国产欧美一区二区精品秋霞影院 | 欧美高清在线一区| av在线不卡免费看| 亚洲一区二区欧美激情| 6080yy午夜一二三区久久| 理论电影国产精品| 国产午夜精品久久| 在线亚洲免费视频| 日韩电影在线观看电影| 亚洲一区电影777| 欧美日韩国产免费一区二区| 老色鬼精品视频在线观看播放| 久久久精品综合| 日本高清不卡一区| 激情图片小说一区| 中文字幕亚洲不卡| 欧美一区二区高清| 成人黄色免费短视频| 一区二区三区免费观看| 欧美成人高清电影在线| av中文字幕亚洲| 久久国产精品色婷婷| 国产精品乱人伦| 制服丝袜中文字幕一区| 9人人澡人人爽人人精品| 午夜久久久久久久久| 中文字幕不卡在线播放| 欧美男生操女生| k8久久久一区二区三区| 免费av成人在线| 亚洲精品va在线观看| 久久精品欧美日韩| 91精品蜜臀在线一区尤物| 成人美女视频在线观看18| 麻豆高清免费国产一区| 一区二区三区欧美视频| 国产亚洲精品7777| 欧美一二三在线| 欧洲视频一区二区| 不卡一区二区在线| 国模冰冰炮一区二区| 三级亚洲高清视频| 一区二区在线观看视频在线观看| 久久久另类综合| 精品国产露脸精彩对白| 91精品久久久久久蜜臀| 欧美视频在线一区二区三区| 成人av电影在线| 成人永久免费视频| 国产伦精品一区二区三区视频青涩| 亚洲第一主播视频| 一区二区三区精品在线| 亚洲视频在线一区| 中文字幕日韩av资源站| 国产欧美一区二区精品秋霞影院| 精品国产区一区| 日韩午夜在线影院| 欧美高清视频不卡网| 欧美私模裸体表演在线观看| 色欧美日韩亚洲| 91久久精品国产91性色tv| 91麻豆123| 欧美制服丝袜第一页| 欧美在线高清视频| 欧美探花视频资源| 6080国产精品一区二区| 欧美一区二区三区在线| 日韩精品一区二区三区视频 | 高清shemale亚洲人妖| 国产精品伊人色| 国产不卡视频一区| 波多野结衣一区二区三区 | 日韩视频一区二区| 欧美电影精品一区二区| 久久人人97超碰com| 中文字幕不卡在线观看| 国产精品麻豆网站| 一区二区高清在线| 三级久久三级久久| 国产一区二区三区综合| 99在线热播精品免费| 欧美三级韩国三级日本三斤 | 国产一区二区三区四区五区入口| 久久97超碰色| 成人久久视频在线观看| 在线亚洲高清视频| 欧美成人a视频| 中文字幕一区二区三区在线播放 | 成人免费视频一区| 在线免费观看日韩欧美| 日韩三级.com| 欧美经典一区二区三区| 夜夜爽夜夜爽精品视频| 老司机精品视频导航| 99久久精品免费看国产 | 国产成人免费高清| 欧美在线一区二区三区| 欧美mv日韩mv国产| 亚洲日本丝袜连裤袜办公室| 日韩精品电影一区亚洲| 成人激情动漫在线观看| 欧美午夜不卡视频| 精品国产精品一区二区夜夜嗨| 亚洲欧美另类综合偷拍| 免费高清在线视频一区·| 91亚洲精华国产精华精华液| 欧美一区二区三区日韩| 一区二区三区精品视频在线| 国产一区日韩二区欧美三区| 欧美猛男男办公室激情| 亚洲欧洲成人自拍| 九色综合狠狠综合久久|