Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2011, 09:35   #11
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

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

Последний раз редактировалось IgorGO; 13.01.2011 в 09:46.
IgorGO вне форума Ответить с цитированием
Старый 13.01.2011, 11:50   #12
veryprosto
Новичок
Джуниор
 
Регистрация: 12.01.2011
Сообщений: 10
По умолчанию

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

Вопрос в следующем, попробую переформулировать.

Имеется кривая на плоскости, состоящая из прямых отрезков разной длины, (длина этих отрезков - сегментов этой кривой) может очень сильно отличаться между собой.

Имеются координаты каждой точки этой кривой как по Х так и по У.

Эта кривая - рельеф земли.

Необходимо проложить трубу на глубине не менее 0,95м и не более 2,0м
так чтобы кривая трубы частично повторяла рельеф местности, но сглаживала неровности на небольших участках. т.е. если на участке в 10-30 метров рельеф сильно меняется, но труба этот участок должна пройти прямо.

Так вот, программа для расчета всех этих глубин у меня есть, мне нужно определиться с алгоритмом как находить точку перегиба. т.е. ту точку где труба меняла уклон. Как правило это точки с максимальной/минимальной отметкой. Грубо говоря пики, но повторюсь так чтобы эти пики были на некотором удалении друг от друга, чтобы расстояние между этими пиками было не менее 20, а ещё лучше 30-40 метров.

Точки перегиба нахожу в ручную, визуально, но мне бы алгоритм который на основе циферок, расчетов, выдавал сам эту точку.

Кроме этих цифирок ещё куча условностей и сложностей, но зная этот алгоритм я найду куда вставить диаметр, марку стали, продукт, температуру итп.

Система координат условная. В том файлике который я прикреплял есть эти координаты. они в том конкретном случае около 55,хх т.е. на 55 метров выше балтийского моря.(но это не важно).

На картинке синия кривая - кривая рельефа, а фиолетовая - кривая трубы которая должна получиться. Это условный пример, т.е. нарисованый в паинте, за несколько сек.
Изображения
Тип файла: gif 111.GIF (4.3 Кб, 144 просмотров)
veryprosto вне форума Ответить с цитированием
Старый 13.01.2011, 12:08   #13
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

дайте минимально допустимый радиус кривизны трубы.
Радиус равен бесконечности - это прямая труба.
Чем меньше радиус тем сильнее она изогнута. Нужен минимальный радиус изгиба для заданного профиля (момента жесткости) трубы
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 13.01.2011 в 12:11.
IgorGO вне форума Ответить с цитированием
Старый 13.01.2011, 12:17   #14
veryprosto
Новичок
Джуниор
 
Регистрация: 12.01.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
дайте минимально допустимый радиус кривизны трубы.
.

Условно, пусть будет 15 метров. минимальный радиус упругого изгиба.

Не знаю как это поможет?

Давайте абстрагируемся от трубы.

Математическая задача
У нас есть кривая. длиной около 500 метров. Нужно нарисовать ещё одну кривую которая на длинных участках повторяла исходную, а несколько коротких, находящихся рядом, срезала по прямой.

И чтобы эту кривую или хотя бы точки перегиба выдавала машина. без участия пользователя.

Входящие данные - координаты точек кривой.
veryprosto вне форума Ответить с цитированием
Старый 13.01.2011, 18:23   #15
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Вот, может быть, в качестве первого приближения...
В ячейке М24 задаем отклонение высот, которым можно пренебречь; жмем кнопку.
Не уверен насчет диаграмм в 2003, поэтому в архиве 1 файл в двух форматах.
Вложения
Тип файла: zip Трасса.zip (58.2 Кб, 56 просмотров)
nilem вне форума Ответить с цитированием
Старый 13.01.2011, 22:00   #16
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

nilem, если первая кривая - это поверхность земли, то вторая кривая (ось трубы) должна проходить минимум на 0.95м и максимум на 2.0м ниже отметок земли (меньше нельзя будет промерзать в наших широтах, глубже нельзя - у имеющейся землекопательной техники есть свои ТТХ).

на мой взгляд задача проложить трассу так, чтобы труба оказалась в указаных пределах залегания, и чтобы варить ее встык (без скосов) - это проще (можно поручить автомату), отсутсвие изломов уменьшает потери давления и позволяет увеличить расстояние между насосными станциями (а, следовательно, их количество и стоимость проекта в целом). у трубы есть предельный радиус изгиба, изогнем сильнее - она просто переломится, не в плане разорвется, а появиться излом, колено, резкое уменьшение сечения и опять же потери давления, причем в таком случае очень существенные... в таком месте ее надо разрезать и сделать излом.

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

veryprosto, я правильно изложил Ваши мысли?
копите деньги, с понедельника я могу занятся этой задачкой. мне как инженеру-строителю - это интересно с разных сторон...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.01.2011, 07:43   #17
veryprosto
Новичок
Джуниор
 
Регистрация: 12.01.2011
Сообщений: 10
По умолчанию

IgorGO, я конечно дико извиняюсь, но:

1. Предложить Вам какие либо деньги, врят ли у меня получится. Работаю на фирму на голом интузазизьме. Многие поколения проектирвщиков считали и будут считать это на калькуляторах. И не то чтобы купить программу, а даже не используют эксель. Хотя он здорово облегчает и ускоряет данную работу. Подобные программы есть, знаю несколько, только те которые представляют интерес - платные.

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

Мне нужно чтобы программа(в экселе либо VBA либо Delphi) находила точки перегиба. Даже не программа, хотя бы алгоритм словами.

Как считать остальное у меня уже есть наработки, т.е. мне это не нужно.

Ещё раз:

1. Я получаю задание на проектирование, и автокадовский файлик. типа того что в пдф сбросил. (только не заполненный)

2. Визуально, глазами, определяю точки перегиба(смены уклона)

3. Извлекаю данные из автокада в ексель

4. отмечаю точки перегиба(в ручную, нажимая на кнопку макроса для каждой точки перегиба)

5. Программа сама далее считает, и углы и прочие прочие прочие.

Так вот у меня все это уже есть!!!

Я не могу придумать как программу заставить самой определять точки перегиба!!!

Это единственное что мне бы хотелось узнать!
veryprosto вне форума Ответить с цитированием
Старый 14.01.2011, 09:43   #18
veryprosto
Новичок
Джуниор
 
Регистрация: 12.01.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от nilem Посмотреть сообщение
Вот, может быть, в качестве первого приближения...
В ячейке М24 задаем отклонение высот, которым можно пренебречь; жмем кнопку.
Не уверен насчет диаграмм в 2003, поэтому в архиве 1 файл в двух форматах.
Этот вариант уже несколько ближе к истине, только ...

К сожалению, обваловку в начале трассы труба проходит проколом, а не полностью повторяет рельеф.

Как я уже говорил, те места где рельеф на коротком промежутке меняется сильно труба проходит прямо.
т.е. нужно все же задействовать расстояние между точками.
не может труба размером в 10 метров изогнуться 4 раза на участке в 12 метров.

Просьба: не могли бы вы по русски описать алгоритм который используется в данном макросе, может на какую нить мысль натолкнёт.

У самого были идеи о том что отметки земли сравниваются между собой по циклу выбирается наивысшая/наинизшая отметка, потом сравниваются расстояния и на основе этого программа принимает решение ставить тут точку перегиба(смены уклона).
veryprosto вне форума Ответить с цитированием
Старый 14.01.2011, 11:09   #19
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Цитата:
Просьба: не могли бы вы по русски описать алгоритм который используется в данном макросе, может на какую нить мысль натолкнёт.
Примерно так.
Начиная с 1-й точки на графике, перебираем ординаты последующих точек до тех пор, пока отклонение от ординаты 1-й точки не превысит заранее заданной величины (например, 1 м). Запоминаем в массив координаты 1-го прямолинейного участка.
Берем ординату конца 1-го прямолинейного участка и сравниваем ее с ординатами следующих точек с тем же условием. Запоминаем в массив координаты 2-го прямолинейного участка . И т.д.
В массиве точки с повторяющимися координатами удаляем, строим график.

Такой пример: идем по равнине и вдруг - бац! - курган высотой 5 м и шириной 3 м. Исходя из условия макс. залегания трубы 2 м, нужно делать что-то вроде компенсатора. Или делаем прокол? Чтобы минимизировать перегибы, нужны доп. сведения по нормам проектирования.

Ну и вот это
Цитата:
Я не могу придумать как программу заставить самой определять точки перегиба!!!
Если нужны просто макс и мин графика (точки , где производная меняет знак - так вроде раньше это называлось), то м.б. это подойдет, см. файл (на всякий случай в 2-х форматах).
Вложения
Тип файла: zip ТрассаПерегибы.zip (44.4 Кб, 43 просмотров)
nilem вне форума Ответить с цитированием
Старый 14.01.2011, 13:31   #20
veryprosto
Новичок
Джуниор
 
Регистрация: 12.01.2011
Сообщений: 10
По умолчанию

Попробовал открыть на работе в 2003. выдает ошибку в макросе.
"объект дазнт саппорт дис пропети оф метод."

при нажатии на debug отмечает желтым
такие строки.
.Format.Fill.ForeColor.RGB = vbRed
.Points(i).MarkerStyle = 8: .Points(i).MarkerSize = 5
.Points(i).Format.Fill.ForeColor.RG B = RGB(220, 130, 140)

Може проблема в версиях екселя, попробую дома на 2007, отпишусь.
veryprosto вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Профиль друга soonner PHP 3 14.12.2010 20:37
Как удалить свой профиль ? s.Creator О форуме и сайтах клуба 2 07.01.2010 02:02
Неверная ссылка на профиль AlDelta О форуме и сайтах клуба 2 27.10.2007 21:03
Профиль администратора xTANATOSx Общие вопросы Delphi 3 10.10.2007 12:30