Страница 2 из 40

Re: 2ТЭ10М

СообщениеДобавлено: 07.09.2008, 23:37
agmike
а, это будет

Re: 2ТЭ10М

СообщениеДобавлено: 08.09.2008, 17:39
TRam_
наконец-то добрались до дыма (кстати, там цвет дыма от позиции меняется (от белого к чёрному)? п.с. незабудь потестить с адаптированным полувагоном. varz этого с ТЭ3 не делал) ... Поздравляю !!!

Re: 2ТЭ10М

СообщениеДобавлено: 08.09.2008, 20:01
agmike
TRam_ писал(а):наконец-то добрались до дыма (кстати, там цвет дыма от позиции меняется (от белого к чёрному)?

Как уже сказал, работает PFX - коптит теплавос

Tam_ писал(а):п.с. незабудь потестить с адаптированным полувагоном...

Смысл?

ЗЫ. На этом форуме цитаты когда нибудь исправят??? <angry> <angry>

Re: 2ТЭ10М

СообщениеДобавлено: 08.09.2008, 22:21
TRam_
я ж предлагал сделать pfx на несколько "степеней разгона", причём коптит он должен не только от позиции контроллёра, но и уменшьать копчение по прохождении неоторого времени (набор пфх должен состоять из 10-20 "видов" копчения как минимум, которые должны меняться). Кроме того, ночью(с 19 до 8 часов) все дымы должны быть ЧЕРНЫЕ а не белые, на малых позициях контроллёра даже при быстром наборе позиций дым белый, а наоборот, если долго ехать на максимальной позиции, дымление обязательно УМЕНЬШАЕТСЯ. Предлагаю вести расчёт дыма одновремменно с расходом топлива (в той же процедуре)
Насчёт термодинамики(нагрева) вплоне можно найти теплоёмкость "блок цил.+холодильник+вода". От количества теплоты (если открыты жалюзи) отнимается величина, зависяя от разности температуры в воде (которая сама является функцией от количества теплоты и теплоёмкости) и температуры воздуха (которая в свою очередь изменяется летом в зависимости от времени суток, а зимой постоянно низкая), и прибавляется величина, линейно зависящая от позиции контроллёра (лето-зима вроде можно определять)(
Код: Выделить всё
    ____
___/     \_____
    12     24
-зависимость температуры от времени летом)

И последнее - для упрощения написания скриптов можно пользоваться следующим:
..................//глобальные переменные
bool x=false;
................//продолжение скрипта
thread void vvv(void)//некая процедура vvv, которая должна быть запущена только 1 раз (например, дизель запуститься 2-ды ни разу не выключившись не может)
{
if(!x)
{ x=true;//включение блокировки. Теперь сколько не вызывай эту процедуру, она 2 раз не включится
................//собственно тело процедуры
x=false;
}
}
................//подолжение скрипта
[[/quote]
её можно вызывать сколько угодно раз, не беспокоясь, что произойдёт "НАЛОЖЕНИЕ" нескольких включений дизеля, если в скрипте не менять значение переменной x (или например несколько открытий жалюзей, тогда выключать жалюзи пришлось бы 2 раза), практически не требует ресурсов при работе в режиме "блокировки"
по крайней мере в ЧМЭ3 данная штука применялась не менее 3 раз, и позволил отказаться от многочисленных проверок включенности. Очень помогла для постановки движка "включения звука дизеля", может поможет и на 2тэ10...

пс. varz не успел доделать дымовой движок на ТЭ3 поэтому там включаются дымы №0 и №1 во всех вагонах поезда

Re: 2ТЭ10М

СообщениеДобавлено: 09.09.2008, 19:01
agmike
1. ВОт ты поверь, а скрипт от ЧМЭ3 я тоже видел.
2. "Принцип блокировки" не настолько важен как принцип Паули, чтоб его так объяснять (насчет последнего сеня долбила химичка, и то меньше объясняла :P )
3. Процедура и функция это 2 большие разницы (или 4 маленьких :D )
4. И не флоат а Буль!!!
Далее физика (мы все ее очень любим)
5. ТРС сделан в Австралии, что еще говорить про зиму/лето...
6. Расчет теплопроцессов уже готов, но однако прочитав что выше написано я ниче не понял... :huh: Как можно найти теплоемкость системы "цилинры-холодильник-вода"? Иной величины, прямо зависящей от позиции контроллера кроме как самой позиции не знаваю :huh:
В системе 3 тела: нагревающийся дизель, полтора центнера воды и еще где-то столькоже масла. Рассеиваемая мощность есть функция от расхода топлива, фактически от позиции КМ. ДАлее нужно найти в каком количестве тепло отходит к каждой системе. Вычитаем оттуда охлаждающую мощность, разумеется не забывая что она зависит от текущего нагрева систем. А далее - время и коэффициенты :wink:
Теперь дым.
7. Twinkes PFX это программа, в которой дым создается
8. Расчет дыма должен вестись вместе со звуками!!!!
9. Чистая арифметика: число позиций умножаем на число видов дыма и еще на 2 (трубы то две)=)
Поэтому дым будет всегда черный. И конешно, если та самая ПФХ заработает :beak:

Re: 2ТЭ10М

СообщениеДобавлено: 09.09.2008, 21:42
TRam_
Вычитаем оттуда охлаждающую мощность, разумеется не забывая что она зависит от текущего нагрева систем
и от времени суток (ночью холоднее)

нагревающийся дизель, полтора центнера воды и еще где-то столькоже масла
и холодильник, которій кстати не алюминивій, а стальной (не медній же)

процедура и функция 2 большие разницы
которые в данном языке отличаются только словами void и (bool, int, float.............) перед началом функции(процедуры)

Re: 2ТЭ10М

СообщениеДобавлено: 09.09.2008, 21:58
agmike
TRam_ писал(а):и холодильник, который кстати не алюминивый, а стальной (не медный же)
[/quote]
Холодильник не монолитный блок, а секции радиат[ров, которые хорошо передают тепло окружающему воздуху. Не вижу смысла расчитывать теплообмен между водой/маслом и радиатором. Это можно учитывать коэффициэнтом
[quote="TRam_"]
[quote]процедура и функция 2 большие разницы[/quote] которые в данном языке отличаются только словами void и (b[ol, int, float.............) перед началом функции(процедуры)
[/quote][

Опять лекция.
В ГС процедур НЕТ!
Если хочется на них посмотреть добро пожаловать в школу, там паскаль учат.
Главное отличие - функция не изменяет аргументы, а процедура совершает над ними операции.
Пример:
Код: Выделить всё
x := Abs(x); (1)
Abs(x); (2)

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

Re: 2ТЭ10М

СообщениеДобавлено: 10.09.2008, 00:29
TRam_
во-первых, void позволяет оформлять функцию в виде процедуры.
А в Си
Abs(x);
является бессмысленой, поскольку надо делать указатель на значение (Abs(&x); ). И если хочешь доказывать эти отличия, загрузись умными терминами Паскаля "передача по ссылке" и "передача по значению" (КОТОРЫЕ ИСПОЛЬЗУЮТСЯ КАК В ПРОЦЕДУРЕ, ТАК И В ФУНКЦИИ, абсолютно одинаково).

Лично я, когда писал процедуры, функции практически не применял, т.к. они выдают только 1 значение (не по ссылке, а напрямую, по return у), а как правило требовалось несколько. А в ГС обычно хватает глобальных переменных, поэтому рассуждать совершенно не в тему. (а между разными обьектами удобно пересылаться "письмами", которые также меняют глобальные переменные)

[quote]4. И не флоат а Буль!!![/quote][ на это ГС по* ( !(244333)=0 !(0) = 1 ). Но это неэкномично (много памяти)

Re: 2ТЭ10М

СообщениеДобавлено: 10.09.2008, 12:43
Combine
В гс все типы имеют одинаковый размер.

В тэ10 годы и масла по полторы тонны.

Трам, не надо считать всех глупее себя. У Михаила достаточно опыта, чтобы самостоятельно все сделать.

Re: 2ТЭ10М

СообщениеДобавлено: 10.09.2008, 14:32
agmike
Combine писал(а):В гс все типы имеют одинаковый размер.

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

Combine писал(а):В тэ10 годы и масла по полторы тонны.

Это я запамятовал. Извиняюсь за дезинформацию

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

Re: 2ТЭ10М

СообщениеДобавлено: 10.09.2008, 17:01
TRam_
а попросить-то хотелось только 2 вещей - 1) при длительной езде на любой позиции "медведь" дыма уменьшается(топливо сгорает полнее) 2) ночью можно дольше ехать на максимальной позиции не опасаясь перегрева (только не смог это сказать правильно....)

Re: 2ТЭ10М

СообщениеДобавлено: 10.09.2008, 19:51
agmike
TRam_ писал(а):а попросить-то хотелось только 2 вещей - 1) при длительной езде на любой позиции "медведь" дыма уменьшается(топливо сгорает полнее)

В таком случае можно привязать к температуре.. Вопрос сколько только тогда дыма надо будет делать :beak: пак линз к зет7 потеснится :boom:
TRam_ писал(а):2) ночью можно дольше ехать на максимальной позиции не опасаясь перегрева (только не смог это сказать правильно....)

это легко. Но ведь летом ночи очень теплые бывают тоже

Re: 2ТЭ10М

СообщениеДобавлено: 10.09.2008, 20:19
TRam_
15*2=30 (достаточно вроде, думаю больше уменьшать дымление не надо). PS. По поводу привязки к температуре - тут не в ней дело... Дело в том, что при наборе оборотов дизель сильнее дымит, чем при постоянстве (или снижении). А температура... (700 С сравниваем с +-30 С - колебаниями температуры воды)

Re: 2ТЭ10М

СообщениеДобавлено: 10.09.2008, 22:24
agmike
У нас же вроде не термоядерный реактор. выше 100 это уже плохо, при 700 уже металл поплывет О_о
15*2=30... хехе, а сколько градаций серого ты хочеш? надеюсь понятно что на каждый цвет и интенсивность идет отдельный файл дыма.

Re: 2ТЭ10М

СообщениеДобавлено: 10.09.2008, 22:38
TRam_
Википедия:
Из-за высокой степени сжатия (от 14:1 до 24:1), воздух нагревается до температуры самовоспламенения дизельного топлива (800—900°С)
если градации яркости(белый-черный) есть, то желательно так : на каждую позицию 2 одинаковых по свойствам и разных по цвету + 1 для дневного снижения количества. Ночью просто брать дым предыдущей позиции