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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? robot-kinematics.cl

?? HUMAN BODY TRACKING 的Lisp 程式碼檔案
?? CL
字號(hào):

;This code written in ANSI Common Lisp (Allegro CL 5.0) by Prof. Robert
;McGhee at the Naval Postgraduate School, Monterey, CA93943. Contact: 
;mcghee@cs.nps.navy.mil. Date of last modification: June 4, 2000.

(defun transpose (matrix)           ;A matrix is a list of row vectors.
  (cond ((null (cdr matrix)) (mapcar 'list (car matrix)))
        (t (mapcar 'cons (car matrix) (transpose (cdr matrix))))))

(defun dot-product (vector-1 vector-2);A vector is a list of numerical atoms. 
  (apply '+ (mapcar '* vector-1 vector-2)))     

(defun cross-product (vector-1 vector-2)
  (let ((x1 (first vector-1)) (y1 (second vector-1)) (z1 (third vector-1))
        (x2 (first vector-2)) (y2 (second vector-2)) (z2 (third vector-2)))
       (list (- (* y1 z2) (* y2 z1)) (- (* x2 z1) (* x1 z2)) 
             (- (* x1 y2) (* x2 y1)))))

(defun vector-magnitude (vector) (sqrt (dot-product vector vector)))

(defun normalize-vector (vector) 
  (scalar-multiply (/ (vector-magnitude vector)) vector)) 

(defun post-multiply (matrix vector) 
  (cond ((null (rest matrix)) (list (dot-product (first matrix) vector)))
        (t (cons (dot-product (first matrix) vector)
                 (post-multiply (rest matrix) vector)))))

(defun pre-multiply (vector matrix)
  (post-multiply (transpose matrix) vector))

(defun 3D-postmultiply (3D-array vector)
  (if (null (rest 3D-array)) (list (post-multiply (first 3D-array) vector))
      (cons (post-multiply (first 3D-array) vector)
            (3D-postmultiply (rest 3D-array) vector))))

(defun matrix-multiply (matrix1 matrix2)
  (cond ((null (rest matrix1)) (list (pre-multiply (first matrix1) matrix2)))
        (t (cons (pre-multiply (first matrix1) matrix2)
                 (matrix-multiply (rest matrix1) matrix2)))))

(defun chain-multiply (L)     ;L is a list of names of conformable matrices.
  (cond ((null (cddr L)) (matrix-multiply (eval (car L)) (eval (cadr L))))
        (t (matrix-multiply (eval (car L)) (chain-multiply (cdr L))))))

(defun cycle-left (matrix) (mapcar 'row-cycle-left matrix))

(defun row-cycle-left (row) (append (cdr row) (list (car row))))

(defun cycle-up (matrix) (append (cdr matrix) (list (car matrix))))

(defun unit-vector (one-column length)         ;Column count starts at 1.
  (do ((n length (1- n))
       (vector nil (cons (cond ((= one-column n) 1) (t 0)) vector)))
      ((zerop n) vector)))

(defun unit-matrix (size)
  (do ((row-number size (1- row-number))
       (I nil (cons (unit-vector row-number size) I)))
      ((zerop row-number) I)))

(defun concat-matrix (matrix1 matrix2)
  (if matrix1 (cons (append (first matrix1) (first matrix2))
                    (concat-matrix (rest matrix1) (rest matrix2)))))

(defun augment (matrix)
  (concat-matrix matrix (unit-matrix (length matrix))))

(defun normalize-row (row) (scalar-multiply (/ 1.0 (first row)) row))

(defun scalar-multiply (scalar vector)
  (cond ((null vector) nil) 
        (t (cons (* scalar (first vector))
                 (scalar-multiply scalar (rest vector))))))

(defun solve-first-column (matrix)     ;Reduces first column to (1 0 ... 0).
  (do* ((remaining-row-list matrix (rest remaining-row-list))
        (first-row (normalize-row (first matrix))) 
        (answer (list first-row)
                (cons (vector-add (first remaining-row-list)  
                        (scalar-multiply (- (caar remaining-row-list))
                                          first-row)) answer)))
       ((null (rest remaining-row-list)) (reverse answer))))

(defun vector-add (vector-1 vector-2) (mapcar '+ vector-1 vector-2))

(defun vector-subtract (vector-1 vector-2) (mapcar '- vector-1 vector-2))

(defun matrix-subtract (matrix-1 matrix-2)
  (mapcar #'vector-subtract matrix-1 matrix-2))

(defun subtract-unit-matrix (square-matrix)
  (matrix-subtract square-matrix (unit-matrix (length square-matrix))))

(defun sum-of-elements-squared (matrix)
  (apply '+ (mapcar #'dot-product matrix matrix)))

(defun rms-inverse-error-metric (matrix approximate-inverse-matrix)
  (let* ((M matrix) (M-inv approximate-inverse-matrix) (n (length M))
         (error-matrix (subtract-unit-matrix (matrix-multiply M M-inv)))
         (S (sum-of-elements-squared error-matrix)))
        (/ (sqrt S) n)))

(defun first-square (matrix)  ;Returns leftmost square matrix from argument.
  (do ((size (length matrix))
       (remainder matrix (rest remainder))
       (answer nil (cons (firstn size (first remainder)) answer)))
      ((null remainder) (reverse answer))))

(defun firstn (n list) 
  (cond ((zerop n) nil) 
         (t (cons (first list) (firstn (1- n) (rest list))))))

(defun pivot-row-firstn (n list)
  (append (pivot-row-first (firstn n list)) (nthcdr n list)))  

(defun matrix-inverse (matrix)
  (do* ((M (pivot-row-first (augment matrix))
           (pivot-row-firstn n (cycle-left (cycle-up M))))
        (n (1- (length matrix)) (1- n))
        (exit-flag (= 0 (caar M)) (= 0 (caar M))));Prevents division by zero.
       ((or (minusp n) exit-flag) (if (not exit-flag) (first-square M)))
       (setf M (solve-first-column M))))

(defun pivot-row-first (matrix)  ;This function finds row with largest first
  (cond ((null (cdr matrix)) matrix) ;element and moves it to top of matrix.
        (t (if (> (abs (caar matrix))
                  (abs (caar (pivot-row-first (cdr matrix))))) matrix
               (append (pivot-row-first (cdr matrix)) 
                       (list (car matrix)))))))

(defun dh-matrix (rotate twist length translate)
  (let ((cosrotate (cos rotate)) (sinrotate (sin rotate))
        (costwist (cos twist)) (sintwist (sin twist)))
       (list (list cosrotate (- (* costwist sinrotate)) 
                   (* sintwist sinrotate) (* length cosrotate))
             (list sinrotate (* costwist cosrotate)
                   (- (* sintwist cosrotate)) (* length sinrotate))
             (list 0. sintwist costwist translate)
             (list 0. 0. 0. 1.))))
 
(defun homogeneous-transform (orientation position)
  (let* ((roll (first orientation)) (elevation (second orientation))
         (azimuth (third orientation)) (x (first position))
         (y (second position)) (z (third position))
         (spsi (sin azimuth)) (cpsi (cos azimuth)) (sth (sin elevation))
         (cth (cos elevation)) (sphi (sin roll)) (cphi (cos roll)))
        (list (list (* cpsi cth) (- (* cpsi sth sphi) (* spsi cphi))
                    (+ (* cpsi sth cphi) (* spsi sphi)) x)
              (list (* spsi cth) (+ (* cpsi cphi) (* spsi sth sphi))
                    (- (* spsi sth cphi) (* cpsi sphi)) y)
              (list (- sth) (* cth sphi) (* cth cphi) z)
              (list 0. 0. 0. 1.))))

(defun inverse-H (H)         ;H is a 4x4 homogeneous transformation matrix.
  (let* ((minus-P (list (- (fourth (first H)))
                        (- (fourth (second H)))
                        (- (fourth (third H)))))
         (inverse-R (transpose (first-square (reverse (rest (reverse H))))))
         (inverse-P (post-multiply inverse-R minus-P)))
        (append (concat-matrix inverse-R (transpose (list inverse-P)))
                (list (list 0 0 0 1)))))

(defun rotation-matrix (euler-angles)
  (let* ((roll (first euler-angles)) (elevation (second euler-angles))
         (azimuth (third euler-angles)) 
         (spsi (sin azimuth)) (cpsi (cos azimuth)) (sth (sin elevation))
         (cth (cos elevation)) (sphi (sin roll)) (cphi (cos roll)))
        (list (list (* cpsi cth) (- (* cpsi sth sphi) (* spsi cphi))
                    (+ (* cpsi sth cphi) (* spsi sphi)))
              (list (* spsi cth) (+ (* cpsi cphi) (* spsi sth sphi))
                    (- (* spsi sth cphi) (* cpsi sphi)))
              (list (- sth) (* cth sphi) (* cth cphi)))))

(defun body-rate-to-euler-rate-matrix (euler-angles)
  (let* ((roll (first euler-angles)) (elevation (second euler-angles))
         (sth (sin elevation)) (cth (cos elevation)) (tth (tan elevation))
         (sphi (sin roll)) (cphi (cos roll)))
       (list (list 1 (* tth sphi) (* tth cphi))
             (list 0 cphi (- sphi))
             (list 0 (/ sphi cth) (/ cphi cth)))))

(defun rad-to-deg (angle) (* 57.29577951308232 angle))

(defun deg-to-rad (angle) (* 0.017453292519943295 angle))

(defvar M '((1 1 -1) (-1 3 -1) (3 -5 -2)))

(defvar N '((1 2 3) (4 5 6) (7 8 9)))

(defvar L '((3 2 1) (4 5 6) (7 8 9)))

(defun test1 () (matrix-inverse M)) ;Problem 2-9(a) in Kuo.

(defun test2 () (matrix-inverse N))

(defun test3 () (matrix-inverse L))

(defun test4 () (matrix-multiply L (test3)))

(defun test5 () (rms-inverse-error-metric L (matrix-inverse L)))

(defun test6 () (rms-inverse-error-metric M (matrix-inverse M)))

(defvar v '(1 2 3))

(defvar 3D-array '(((1 1 1) (2 2 2)) ((3 3 3) (4 4 4))))

(defun test () (3D-postmultiply 3D-array v))

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re热这里只有精品视频| 色综合久久久久综合体桃花网| 国产精品色婷婷久久58| 亚洲欧洲日产国产综合网| 欧美裸体bbwbbwbbw| 粉嫩久久99精品久久久久久夜| 偷拍一区二区三区四区| 国产精品国产三级国产专播品爱网 | 成人高清在线视频| 蜜桃精品在线观看| 亚洲最快最全在线视频| 中文字幕精品—区二区四季| 欧美日韩高清一区二区不卡| 91玉足脚交白嫩脚丫在线播放| 久久99国产精品成人| 亚洲午夜激情av| 综合av第一页| 欧美国产成人精品| 精品三级av在线| 91麻豆精品国产自产在线观看一区| 9色porny自拍视频一区二区| 国产一区二区三区黄视频| 日韩国产欧美一区二区三区| 亚洲综合免费观看高清完整版| 国产精品美女久久久久久久| 精品88久久久久88久久久| 欧美一级搡bbbb搡bbbb| 欧美日韩国产成人在线91| 国产伦精品一区二区三区免费迷| 亚洲男人的天堂一区二区| 国产精品久久久久久久久图文区 | aaa亚洲精品| 国产精品综合在线视频| 精东粉嫩av免费一区二区三区| 日韩激情一区二区| 午夜电影一区二区| 亚洲1区2区3区4区| 亚洲国产一区二区a毛片| 成人免费毛片aaaaa**| 另类小说欧美激情| 久久精品久久久精品美女| 全部av―极品视觉盛宴亚洲| 日本女优在线视频一区二区| 视频在线在亚洲| 欧美aa在线视频| 美女爽到高潮91| 国产麻豆精品一区二区| 国产·精品毛片| jlzzjlzz欧美大全| 色综合久久久久综合体 | 欧美精品一区二区三区很污很色的| 精品久久久久久无| 久久久精品国产免费观看同学| 久久久国际精品| 国产精品麻豆99久久久久久| 亚洲欧洲国产日本综合| 亚洲一区二区三区在线看| 五月婷婷色综合| 久久精品国产第一区二区三区| 老司机免费视频一区二区三区| 韩日av一区二区| av高清久久久| 在线观看日韩电影| 91麻豆精品国产91久久久久久| 日韩欧美一级二级三级| 国产色爱av资源综合区| 亚洲精品日日夜夜| 日韩国产一二三区| 国产精品一区二区久激情瑜伽| 99视频超级精品| 欧美揉bbbbb揉bbbbb| 精品国产污网站| 日韩伦理av电影| 丝袜亚洲另类欧美综合| 国产一区二区成人久久免费影院| aa级大片欧美| 欧美一区二区三区日韩视频| 国产日韩欧美高清在线| 亚洲宅男天堂在线观看无病毒| 免费高清视频精品| av在线一区二区| 3d成人h动漫网站入口| 欧美国产精品一区| 亚洲第一二三四区| 国产成人在线免费观看| 欧美三区在线观看| 国产欧美va欧美不卡在线| 亚洲精品成人少妇| 国内精品伊人久久久久影院对白| 91丝袜美女网| 2023国产精品| 亚洲一区二区三区国产| 国产精品一区二区在线观看网站| 在线视频综合导航| 久久久高清一区二区三区| 亚洲午夜久久久久| 日韩欧美第一区| 亚洲激情中文1区| 国产精品一二三区在线| 欧美日韩国产系列| 综合自拍亚洲综合图不卡区| 九九久久精品视频| 欧美日韩国产综合一区二区三区| 国产免费成人在线视频| 蜜臀av性久久久久蜜臀aⅴ四虎 | 日本精品免费观看高清观看| 精品粉嫩aⅴ一区二区三区四区 | 成人在线一区二区三区| 日韩视频免费直播| 亚洲一区二区三区四区的| 成人免费毛片嘿嘿连载视频| 精品少妇一区二区三区视频免付费| 亚洲精品视频免费观看| 成人成人成人在线视频| 精品国产污网站| 蜜臀91精品一区二区三区| 欧美图区在线视频| 亚洲日本一区二区三区| 国产91在线|亚洲| 精品美女在线播放| 蜜臀av一区二区在线观看| 欧美色男人天堂| 尤物av一区二区| 色综合色综合色综合| 国产精品无码永久免费888| 国产精选一区二区三区| 久久一夜天堂av一区二区三区| 日本不卡一区二区| 91精品视频网| 日韩精品一二区| 911国产精品| 日韩和的一区二区| 4438x亚洲最大成人网| 日韩电影在线一区| 欧美一区二区三区四区五区| 日韩av电影免费观看高清完整版在线观看| 91国偷自产一区二区使用方法| 亚洲三级小视频| 欧洲精品在线观看| 亚洲综合自拍偷拍| 欧美三级日韩三级| 丝袜亚洲另类欧美| 欧美大片一区二区| 韩国欧美一区二区| 国产亚洲一区二区三区四区| 懂色av一区二区三区免费看| 中文字幕精品综合| 久久在线免费观看| 国产成人精品aa毛片| 国产精品伦一区| 色综合久久久久久久久久久| 亚洲高清视频在线| 欧美一区永久视频免费观看| 久久97超碰国产精品超碰| 久久久久久久网| 成人97人人超碰人人99| 亚洲精品国产一区二区精华液| 欧美在线一区二区| 美腿丝袜亚洲色图| 久久精品日产第一区二区三区高清版| 国产jizzjizz一区二区| 亚洲另类中文字| 91麻豆精品国产91久久久资源速度| 久久99久久久欧美国产| 欧美激情综合在线| 欧美在线短视频| 男人的j进女人的j一区| 国产喂奶挤奶一区二区三区 | 666欧美在线视频| 国产一区二区三区在线观看免费视频| 久久精品视频一区二区三区| 色综合色狠狠天天综合色| 偷拍与自拍一区| 国产三级精品在线| 欧美性大战久久久久久久| 另类欧美日韩国产在线| 中文字幕国产一区二区| 欧美日韩国产综合视频在线观看| 国产做a爰片久久毛片| 亚洲精品乱码久久久久久久久| 日韩视频在线永久播放| 99re热视频精品| 久久超碰97中文字幕| 亚洲欧洲日韩综合一区二区| 在线电影一区二区三区| 成年人国产精品| 人人超碰91尤物精品国产| 国产精品视频一二三区| 在线播放91灌醉迷j高跟美女| 岛国精品在线播放| 日韩高清不卡一区| 日韩一区在线看| www国产精品av| 欧美视频在线一区| www.日本不卡| 九九**精品视频免费播放| 亚洲综合视频网| 日本一区二区免费在线观看视频| 91精品国产欧美一区二区| 91麻豆国产精品久久|