![]() |
|
Модераторы: SoWa |
![]()
|
|
| Ivan_Batsuev |
|
|||
|
Unregistered |
При рассмотрении простейшей модели идеального газа надо описывать столкновение молекул (движение их внутри сосуда делается вообще элементарно). Так вот, для условия столкновения приходится вешать код на каждый момент времени и для каждой молекулы прогонять цикл (проверка на удалённость). Это в свою очередь довольно сильно загружает компьютер? Нет ли более рациональных алгоритмов [/quote] |
|||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
Эт в алгоритмы
|
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
движение хаотическое, было бы направленое мона сделать через матрицы, а тут разробатывать алгоритм(( оно того не стоит.
ЗЫ: проверки, циклы не оч уже сжирают процесорное время, есе кнешна у тя не безконечные циклы. В основном нагрузка на перерисовку объектов. А от этого никуда не деться -------------------- |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
Не сказал бы, что движение хаотическое: скорости молекул по осям хранятся в отдельном массиве.
Они только исходные случайные. А если брать около 50 молекул то движения и не получается (всё-таки тормозит) Добавлено @ 11:41 А как через матрицы? |
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
они у тя не ходят в строй? хаотическое - после столкновения меняеться вектор, и масс дополнительных параметров. выложи сорс, посмотрим чо мона оптимизнуть. -------------------- |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
В принципе всё довольно просто
(я Flash-ем недавно начал заниматься
это сам класс молекул. Все они полностью одинаковы. Да и скорости по осям в любой момент времени можно использовать... |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
Молекулы "прыгают" в прямоугольнике 490*290 и координатами (10;10)
|
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
Извиняюсь, в восьмой строчке метода Moving() вместо spped_x[i] надо надо записать speed_x[i]*v_max
|
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
с первого взгляда, у тя действительно замного циклов((, оптимизнуть тут будет что.
хмм, неплохо бы есе скинул не ток движок на движения, а и всю визуализацию (нуна както тестить). -------------------- |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
Сама программа.
Класс: Это сообщение отредактировал(а) VAN - 6.5.2005, 07:48 Присоединённый файл ( Кол-во скачиваний: 15 )
Mol.as |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
||||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
Это-же с Гурского.... только маленько исправлено....
|
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
а) В Гурском идёт трёхмерная модель. б) Удар о борт я писал сам. в) Из Гурского я взял только само условие задачи, а что что-то совпало я не виноват. |
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
а я его книгу не читал, хмм. ща заценим чо он умеет
-------------------- |
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
мда, тормоза-тормоза.
вопрос: а на какое количество объектов ты расчитываеш7 возможности флеши весьма малы, в 8-ой версии изменили движок, там пожалуйста, а тут ... Добавлено @ 11:04 ЗЫ: а почему не использовать хитТест, описать его как событие и поставить на прослушку. под объектом сделать прозрачный бекгроунд диаметр которого будет соизмеримый со скоростью. События будут срабатывать часто но это не постоянный цикл. -------------------- |
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
кстати о скорости: http://flash-ripper.com/experiments/nullsound/#
-------------------- |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
во Flash я не разбираюсь, но слышал о таком методе обработки столкновений:
1. делим сосуд на небольшие кубики 2. каждый кубик содержит массив объектов, которые в данный момент находятся в нем 3. каждый объект при движении проверяет, не перешел ли он из одного кубика в другой, если да, то удаляет себя из предыдущего и добавляетв новый столкновения можно проверять внутри кубов 2*2*2, чтобы обработать столкновения на границах размеры кубиков нужно выбирать: 1. достаточно большие, чтобы не происходило столкновений между объектами на расстоянии >=2 кубиков (это возможно, т.к. время дискретное, а значит, при большой скорости объект может перескочить через несколько кубиков) 2. достаточно большие, чтобы хватило памяти на их хранение 3. достаточно маленькие, чтобы массивы объектов внутри них не были слишком большими, т.к.в этом случае никакой пользы не получится... -------------------- qqq |
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
неплохая теория,
но тут проблема не в расчете координат и векторов объектов, а в том что движок флеши далек от совершенства, и он не может достаточно быстро делать перерисовку объектов. насчет столкновений объектов, есть внутриний метод(hitTest) проверяет наложения форм. -------------------- |
|||
|
||||
| maxim1000 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
я прочитал вот это вот предложение:
и подумал, что можно оптимизировать упомянутый цикл (в смысле проверять не все пары молекул) -------------------- qqq |
||||
|
|||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
Как вариант вообще просто напросто проверять не всё, а например первые 20 молекул. Я не думаю, что кто-то будет всматриваться в ролик и смотреть, что не всё просчитывается.
|
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
Может ещё предложите просчитывать вероятности столкновений?
Тогда всё вообще проще станет... Вот толко как? Добавлено @ 05:55
А если скорости небольшие? Это ж чушь получится... Некрасиво... |
|||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
offtop:
Из постулатов квантовой физики известно, что нельзя предсказать, в какой момент какая молекула будет в определённом месте и с определённой скоростью %) |
|||
|
||||
| AntonioBanderaz |
|
|||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 18 |
Alex Batsuev Да?!!!!!! А как же уравнение Шредингера... Помнится из него можно было найти вероятность нахождения микрообъекта в данном месте пространства, да ещё и его энергию... А вот как его сюда привязать это уже другой вопрос....
-------------------- ГЫ... |
|||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
Offtopic:
Ещё чуть-чуть таких обсуждений и можно тему смело отправлять в юмор.... |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
А у нас , повторяю, все данные в любой момент времени известны!
И вообще, энергия имеет привычку сохранятся...Особенно если её можно найти |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
Кстати, тема называется
|
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
ууу, как углубились.
как подсказка addEventListener на hitTest, на досуге и я попробую. Но при колечестве 50-100 объектов, тормаза будут(гарантировано) ЗЫ: а зачем это ваще нуна, есе просто ради практики то мона и поинтересней задачку придумать -------------------- |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
Например?
|
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
ты хочеш задачку для практики в ООП? -------------------- |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
угу
Предлагаю открыть новую тему Задачи на Flash (интересные и полезные); Открываю... |
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
ну есе открыли)).
хых задачка, тут собрались флеш-кодеры, и думаю все знают кто ткой John. у него была работа по ЛокалКонеттеру. все гуд но удаленные функции не ретурнят. кадата дописывал его работу, хатял релизовать, но время-время, все руки не доходят(( мож кто закончит -------------------- |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
А поподробнее?
Кстати hitTest проверяет совппадение прямоугольных рамок, описанных вокруг объектов... А мне надо, чтобы всё красиво было А прописывать для рамок сложной формы (кстати, до конца эта задача ещё не решена (по моему никем)) приходится руками... Это сообщение отредактировал(а) VAN - 15.5.2005, 09:17 |
|||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
эта задача очень актуальна при написании игр. Просчитывать столкновения.
лучше спросить про это в алгоритмах. По-поводу hitTest: Читайте help:
вот и используй этот самый shapeFlag. |
|||
|
||||
| VAN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 4.5.2005 Репутация: нет Всего: нет |
Это я читал....
hitTest проверяет либо наложение "рамок" клипов, либо попадание точки в эту самую рамку... В Гурском конечно, есть алгоритм перебора точек рамок на попадание... P.S. И shapeFlag - это вообще параметр только для проверки вхождения точки. А перебирать точки ... нерационально. Вообще лучше использовать объекты как можно больше похожие на прямоугольники. А перебор точек я из Гурского могу взять........... |
|||
|
||||
| AlDev |
|
|||
|
Опытный идиотъ ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1927 Регистрация: 17.4.2005 Где: Irk, rus Репутация: 9 Всего: 50 |
а в конечном итоге всё и считается для точек. Всегда описывается вокруг какая-либо фигура.
Добавлено @ 11:28 Как вариант - при hitTest=true делай свою проверку. |
|||
|
||||
| Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 3 Всего: 4 |
сайт John-ahttp://www.potapenko.com/rus/framework.htm загрузи и проинсталь его класы, надеш много интересного, будет чем занятся -------------------- |
|||
|
||||
![]()
|
| Правила форума "Flash" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Flash | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |