В WE в редакторе триггеров среди встроенных функций есть некоторые математические функции. А что делать, если мне нужны более продвинутые и сложные функции, которые нельзя выразить через имеющиеся, есть ли какие-нибудь дополнения на эту тему?

Принятый ответ

CaptainFox, спрошу еще раз
CaptainFox, скажи, зачем тебе возможность знать поведение объекта в произвольной точке, если он в конкретный момент времени может находиться в одной конкретной точке и иметь одни конкретные скоростные характеристики? Всеравно ведь объект вынужден будет пройти по всей траектории и, соответственно, накопит все изменения. По сути это то-же самое числовое решение дифуры, только растянутое во времени. Потому то никто дифуры не решает для описания движения.
Результат будет один в один такой-же, а вычисления на порядок проще - куда проще вычислить следующую итерацию на основе текущего состояния чем решать диф. уравнения и брать интегралы.
И чтобы избежать очередного выхода на замкнутый круг напомню что ответ на твой первоначальный вопрос примерно таков:
CaptainFox, я тебе уже ответил на твой вопрос - все что есть в jass это предел. Подключение чего-то еще возможно через RTC или гримор и осуществляется по принципу инъекции dll библиотеки. О существовании готовых библиотек мне ничего не известно, но все они будут работать по тому-же принципу, даже если существуют. Что еще ты хочешь чтобы тебе ответили по первоначальному вопросу? Ссылку на статью о том как подключать свои библиотеки? Или, может, какой-то чудесный способ добавить несуществующий функционал без подключения библиотек? Или тебя интересуют готовые реализации интегрирования и прочей высшей математики на jass?
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
22
11 лет назад
0
Какой бы сложной ни была функция, даже если она не выражается через имеющиеся, но при этом речь идёт о вычислении её значений на конечном интервале, то её можно саппроксимировать на данном интервале и реализовать в виде собственной функции.
0
28
11 лет назад
0
автар
пример функции в студию
0
20
11 лет назад
0
nvc123, например такая функция: Определённый интеграл с переменным верхним пределом (t) от функции Sin(x)/x (так же известной как синкус) по dx. если непонятно, вот картинка необходимой функции F(t):
Загруженные файлы
0
24
11 лет назад
0
CaptainFox, главный вопрос - а зачем?
0
20
11 лет назад
0
prog, меня попросили привести пример - я привёл. Этот пример далеко не единственный. Есть и другие примеры, связанные с интегрированием, в том числе - с получением в качестве результата неэлементарных функций, как в указанном примере. а нужно это всё для специальной системы движения.
0
24
11 лет назад
0
CaptainFox, напоминаю что брать интегралы в аналитическом виде умеют только специализированные математические пакеты, все остальные решают эти задачи в численном виде, а в играх так и вовсе таких вычислений по возможности избегают т.к. это совершенно избыточные вычисления - более простые функции дают результат не хуже, а считаются куда проще.
Таким образом, я бы советовал не сильно заморачиваться, пытаясь выпендриться знанием интегралов и взять более простые функции. Ну а если совсем никак без интегралов - метод трапеций в помощь - более продвинутые методы для вара слишком сложно реализовать, да и достигаемая ими точность идет в никуда из-за ограничений точности чисел с плавающей точкой в варе.
0
20
11 лет назад
0
prog, Движение задаётся дифференциальным уравнением, при решении которого нужно брать интеграл. Я в курсе, что брать их лучше численно, учитывая, что вид подынтегральной функции заранее не известен. До этого я и сам додумался. Вопрос был в том, можно ли использовать в варике функции свыше того, что заложено?
В смысле - в редакторе.
0
24
11 лет назад
0
CaptainFox, да вы, сударь, знаете толк в извращениях. Все что доступно - есть в списке jass функций. Чего-то может не быть в GUI, но на этот счет я не уверен. Можно юзать RTC или другие способы подключения своих нативок, но тогда нужно писать библиотеку на C++, которую, соответственно, нужно будет подключать всем игрокам.
На последок скажу - бросайте эту гнилую идею, вар с трудом потянет такую интенсивность вычислений, а погрешность чисел с плавающей точкой сведет на нет все усилия. Такое если и делать, то на нормальных языках программирования.
0
20
11 лет назад
0
prog, ну вообще-то вычисления тут не такие уж и затратные, ибо карта работает и не лагает. Ну, если конечно речь идёт о нормальном компьютере, а не о калькуляторе. А во-вторых, ничего извращённого тут нет - обычный физический подход к движению, а не чисто геометрический, как в большинстве ситуаций со стандартным вариком. Пока что я прибиваюсь к написанию собственных функций численного интегрирования, но может кто-нибудь придумает более рациональное решение.
Этот комментарий удален
0
24
11 лет назад
0
CaptainFox, я не зря упомянул метод трапеций - он крайне прост в реализации, даже массивы не нужны, при том что дает сносную точность.
Что касается физического подхода к движению - он не случайно не используется - это масса вычислений, которые с тем-же успехом заменяются более простыми функциями, в частности полученными в результате решения все тех-же диф. уравнений, но один раз и на бумаге.
0
20
11 лет назад
0
я не зря упомянул метод трапеций - он крайне прост в реализации
мне как то и прямоугольников хватает - это ещё проще, по порядку аппроксимации они одинаковые, разница лишь в сомножителе.
более простыми функциями, в частности полученными в результате решения все тех-же диф. уравнений, но один раз и на бумаге
к сожалению, есть такие дифуры, которые аналитически не решаются.
0
37
11 лет назад
0
prog, Движение задаётся дифференциальным уравнением, при решении которого нужно брать интеграл
автор не шарит в программировании =(
0
20
11 лет назад
0
ScorpioT1000, с чего это ты взял, интересно мне знать?
Я с таким же успехом могу заявить, что ты в физике не шаришь))
0
37
11 лет назад
0
зато не юзаю интегралы в скриптовом движке 1998 года
0
20
11 лет назад
0
ScorpioT1000, меня не волнует, что ты юзаешь, а что нет и на каком движке ты это делаешь. Если тебе нечего сказать по теме - просьба молчать.
И от скинутого видоса и системы вращения физику ты знать не стал
0
37
11 лет назад
0
давай выкладывай конкретно, что ты хочешь увидеть в своем движении и я скажу, как это сделать (если офк не упираться и 100% исполнении результата именно по интегралу)
0
24
11 лет назад
Отредактирован prog
0
ScorpioT1000, ну так интегралы никто и не юзает без особой необходимости даже в современных системах - для движения всем хватает упрощенной модели, позволяющей n раз в секунду менять координаты объекта на основании его скорости, а также, при необходимости, менять скорость по формуле произвольной сложности. Я пытался подвести автора к этой мысли, но увы.
CaptainFox, скажи, зачем тебе возможность знать поведение объекта в произвольноц точке, если он в конкретный момент времени может находиться в одной конкретной точке и иметь одни конкретные скоростные характеристики? Всеравно ведь объект вынужден будет пройти по всей траектории и, соответственно, накопит все изменения. По сути это то-же самое числовое решение дифуры, только растянутое во времени. Потому то никто дифуры не решает для описания движения.
0
20
11 лет назад
0
Мне кажется, что мы друг друга не понимаем. prog, ибо ты уже третий раз повторяешь одно и то же. Изначальный мой вопрос имел более общий характер: существуют ли дополнительные библиотеки\функции\программные средства и т.д. для задания и вычисления более замысловатых функций в WE. И взятие интегралов - лишь один частный пример, в котором мне это нужно.
0
37
11 лет назад
0
тебя уже третий раз спрашивают, зачем тебе это нужно ...
0
20
11 лет назад
0
тебя уже третий раз спрашивают, зачем тебе это нужно
ты имеешь в виду зачем мне нужны функции нестандартные или такая система движения? В прочем не важно - я уже отвечал выше на оба вопроса. Это во-первых, а во-вторых: я задал вопрос для того, чтобы ответ получить, а не фразу "зачем мне это нужно".
0
37
11 лет назад
0
yasno
0
24
11 лет назад
0
CaptainFox:
Мне кажется, что мы друг друга не понимаем. prog, ибо ты уже третий раз повторяешь одно и то же. Изначальный мой вопрос имел более общий характер: существуют ли дополнительные библиотеки\функции\программные средства и т.д. для задания и вычисления более замысловатых функций в WE. И взятие интегралов - лишь один частный пример, в котором мне это нужно.
Все что доступно - есть в списке jass функций. Чего-то может не быть в GUI, но на этот счет я не уверен. Можно юзать RTC или другие способы подключения своих нативок, но тогда нужно писать библиотеку на C++, которую, соответственно, нужно будет подключать всем игрокам.
CaptainFox, я тебе уже ответил на твой вопрос - все что есть в jass это предел. Подключение чего-то еще возможно через RTC или гримор и осуществляется по принципу инъекции dll библиотеки. О существовании готовых библиотек мне ничего не известно, но все они будут работать по тому-же принципу, даже если существуют. Что еще ты хочешь чтобы тебе ответили по первоначальному вопросу? Ссылку на статью о том как подключать свои библиотеки? Или, может, какой-то чудесный способ добавить несуществующий функционал без подключения библиотек? Или тебя интересуют готовые реализации интегрирования и прочей высшей математики на jass?
0
8
11 лет назад
0
есть библиотеки для геометрии, есть имитация логарифма (не точная). насколько мне известно чего-то другого нет, да и просто это нафиг не нужно
для многого можно применить аппроксимацию с разной степенью потери точности, благо методов достаточно
0
22
11 лет назад
0
к сожалению, есть такие дифуры, которые аналитически не решаются
Если речь идёт об уравнении движения и ты рассматриваешь объекты как материальные точки, то оно не будет иметь аналитического решения в том случае, если учитывается сопротивление воздуха, пропорциональное квадрату скорости. Ты что, решил сделать систему с учётом сопротивления воздуха? О_о о_О О_О
Чтобы оставить комментарий, пожалуйста, войдите на сайт.