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

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

?? 步進法凸包.lsp

?? 計算幾何中的幾種lisp語言的算法
?? LSP
字號:
;;;************************************************************************
;;;一個求點集合的凸包的lisp程序--------------------------------------------
;;;------采用的算法為禮品包扎法--------------------------------------------
;;;方法為最右端的點開始處理,將該點作為凸包邊界的第一個點P1,從最初的垂直線
;;;方向繞P1順時針旋轉,直到碰到另一個P2這就是凸包邊界的第二個點P2,依此類推
;;;p2求得p3......直到又重新回到p1,已經考慮了各種退化情況和浮點運算,其算法
;;;時間不超過O(n.h),其中h是凸包的復雜度,時間還是很快的。大家不妨驗證。    
;;;參考文獻<<計算幾何-算法及其應用>>(第二版),以及參考了其他網站的一些源代碼
;;;------------------------------------------------------------------------
;;;其中程序主段是核心算法,其他的附加程序為取得點集,畫凸包邊界線,測試大量
;;;點集函數處理所花費的時間。----------------------------------------------
;;;用法: 加載lisp運行test選取點,直線段,或多義線(全是直線段組成)即可。----
;;;************************************************************************
(defun C:test (/ olderr en errmsg oldmode oce sl ss t0 ptlist pp)
  ;;定義錯誤函數和預處理--------------------
  (setvar "errno" 0)
  (setq olderr *error*)
  (defun *error* (msg)
    (setq en (getvar "errno"))
    (setq errmsg (strcat "errno=" (itoa en) "\nError:" msg))
    (alert errmsg)
    (setq *error* olderr)
  )
  (graphscr)
  (setq oldmode (getvar "osmode"))
  (setq oce (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (command ".ucs" "W")
  ;;也可以用其他方式取得點集----------------
  ;;取點,畫線,并對函數用時計算------------
  (setq	sl '((-4 . "<OR")
	     (0 . "POINT")
	     (0 . "LINE")
	     (0 . "POLYLINE")
	     (0 . "LWPOLYLINE")
	     (-4 . "OR>")
	    )
  )
  (setq ss (ssget sl))
  (setq ptlist (getpt ss))
  (setq t0 (getvar "TDUSRTIMER"))
  (setq pp (hull ptlist))
  (princ "\n用時")
  (princ (* (- (getvar "TDUSRTIMER") t0) 86400))
  (princ "秒")
  (if (= nil pp)
    (progn
      (alert "點的有效數目太小,請重新輸入!")
      (command ".ucs" "p")
      (setvar "osmode" oldmode)
      (setvar "cmdecho" oce)
      (princ)
    )
    (progn
      ;;畫凸包邊界線------------------------
      (setvar "osmode" 0)
      (entmake
	(append
	  '((0 . "lwpolyline")
	    (100 . "AcDbEntity")
	    (100 . "AcDbPolyline")
	   )
	  (list (cons 90 (length pp)))
	  (mapcar '(lambda (x) (cons 10 (list (car x) (cadr x)))) pp)
	  (list (cons 70 1))
	  (list (cons 62 1))
	)
      )
      (command ".ucs" "P")
      (setvar "osmode" oldmode)
      (setvar "cmdecho" oce)
      (princ)
    )
  )
)
;;;*****************************************
;;;*****************************************
;;;程序主段,可以單獨成為函數---------------
(defun hull (ptlist / pfirst p0 p1 p2 pp)
  (cond
    ( (= (length ptlist) 0)
      nil
    )
    ( (or nil (= (length ptlist) 1) (= (length ptlist) 2))
      (progn
        (alert "你輸入的點為兩點或一點!")
        ptlist
      )
    )
    ( t
      (progn
        ;;計算--------------------------------
        (setq pfirst (maxium ptlist))
        (setq p1 pfirst
	      p0 (list (car pfirst) (+ 1.0 (cadr pfirst)))
        )
        (setq p2 (angmax ptlist p0 p1))
        (setq pp (cons p2 (list p1)))
        (while (not (equal pfirst p2 1e-8))
	  (setq pp (cons p2 pp))
	  (setq p0 p1
	        p1 p2
	        p2 (angmax ptlist p0 p1)
	  )
        )pp     
      )
    )
  )
)
;;;程序主段結束-----------------------------
;;;*****************************************
;;;*****************************************
;;依據曉東網站的代碼改寫而成的取點函數------
(defun getpt (ss / i listpp a b c d)
  (setq	i 0
	listpp nil
  )
  (if ss
    (repeat (sslength ss)
      (setq a (ssname ss i))
      (setq b (entget a))
      (setq ename (cdr (assoc 0 b)))
      (cond
	((or nil (= ename "POLYLINE") (= ename "LWPOLYLINE"))
	 (progn
	   (setq c (xdl-pl-vertexs a))
	   (setq listpp (append c listpp))
	 )
	)
	((= ename "LINE")
	 (progn
	   (setq c (cdr (assoc 10 b)))
	   (setq d (cdr (assoc 11 b)))
	   (setq listpp (cons c listpp))
	   (setq listpp (cons d listpp))
	 )
	)
	((= ename "POINT")
	 (progn
	   (setq c (cdr (assoc 10 b)))
	   (setq listpp (cons c listpp))
	 )
	)
      )
      (setq i (1+ i))
    )
  )
  listpp
)
;;定義順時針方向的夾角為正值,反之為負
(defun ang (p1 p0 p2 / x)
  (setq x (- (angle p1 p2) (angle p1 p0)))
  (cond
    ((equal p1 p2 1e-8) 0)
    ((<= (abs (- x 1e-8)) Pi) x)
    (t (- x (* (/ x (abs x)) 2 Pi)))
  )
)
;;求點集中順時針方向的夾角的最大值的點
(defun angmax (ptlist p0 p1 / ppp)
  (setq ppp (mapcar '(lambda (x) (ang p1 p0 x)) ptlist))
  (nth (vl-position (apply 'max ppp) ppp) ptlist)
)
;;排序函數----------------------------
(defun maxium (ptlist)
  (car
    (vl-sort ptlist
	     '(lambda (e1 e2)
		(if (equal (car e1) (car e2) 1e-8)
		  (> (cadr e1) (cadr e2))
		  (> (car e1) (car e2))
		)
	      )
    )
  )
)
;;取得多邊形頂點------------------感謝eachy!
(defun xdl-pl-vertexs (e / n lst)
  (if (= e nil)
    nil
    (progn
      (setq lst
	     (repeat (setq n (fix (1+ (vlax-curve-getendparam e))))
	       (setq lst
		      (cons (vlax-curve-getpointatparam e (setq n (1- n))) lst)
	       )
	     )
      )
      (if (= 0 (cdr (assoc 70 (entget e))))
	lst
	(cdr lst)
      )
    )
  )
)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久综合色一本| 日韩欧美一区中文| 国产黄色精品网站| 美女免费视频一区二区| 天天av天天翘天天综合网色鬼国产 | 亚洲一级电影视频| 亚洲最大色网站| 一区二区国产视频| 亚洲国产精品久久久男人的天堂 | 国产日韩欧美制服另类| 26uuu国产一区二区三区| 亚洲最大的成人av| 天天操天天色综合| 激情综合色播激情啊| 国产一区二区免费视频| 成人激情免费视频| 欧美在线视频你懂得| 日韩一区二区免费高清| 欧美精品一区视频| 亚洲视频免费在线观看| 亚洲va天堂va国产va久| 久久99热这里只有精品| 丁香桃色午夜亚洲一区二区三区| 成人av中文字幕| 欧美三级电影在线观看| 日韩欧美久久久| 国产精品久久久久久福利一牛影视| 亚洲人成伊人成综合网小说| 日欧美一区二区| 成人97人人超碰人人99| 欧美日韩国产一二三| 国产日产亚洲精品系列| 一区二区成人在线观看| 狠狠久久亚洲欧美| 日本精品一区二区三区四区的功能| 日韩免费高清视频| 亚洲免费在线视频| 九九精品一区二区| 91久久精品一区二区三区| 精品国产一区二区三区久久影院| 中文字幕欧美一| 精品亚洲成a人| 在线观看日韩电影| 国产欧美中文在线| 免费高清在线一区| 欧美午夜视频网站| 国产日产亚洲精品系列| 蜜臀av一区二区在线免费观看 | 午夜不卡在线视频| 成人ar影院免费观看视频| 日韩精品专区在线影院重磅| 亚洲精品网站在线观看| 国产高清精品久久久久| 91精品国产综合久久精品app| 中文字幕欧美区| 国内精品自线一区二区三区视频| 欧美视频中文字幕| 亚洲人成网站精品片在线观看| 国产一区视频在线看| 日韩午夜激情视频| 日韩中文字幕亚洲一区二区va在线 | 免费观看91视频大全| 91久久奴性调教| 亚洲色图20p| av欧美精品.com| 亚洲国产成人在线| 国产成人亚洲综合a∨婷婷图片| 欧美va亚洲va| 精品无人码麻豆乱码1区2区 | 国产一区在线视频| 欧美精品一区二区三区在线播放| 免费观看久久久4p| 91精品国产91久久久久久一区二区 | 国产日韩欧美在线一区| 国产精品一区二区久久精品爱涩 | 色综合欧美在线视频区| 国产精品国产三级国产普通话蜜臀 | 成人一区二区在线观看| 日本一区二区三区在线观看| 国产精品123| 国产精品美女久久久久av爽李琼| 成人午夜视频网站| 国产精品全国免费观看高清| 成人av动漫网站| 亚洲图片欧美激情| 91精品福利视频| 五月天一区二区三区| 欧美一卡二卡在线观看| 紧缚奴在线一区二区三区| 久久久国产精品麻豆| 成人黄色免费短视频| 亚洲欧美视频在线观看视频| 欧洲亚洲国产日韩| 奇米一区二区三区| 国产无人区一区二区三区| 91亚洲午夜精品久久久久久| 亚洲电影视频在线| 2020国产精品| 92精品国产成人观看免费 | 久久美女艺术照精彩视频福利播放| 国产精品主播直播| 一区二区在线观看免费视频播放| 欧美性xxxxxx少妇| 国产乱码字幕精品高清av | 欧美日韩黄色影视| 韩国v欧美v亚洲v日本v| 中文字幕永久在线不卡| 91国产精品成人| 激情欧美一区二区| 亚洲免费在线看| 精品国产乱码久久久久久1区2区| 99re这里只有精品6| 五月婷婷久久综合| 中文字幕一区二| 91精品国产色综合久久ai换脸 | 精品久久久久一区二区国产| 99久久伊人网影院| 七七婷婷婷婷精品国产| 成人免费一区二区三区在线观看 | 国产精品美女www爽爽爽| 欧美三片在线视频观看| 成人av网站免费观看| 日韩黄色片在线观看| 国产精品福利av| xnxx国产精品| 91精品国产综合久久精品app| 91视频一区二区| 国产成人亚洲综合a∨猫咪| 日本在线不卡视频一二三区| 亚洲六月丁香色婷婷综合久久 | 国产成人精品午夜视频免费| 首页国产丝袜综合| 亚洲精品国产一区二区精华液 | 日韩免费性生活视频播放| 在线精品视频一区二区| av在线一区二区三区| 国产一区美女在线| 日韩av一区二区三区四区| 亚洲一级二级在线| 亚洲天堂福利av| 中文字幕中文字幕中文字幕亚洲无线| 精品卡一卡二卡三卡四在线| 欧美一区二区在线视频| 777久久久精品| 欧美伦理视频网站| 51精品视频一区二区三区| 欧美在线视频日韩| 欧美日韩国产首页在线观看| 色av成人天堂桃色av| 91网页版在线| 色婷婷久久一区二区三区麻豆| av综合在线播放| 色哟哟日韩精品| 91国产视频在线观看| 欧美日韩亚洲综合一区| 欧美美女喷水视频| 欧美日产国产精品| 91超碰这里只有精品国产| 欧美一级免费大片| 久久综合九色综合97婷婷女人| www激情久久| 国产精品毛片无遮挡高清| 亚洲欧洲精品一区二区三区| 亚洲精品亚洲人成人网| 亚洲va天堂va国产va久| 免费xxxx性欧美18vr| 国产一区二区三区电影在线观看| 国产ts人妖一区二区| 99综合影院在线| 欧美日韩亚洲另类| 欧美tickling挠脚心丨vk| 久久久精品中文字幕麻豆发布| 日本一区二区三区四区 | 777午夜精品免费视频| 欧美r级在线观看| 国产精品免费看片| 亚洲综合一区二区精品导航| 日本欧美肥老太交大片| 国产suv一区二区三区88区| 色老头久久综合| 26uuu亚洲婷婷狠狠天堂| 中文字幕一区日韩精品欧美| 无吗不卡中文字幕| 成人午夜在线播放| 欧美日韩国产123区| 久久综合九色综合久久久精品综合| 国产精品动漫网站| 日韩精品高清不卡| 成人精品国产一区二区4080| 欧美午夜视频网站| 久久久777精品电影网影网| 亚洲精品视频在线看| 国产精品一区二区免费不卡| 欧美在线短视频| 中文字幕第一区第二区| 日本一区中文字幕| 色综合久久天天| 久久久美女毛片| 日韩一区欧美二区| 91免费观看国产|