1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны перебои в работе.
    Скрыть объявление

Несоответствие длин размерных линий и вычисленных.

Тема в разделе "Autodesk", создана пользователем MarkTven, 14 май 2016.

  1. MarkTven

    MarkTven Форумчанин

    Доброго времени суток Друзья! Начну с начала. В последнее время увлекся программами для калькулятора CASIO fx-9860G. Пока ничего особенного, начал с малого: прямая геодезическая задача, т.е. по двум координатам двух точек определяю расстояние между точками и дирекционный угол. Ну и конечно возник вопрос в тестировании программ, для этой цели решил использовать CIVIL 3D 2017. Процесс тестирования прост: черчу отрезок снимаю с него координаты начала и конца, вычисляю длину линии и дирекционный угол, потом сравниваю полученные длину и угол с данными на чертеже (проставляю размерные линии длина и угол как на рисунке). Но в результате получаю расхождения между вычисленными значениями и указанными на чертеже. Так вот мы пришли к сути моего вопроса. Друзья подскажите в чем причина такого расхождения? К примеру мои значения длинны и дирекционного угла вычисленные по координатам равны: длина-3,151556124, угол-146,0729452D.
     

    Вложения:

  2. ak_evg

    ak_evg Супермодератор Команда форума

    а чё не 20 знаков после запятой?
     
  3. Philin

    Philin Форумчанин

    Вы бы исходные и ваши функции для вычисления выложили.

    Но одинаковых чисел вы не получите, т.к. это всё равно что пытаться сравнить измерения бытовой рулеткой (в данном случае Civil с его макс негарантированным 8-м разрядом после запятой) с геодезической рулеткой (в данном случае CASIO с его узкоспециализированным математическим процессором с гарантированной точностью 21 разряд после запятой). Т.е. цифры будут разные, но доверять следует CASIO (при условии правильности введённого ему алгоритма вычислений и правильности введённых исходных данных).

    PS Я с этим сталкиваюсь постоянно, когда пишу программы на VBA. У автокад всего 8 знаков (округление математическое, как в школе учат), а на VBA их 14 (округление геодезическое, к чётному) и из-за этого приходится плясать с бубном для того чтобы понизить точность VBA и при округлении постараться получить такой результат, который бы был максимально приближен к вычислениям автокад.

    PPS Учитывайте ещё следующее - если вы в автокад просто тыкнули мышкой, а не ввели эти координаты ВРУЧНУЮ с клавиатуры
    [​IMG]
    то там могут быть любые цифры после третьего знака, которые вы не видите, но автокад их считает.

    PPPS Ввёл координаты вручную и получил в автокад то, что вы посчитали на CASIO (в пределах точности автокад):
    [​IMG]
     
    Последнее редактирование: 14 май 2016
    MarkTven, Qvinto и Мимокрокодил нравится это.
  4. MarkTven

    MarkTven Форумчанин

    ak_evg такое количество знаков мне нужно потому что работаю с линейными сооружениями, при достаточной длине сооружения, неправильное округление может привести к ужасающим последствиям.
    Philin спасибо за ответ!
    Мои функции это банальная теорема Пифагора и второй вариант комплексное число. Моя ошибка в том что брал произвольную линию. Просто от балды. В дальнейшем буду пользоваться проектными осями и профилями. Так намного интереснее. Раньше никогда этого не замечал, потому что работал с проектными коридорами и профилями, т.е построенными по точкам, которые вводились с клавиатуры.
    Всем спасибо! Вопрос можно закрыть!
     
  5. trir

    trir Форумчанин

    я в таких случаях, сразу лезу в _Units
     
  6. ak_evg

    ak_evg Супермодератор Команда форума

    хотел бы послушать, к каким последствиям ::-ohmy.gif:: может привести неиспользование 8 знаков после запятой, а главное чем Вы их измерять в реальности будете.
    Да и про число использования знаков после запятой я не просто так спросил, а потому, что длину измеряете до 8 знаков, а координаты до 3, о чем
    Philin, написал более развернуто.
     
  7. MarkTven

    MarkTven Форумчанин

    Всем спасибо за советы, разобрался в причине! Продолжаю погружение))))
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление