точность вычисления, штангельциркуль
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > точность вычисления, штангельциркуль

точность вычисления, штангельциркуль

Ответ
Поиск в этой теме
Непрочитано 01.12.2009, 00:21 #1
точность вычисления, штангельциркуль
baaba
 
архитектор
 
Москва
Регистрация: 07.07.2007
Сообщений: 664

Вот, рисовал тут карту, на днях. Подумалось: как измерять длину дорог? На бумажной карте это делают измерителем (циркуль с двумя иглами). Можно обвести трассу полилинией и, затем, померять длину полилинии. Но захотелось что то вроде измерителя, на автолисп. Вот, набросалось такое:
Код:
[Выделить все]
(defun c:shtangel (/ pt1 pt2 c)
(setq pt1 (getpoint "\nEnter first point"))
(setq pt2 (getpoint "\nEnter second point"))

(defun dodist (a b)
(sqrt
    (+
        (expt(- (car a) (car b)) 2)
        (expt (- (cadr a) (cadr b)) 2))))
    
(setq c (dodist pt1 pt2))
(setq pn (getpoint "\nEnter next point"))

(while pn
    (setq c (+ c (dodist pt2 pn)))
    (setq pt2 pn)
    (setq pn (getpoint "\nEnter next point")))
(princ c) (princ))
Однако точность измерения меня не устроила, один знак потерялся, показываю скрин: http://omploader.org/vMncyMw
Сейчас, вот так быстро, не приходит в голову почему. Вобщем тут был долгий перерыв, я не брался за лисп, просто не было времени. Наверное я топчусь на месте? Интересно ваше мнение, и так просто, хочу пообщаться. Спасибо!
Просмотров: 3228
 
Непрочитано 01.12.2009, 02:41
#2
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


во первых есть функция (distance), во вторых зачем dodist внутри объявляется функции объявляеться как глобальный? Хотя по моему правильней полилинию нарисовать и померить - навскидку - чтоб лисп вспомнить:
Код:
[Выделить все]
(defun c:test ( / pt1 pt2 total)
(setq 	pt1 (getpoint "\nНачало ")
	total 0
);end of setq
(while (setq pt2 (getpoint pt1 (strcat "\nИтого " (rtos total) " ")))
(grdraw pt1 pt2 -1)
(setq	total (+ total (distance pt1 pt2))
	pt1 pt2
);end of setq
);end of while
(redraw)
total
);end of test
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 01.12.2009, 08:14
#3
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Штангенциркулем (не штангельциркулем) длину трассы только безумец может измерять. Лучше бы рулетку упомянул.

А трассы отрисованы отрезками и дугами? Да еще на каких попало слоях?
Profan вне форума  
 
Непрочитано 01.12.2009, 08:23
#4
Neutrino

Конструктор
 
Регистрация: 31.10.2007
СПб
Сообщений: 199


На бумажной карте длину кривых измеряют курвиметром.
__________________
П(ривет)
Городам и
Сёлам!
Neutrino вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > точность вычисления, штангельциркуль



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите изменить вычисления в макросе Малявка Программирование 4 09.10.2009 11:56
Создание штриховки, как инструмента вычисления площади ikoltsov AutoCAD 1 15.04.2009 19:02
Точность чисел возращаемых LISP ActiveX [N.S] LISP 20 28.03.2008 13:59
Точность при черчении Алексеевич AutoCAD 8 30.11.2005 11:27