Тема: Ошибка в алгоритме или так должно быть?

Строил я как-то триангуляционную сеть (TIN), в AutoCad Civil 3D 2008. Есть в этой сети терасы. Создал я поверхность - по 3dface. Строю горизонтали (изолинии), с шагом 0,5. И вот какую вещь я обнаружил, горизонталь которая проходит по внешнему краю терасы строится а горизонталь которая, по идее, должна построиться по внутреннему краю - нет. Вот фото, на нем красной линией обозначена недостающая горизонталь (295), по внутреннему краю терасы. Треугольники между красной линией и горизонталью 295 (зеленая линия), лежат в одной горизонтальной плоскости 295. Это фото - http://www.burshtein.org/triang.jpg А это файл сохраненный в 2004 формате - http://www.burshtein.org/triang.zip
Как Вы считаете, должна ли эта горизонталь строиться или нет?

Re: Ошибка в алгоритме или так должно быть?

Интересный случай. А самое интересное, что  ехтого нам даже не преподавали в институте (даже в голову не пришло студентам задать такой вопрос преподу). По алгоритму тут всё в порядке, математически должна быть одна горизонталь. Вот только назревает вопрос, а по какому краю ехту горизонталь проводить?

Re: Ошибка в алгоритме или так должно быть?

не пойму причём здесь терасы. горизонтали
строятся по отметкам, а не по терасам.
Если хотите увидеть терасу, чаще проводите горизонтали

Re: Ошибка в алгоритме или так должно быть?

> Vitalij
Математически - я не уверен, зависит от алгоритма (а они бывают разные) построения горизонталей. В любом случае, горизонталь не строится в треугольнике в котором все вершины на одной высоте. В нашем случае, это те треугольники, которые лежат между красной и зеленой линией.

> Victor
Причем здесь отметки, я говорю об алгоритме построения горизонталей, понятно что источник - отметки а затем треугольники триангуляционной сети (Делоне). Понятно что, если в данном случае я задам шаг 0,001 то смогу приблизится к наиболее представительной форме горизонталей. Но не точнее-ли, что-бы на внутренней стороне терасы (ступени, горизонтального уступа) тоже просчитывалась горизонталь?

Re: Ошибка в алгоритме или так должно быть?

Не дожно там быть горизонтали... Если следовать такой логике, на плоскости с одной высотой должно проходить бесконечное количество горизонталей.

Re: Ошибка в алгоритме или так должно быть?

> Ribins
Еще раз, совершенно определенно горизонталь не строиться по треугольникам 3 вершины которого полностью лежат на одной высоте (в одной полскости) - это избавляет от бесконечного числа горизонталей, разве не так?

Re: Ошибка в алгоритме или так должно быть?

> Ribins
Попробуйте построить простейший резервуар 100x100 (AutoCad Civil 3D 2008), в котором дно находится на отметке, скажем, ровно 100 и высотой 3, с уклоном стенок неважно каким. Задайте шаг горизонталей 0,5. И что-же, следуя вашей логике бесконечных горизонталей, в плоскости на отметке 100 горизонталь не должна отрисовываться (по нижней кромке),  а она есть!?

Re: Ошибка в алгоритме или так должно быть?

Резервуар тут - http://www.burshtein.org/triang1.jpg

Re: Ошибка в алгоритме или так должно быть?

В случае терасы, направление уклона не изменяется, в случае резервуара - изменяется на противоположное. Я ешё раз повторю - математически всё правильно, должна быть одна горизонталь. В резервуаре, она одна - замкнутая.

Re: Ошибка в алгоритме или так должно быть?

> Vitalij
Можно по подробнее про уклон? Я считаю, что место сочленения дна резервуара со стенкой и сочленение ступени терасы со стенкой равнозначны, нет? Ведь у плоскости уклон = 0. И здесь как раз играет роль алгоритм построения, скажем порядок выбора и обхода треугольников для построения.

Re: Ошибка в алгоритме или так должно быть?

резервуар:

----       ----
    \     /
     -----

тераса:

\
 \
  -----
       \
        \

Re: Ошибка в алгоритме или так должно быть?

Чтоб машина правильно построила горизонтали на террасе должны быть дадены отметки по внешнему и по внутреннему краю террассы.

Re: Ошибка в алгоритме или так должно быть?

> yri
Отметки дадены! См.->
http://www.burshtein.org/triang.zip

Re: Ошибка в алгоритме или так должно быть?

Моё мнение такое - горизонтали с одинаковой отметкой в этом случае прорисованы не должны быть, по крайней мере они должны где то замкнуться между собой. Но в этом случае поверхность обрывается и не видно сомкнуться ли эти горизонтали. Думаю здесь надо показать именно Террасу (в книге топографических условных знаков от 1989 года это называется "Терраса полей укреплённая"), может это тот случай, ну или что то подобное надо отобразить.

Re: Ошибка в алгоритме или так должно быть?

ну в принципе точку смыкания этих линий определить можно -с запада это район точки с координатами 8817785,207928 в 70 метрах от отметок, а с востока  - 8817983,207900 (http://www.burshtein.org/triang.zip). Как раз в этих точках внутренняя кромка террасы теряется, и следовательно этот участок можно отобразить как Терраса полей укреплённая с указанием высоты откоса.