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

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

Странное поведение координаты Z

Ответ
Поиск в этой теме
Непрочитано 08.06.2010, 21:09 #1
Странное поведение координаты Z
swkx
 
Регистрация: 22.01.2010
Сообщений: 311

Вечер добрый.

При отрисовке 3D-плиний всплыла странная штука - координаты некоторых вершин, если их вывести в теле программы функцией (princ), отображаются подобным образом:

(130.0 30.0 -3.55271e-015)
(130.0 20.0 -1.77636e-015)
(85.0 5.0 4.66294e-015)

Причем если чуть раньше точно так же вывести координаты точек, по которым строится 3Д-плиния, то увидим вполне человеческие значения:

(130.0 30.0 0.0)
(130.0 20.0 0.0)
(85.0 5.0 0.0)

Кроме того, _list с указанием на 3Д-плинию в текстовом окне показывает координаты 0.0. В окне свойств тоже 0.

Откуда берутся такие значения ?
Нужно ли с этим бороться ? И как, если нужно ?

На правильность работы это вроде не влияет, но уж как-то коряво выглядит.
Просмотров: 3441
 
Непрочитано 08.06.2010, 21:57
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Переведенная гуглом статья: Понимание и использование чисел с плавающей точкой
Оригинал
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 08.06.2010, 22:17
#3
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


Не нашел ответа ни на один из своих вопросов...
swkx вне форума  
 
Непрочитано 09.06.2010, 00:25
#4
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™



А зря. В двух словах - числа с плавающей точкой (в отличие от целых) имеют некоторую точность. В данном случае - это 15...16 значащих десятичных цифр. В команде _LIST и в окне свойств количество выводимых цифр после запятой определяется значением системной переменной LUPREC (см. команду _UNITS).
Александр Ривилис вне форума  
 
Непрочитано 09.06.2010, 00:28
#5
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


если эти нули были получены не присвоением а вычислением, например черчение полилинии с использованием привязок-трассировок или вычисление выражения в программе, то это не нули, а числа очень близкие к 0. то что в разных местах значения отображаются по разному - по разному настроены "отображатели" вещественных чисел.

еще одна статья для понимания особенностей вещественных чисел - http://www.delphikingdom.com/asp/vie...?catalogid=374
zamtmn вне форума  
 
Автор темы   Непрочитано 09.06.2010, 07:29
#6
swkx


 
Регистрация: 22.01.2010
Сообщений: 311


zamtmn,

я и не могу понять, откуда взялись "близкие к нулю" значения вершин, если у точек, по которым строится линия, эти значения = 0.
swkx вне форума  
 
Непрочитано 09.06.2010, 08:52
#7
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>эти значения = 0.
значит не равны
zamtmn вне форума  
 
Непрочитано 09.06.2010, 15:26
#8
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное поведение динамического блока высотной отметки hwd Динамические блоки 12 08.09.2011 11:15
Странное поведение некоторых размеров при перетаскивании. Marv AutoCAD 13 27.10.2010 14:40
Как перевести координаты Модели в координаты Листа? ===AAA=== Программирование 6 24.10.2007 22:09
Странное поведение команды FILLET - не продолжает, а двигает I.Van AutoCAD 2 08.08.2007 09:29