Новая версия сайта, доступна здесь.
Треугольники и полилинии
Площадь равнобедренного треугольника
Проверка направления обхода вершин в треугольнике на плоскости (версия 1)
Проверка направления обхода вершин в треугольнике на плоскости (версия 2)
Площадь треугольника (версия 1)
Площадь треугольника (версия 2)
Площадь треугольника (версия 3) используетcя формулa Герона
Площадь равнобедренного треугольника

eea-s_triangle_Isosceles.jpg (54 КБ)
;; eea-s_triangle_Isosceles.lsp (defun eea-s_triangle_Isosceles (r a) ;| ***************************************************************************************** by ElpanovEvgeniy Библиотечная функция, Площадь равнобедренного треугольника r - длинна боковой стороны а - угол между равными сторонами Дата создания 2000 - 2005 годы ***************************************************************************************** Library function. The area of an isosceles triangle. r - it is length a lateral face a - angle between the equal parties Date of creation 2000 - 2005 years. ***************************************************************************************** (setq p1 (getpoint "\n Select centre arc") p2 (getpoint p1 "\n Select start point") p3 (getpoint p1 "\n Select end point") r (distance p1 p2) a (- (angle p1 p3) (angle p1 p2)) ) ;_ setq (eea-s_triangle_Isosceles r a) ***************************************************************************************** |; (* r r (sin a) 0.5) ) ;_ defun
Проверка направления обхода вершин в треугольнике на плоскости
(версия 1)

eea-direction_triangle.jpg (51,3 КБ)
(defun eea-direction_triangle-1 (p1 p2 p3) ;| ***************************************************************************************** by ElpanovEvgeniy Библиотечная функция, Проверка направления обхода вершин в треугольнике на плоскости (версия 1) против часовой стрелки = Т Вырожденные треугольники, считаются против часовой!!! p1 p2 p3 - Вершины треугольника Дата создания 2000 - 2005 годы ***************************************************************************************** Library function. Check of a direction of detour of point in a triangle on a plane Counter-clockwise = Т Triangles of zero area, are considered against the Counter-clockwise!!! p1 p2 p3 - triangle point. Date of creation 2000 - 2005 years. ***************************************************************************************** (setq p1 (getpoint "\n The first point triangle") p2 (getpoint p1 "\n The second point triangle") p3 (getpoint p1 "\n The third point triangle") ) ;_ setq (eea-direction_triangle-1 p1 p2 p3) ***************************************************************************************** |; (> (* (- (car p1) (car p2)) (- (cadr p2) (cadr p3))) (* (- (cadr p1) (cadr p2)) (- (car p2) (car p3))) ) ;_ > ) ;_ defun
Проверка направления обхода вершин в треугольнике на плоскости
(версия 2)

eea-direction_triangle.jpg (51,3 КБ)
(defun eea-direction_triangle-2 (p1 p2 p3) ;| ***************************************************************************************** by ElpanovEvgeniy Библиотечная функция, Проверка направления обхода вершин в треугольнике на плоскости (версия 2) против часовой стрелки = Т Вырожденные треугольники, считаются против часовой!!! p1 p2 p3 - Вершины треугольника Дата создания 2000 - 2005 годы ***************************************************************************************** Library function. Check of a direction of detour of point in a triangle on a plane (version 2) Counter-clockwise = Т Triangles of zero area, are considered against the Counter-clockwise!!! p1 p2 p3 - triangle point. Date of creation 2000 - 2005 years. ***************************************************************************************** (setq p1 (getpoint "\n The first point triangle") p2 (getpoint "\n The second point triangle") p3 (getpoint "\n The third point triangle") ) ;_ setq (eea-direction_triangle-2 p1 p2 p3) ***************************************************************************************** |; (< (sin (- (angle p1 p2) (angle p1 p3))) 1e-14) ) ;_ defun
Площадь треугольника (версия 1)

eea-direction_triangle.jpg (51,3 КБ)
(defun eea-s_triangle-1 (p1 p2 p3) ;| ***************************************************************************************** by ElpanovEvgeniy Библиотечная функция, Площадь треугольника (версия 1) против часовой стрелки - положительная p1 p2 p3 - Вершины треугольника Дата создания 2000 - 2005 годы ***************************************************************************************** Library function. Area triangle (version 1) Counter-clockwise - positive p1 p2 p3 - triangle point. Date of creation 2000 - 2005 years. ***************************************************************************************** (setq p1 (getpoint "\n The first point triangle") p2 (getpoint "\n The second point triangle") p3 (getpoint "\n The third point triangle") ) ;_ setq (eea-s_triangle-1 p1 p2 p3) ***************************************************************************************** |; (/ (- (* (- (car p1) (car p2)) (- (cadr p2) (cadr p3))) (* (- (cadr p1) (cadr p2)) (- (car p2) (car p3))) ) ;_ - 2. ) ;_ / ) ;_ defun
Площадь треугольника (версия 2)

eea-direction_triangle.jpg (51,3 КБ)
(defun eea-s_triangle-2 (p1 p2 p3) ;| ***************************************************************************************** by ElpanovEvgeniy Библиотечная функция, Площадь треугольника (версия 2) против часовой стрелки - положительная p1 p2 p3 - Вершины треугольника Дата создания 2000 - 2005 годы ***************************************************************************************** Library function. Area triangle (version 2) Counter-clockwise - positive p1 p2 p3 - triangle point. Date of creation 2000 - 2005 years. ***************************************************************************************** (setq p1 (getpoint "\n The first point triangle") p2 (getpoint "\n The second point triangle") p3 (getpoint "\n The third point triangle") ) ;_ setq (eea-s_triangle-2 p1 p2 p3) ***************************************************************************************** |; (/ (+ (* (car p1) (- (cadr p2) (cadr p3))) (* (car p2) (- (cadr p3) (cadr p1))) (* (car p3) (- (cadr p1) (cadr p2))) ) ;_ + 2. ) ;_ / ) ;_ defun
Площадь треугольника (версия 3) используетcя формулa Герона

eea-direction_triangle.jpg (51,3 КБ)
(defun eea-s_triangle-3_geron (p1 p2 p3 / l p) ;| ***************************************************************************************** by ElpanovEvgeniy Библиотечная функция, Площадь треугольника (версия 3) Использует формулу Герона Удобно использовать с трехмерными координатами p1 p2 p3 - Вершины треугольника Дата создания 2000 - 2005 годы ***************************************************************************************** Library function. Area triangle (version 3) Uses the formula of Heron It is convenient to use with three-dimensional co-ordinates p1 p2 p3 - triangle point. Date of creation 2000 - 2005 years. ***************************************************************************************** (setq p1 (getpoint "\n The first point triangle") p2 (getpoint "\n The second point triangle") p3 (getpoint "\n The third point triangle") ) ;_ setq (eea-s_triangle-3_geron p1 p2 p3) ***************************************************************************************** |; (setq l (cons 0 (mapcar (function distance) (list p1 p2 p3) (list p2 p3 p1))) p (/ (apply (function +) l) 2.) ) ;_ setq (sqrt (abs (apply (function *) (mapcar (function -) l (list p p p p))))) ) ;_ defun
Площадь многоугольника

eea-area-polygon.jpg (51,3 КБ)
(defun eea-area-polygon (l) ;| ***************************************************************************************** by ElpanovEvgeniy Библиотечная функция, Площадь многоугольника против часовой стрелки - положительная используется формула: (+ (* (+ x1 x2)(- y1 y2) 0.5)(* (+ x2 x3)(- y2 y3) 0.5) .... ) l - Список вершин многоугольника Дата создания 2000 - 2005 годы ***************************************************************************************** Library function. Area triangle (version 3) Uses the formula of Heron It is convenient to use with three-dimensional co-ordinates l - List polyline point. Date of creation 2000 - 2005 years. ***************************************************************************************** (setq l (mapcar (function cdr) (vl-remove-if-not (function (lambda (x) (= (car x) 10))) (entget (car (entsel "\n Select lwpolyline "))) ) ;_ vl-remove-if-not ) ;_ mapcar ) ;_ setq (eea-area-polygon l) ***************************************************************************************** |; (/ (apply (function +) (mapcar (function (lambda (a b) (* (+ (car a) (car b)) (- (cadr a) (cadr b))) ) ) (cons (last l) l) l ) ;_ mapcar ) ;_ apply -2. ) ;_ - ) ;_ defun