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

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

Сравнение трехмерных точек

Ответ
Поиск в этой теме
Непрочитано 15.05.2013, 03:28 #1
Сравнение трехмерных точек
nolte
 
спринклеры, сантехника
 
Регистрация: 26.01.2010
Сообщений: 190

вроде вопрос простой но не поддаются сравнению трехмерные точки. Черчу линию вдоль оси У координаты Х должны быть равны если делаю >= выдает nil а при сравнении < T как правильно сравнить
Код:
[Выделить все]
(setq n_l (ssadd))
	(setq n_l (ssget))
	(setq t1 (cdr (assoc 10 (entget (ssname n_l 0)))))
	(setq t2 (cdr (assoc 11 (entget (ssname n_l 0)))))
	(setq dl (distance t1 t2))
	(setq tz (polar t1 (angle t1 t2) (/ dl 2)))
	
		(if (and (>= (car t1) (car t2)) (>= (cadr t1) (cadr t2)) 
(>= (caddr t1) (caddr t2))) ;выдает nil, так как (>= (cadr t1) (cadr t2)) -- nil
			(progn
			(setq i 50)
			(setq ug (+ ug pi)))
			(setq ug (angle t1 t2))
		)
Просмотров: 2364
 
Непрочитано 15.05.2013, 08:59
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


В информатике, сравнивая вещественные числа, следует указывать точность, которая тебе нужна. Эта проблема - на уровне аппаратного обеспечения. Пример (код не сложный, суть поймёшь):
Код:
[Выделить все]
const double precision = 0.000001;
double a = 0, b = 0;

// некоторый код, присваивающий значения переменным 'a' и 'b'...

// сравниваем значения допуска и абсолютного значения разницы |a-b|.
bool same = fabs(a - b) < precision; 
if(!same) error("Значения не равны!");
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 15.05.2013, 10:45
#3
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
В информатике, сравнивая вещественные числа, следует указывать точность, которая тебе нужна.
А конкретно в Lisp надо для сравнения использовать функцию (equal expr1 expr2 [fuzz])
ShaggyDoc вне форума  
 
Непрочитано 15.05.2013, 10:52
#4
Дима_

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


Код:
[Выделить все]
 (equal pt1 pt2 0.0001)
Offtop: ops - обогнали на повороте
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 15.05.2013, 12:23
#5
nolte

спринклеры, сантехника
 
Регистрация: 26.01.2010
Сообщений: 190
Отправить сообщение для nolte с помощью Skype™


да разобрался кажется спасибо большое всем откликнувшимся.
nolte вне форума  
 
Непрочитано 15.05.2013, 12:31
#6
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от nolte Посмотреть сообщение
да разобрался кажется спасибо большое всем откликнувшимся.
казнить нельзя помиловать
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 15.05.2013, 16:19
#7
nolte

спринклеры, сантехника
 
Регистрация: 26.01.2010
Сообщений: 190
Отправить сообщение для nolte с помощью Skype™


да, есть такой грешок.
nolte вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Сравнение трехмерных точек



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт координат выбранных точек в *.txt slan.ru Программирование 184 23.03.2023 08:17
Линии электрических соединений Shoorup Программирование 23 07.02.2015 15:13
Нужен лисп для округлении координат у точек (Points). dotra LISP 4 17.05.2012 05:40
Импорт координат точек из файла съемки тахеометра Trimble M3 в AutoCAD Red Nova Программирование 33 17.05.2011 16:46
Нужна помощь! Полилиния с равными интервалами опорных точек. pffafer AutoCAD 8 14.03.2005 21:24