Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет geladen ([info]geladen)
@ 2018-08-25 01:12:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Музыка:https://www.youtube.com/watch?v=IIHB7LGJsVg
Entry tags:внешняя баллистика, возликуй зануда, обмер рекордных рогов лося, песди уверенно неважно что, релиз, целкометр

бабац-ебалка (голем-оптимизатор)
Тебе, дорогой читатель, должно быть похуй, а ебалка в черновой версии 0.2 уже висит онлайн, теперь со вкусом мяты:
http://ptosis.ch/ebalka/ebalka.html

Умеет считать вероятность попадания в зависимости от всяких разных факторов и рисовать картинки, типа таких







Увага: показываются цифры попадания *первого* выстрела. Если спотер подкорректировал – цифры совсем другие.
Увага bis: на картинке рисуются 200 случайных попаданий, соответствующих рассеиванию, которые могут попасть не 100% точно – это чисто для иллюстрации. На заднем плане монтекарла гоняется по 2'500'000 заходов, цифрам верить.

Кроме того, я допилил клики в простые таблички траектории, и дополнил библиотеку стволов всякими достоверно известными армейскими комбинациями.

Известные глюки:
* Под телефоны и таблетки вообще не заточена, смотрится криво
* Она вообще смотрится криво (ненавижу, блядь, CSS)
* Считать там дохера, идёт реальный Учоный Процесс, от траекторий до монтекарлы. Поэтому после нажатия на главную кнопу "Кукан!" машинка подвисает, признаков жизни не подаёт, а бравзер порой ругается на "unresponsive script" (тогда надо ему отвечать "не ссы, continue"). На немолодом компьюторе оно занимает до 10 секунд, на двухгодовалом – секунду-другую. На десктопах лучше всего, прости Господи, гугольхромиум, бо фаерфокус, падло, всё то же самое считает в 4 раза медленнее.

В немедленных планах ---

По наморднику:
* индикатор Учоного Процесса. Тогда все будут знать, что он идёт, и вместо того, чтобы нервничать, напротив – будут испытывать тёплое чувство, что счётная мощь идёт на Пользу Дела, а не на сраные лайки в сраном фецбуке.
* возможность спасать картинку и вообще результаты
* зум туда-обратно на картинку
* наложить отметку точки прицеливания, сетки милдот, и метровой колбасы для масштаба
* не зумать туда-обратно отметки попадания, а оставлять одного и того же размера независимо от зума, бо иначе при сильном рассеивании они становятся меньше пикселя и пропадают

По расчётам:
* оптимизировать расчёты (выбор точности / количества заходов для монтекарлы, каш результатов, etc.)
* для разных факторов, в дополнение к отдельным цифрам по вертикали и горизонтали, считать общее влияние на рассеивание
* ошибка оценки атм. давления (в горах актуально)
* ошибка оценки скорости движения цели
* кол-во патронов, необходимое для поражения
* вероятность поражения с 2 выстрелов (когда спотер увидел рикошет и подкорректировал)
* "боевой ноль", прицел "П" (называйте как хотите) – сценарий расчётов о пользе прямого выстрела
* беглый огонь одиночными + автоогонь (время, необходимое на поражение + кол-во патронов)

По ресурсам:
* Добавить баллистику М4 и М16 с М855, а також СВД со штатным патроном
* Мишенек, может, ещё каких прикрутить

Был бы благодарен за замечания и пожелания по функционалу. По внешнему виду з. и п. принимаются только в виде кода (ненавижу, блядь, CSS).

Ну, за Науку!

То ли ещё будет...



(Добавить комментарий)


[info]kyzma
2018-08-25 08:59 (ссылка)
К - Кеширование (для начала) :)

var atmoAltitude = document.getElementById("atmoAltitude");
...
atmoAltitude.addEventListener("change", setStdAtmo);
...
atmo.setStd(UC.from(atmoAltitude.value, "m"));
...


etc.

потом по хорошему в модуль ннада оформлять если продолжать на ES5

(Ответить) (Ветвь дискуссии)


[info]geladen
2018-08-25 12:39 (ссылка)
по уму -- да, ты прав, модулями всё делать, с чёткими интерфейцами.
пока там спагетти изрядные.

с кешированием и оптимизациями, я думал -- надо напирать на то, что реально жрёт цпу, т.е.

1. расчёт траектории. для одного просчёта вероятности -- их уже 5, а скоро будет 7. на последнем i7 каждая -- об 100-150 миллисекунд, на телефоне тормозит несусветно.

там Math.pow() в расчёте плотности атмосферы (новой на каждые 7.62 см траектории) жрёт циклы как не в себя; надо просчитать заранее, и чисто лазить в табличку, расход уполовинится как минимум.

кроме того, если не сменились определяющие параметры траектории -- не пересчитывать (в памяти она и так сидит).

2. и, разумеется, монтекарла на миллионы заходов.

можно, конечно, поумерить интенсивность -- с 25'000 вместо 2'500'000 разница -- об десятую процента

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

короче, всё это вогнать в приемлемые рамки для небыстрых цпу, судя по всему, удастся.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kyzma
2018-08-25 14:46 (ссылка)
хм... сложные вычисления на серверную часть перегнать и брать JSON

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]geladen
2018-08-25 22:49 (ссылка)
надеюсь, таки получится соптимизировать до приемлемого уровня.
бо очень не хочется грузить себе сервер, и хочется, чтобы оно работало оффлайн (в манифесте прописать каш на всё подряд).

(Ответить) (Уровень выше)


[info]kyzma
2018-08-25 14:50 (ссылка)
хм... но это зависимость от подключения к интернет будет
есть ещё такая дрянь https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers
но я её для создания браузерных плагинов использовал. не знаю как оно в скрипте себя поведет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]geladen
2018-08-25 22:51 (ссылка)
должна работать. интересная, кстати, штука.
мерси, подумаю какая от неё может быть польза для Дела.

(Ответить) (Уровень выше)


[info]wasserstrahl
2018-08-25 17:57 (ссылка)
Жабаскрипт там концептуально?

(Ответить) (Ветвь дискуссии)


[info]geladen
2018-08-25 22:52 (ссылка)
а куда от это срани денешься, если хочется всё на стороне клиента, и кроссплатформенно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]wasserstrahl
2018-08-27 13:00 (ссылка)
И без отдельного приложения, да. Просто при таких раскладах сразу мысли про Fortran, Python/SciPy, вот это все...

(Ответить) (Уровень выше)