2014-12-01から1ヶ月間の記事一覧

Nbitサインな値を変換する

16進数を普通にparseするとunsignedな値に読めてしまうので、signedな値に変換する。 (defun gain-signedness (num &optional (bits 32)) (if (<= (expt 2 (1- bits)) num) (- num (expt 2 bits)) num))

2点を通る直線、直線と点の距離

(defun def-line (p1 p2) "2点を通る直線を定義する。 2点 p1(x1 y1) p2(x2 y2) が与えられたとき、ax + by + c = 0 を満たす(a b c)を返す。" (let ((x1 (car p1)) (y1 (cadr p1)) (x2 (car p2)) (y2 (cadr p2))) (list (- y2 y1) (- x1 x2) (- (* x2 y1) (…