crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Оптимизация отрисовки QGraphicsEllipseItem
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 18.7.2009, 12:00
 
Цитата(Kagami @ 18.7.2009, 12:46) *
Теперь пойду вспоминать как считать сумму векторов
как и сложение коплексных чисел.

надо взять исходники игры бильярд
там уже всё решено.
:)
Kagami Дата 18.7.2009, 8:46
 
Цитата(Petr0vi4 @ 18.7.2009, 3:59) *
При абсолютно упругом столкновении и получается, что частицы меняются импульсами (то есть векторами движения)....Но при трех частицах как найти направления результирующих векторов? Я так и не нашел.

Векторами меняются при центровом ударении. В общем случае, в соответствии с третьим законом Ньютона, молекулы будут действовать друг с другом с силой, направленной вдоль оси, соединяющей их центры. При столкновении с несколькими молекулами таких сил будет несколько. Каждая из них будет давать определенный импульс молекуле. Сложив эти импульсы можно получить результирующий новый импульс тела. Это достаточно приближенно, но в целом адекватно.

P.S. Теперь пойду вспоминать как считать сумму векторов ;) Эх.. как давно была школа
Petr0vi4 Дата 18.7.2009, 2:59
 
Цитата(Kagami @ 18.7.2009, 3:26) *
угол падения молекулы на стену будет равен углу отскока нее
так и есть!
При абсолютно упругом столкновении и получается, что частицы меняются импульсами (то есть векторами движения)....Но при трех частицах как найти направления результирующих векторов? Я так и не нашел.
Kagami Дата 17.7.2009, 20:26
  Эх.. Видимо надо вспоминать школьную физику, а именно про импульс. Если просуммировать импульсы всех столкнувшихся тел, то можно получить вполне адекватные результаты. Плюс нельзя забывать про ограничения в виде стен. Это особый случай, так как молекула не должна их пересекать. Если считать столкновение абсолютно упругим, то угол падения молекулы на стену будет равен углу отскока нее.
Petr0vi4 Дата 17.7.2009, 18:59
  Litkevich Yuriy, принцип соударения заключается в обмене векторами движения. Если 2 шара сталкнутся все работает на ура, а если 3 одновременно - тогда не знаю:) Результат крайне непредсказуем.
Litkevich Yuriy Дата 17.7.2009, 16:29
  Petr0vi4, и ещё есть явный недочёт в вычислении соударений. Ситуация:
Два шарика (наблюдал максимум 4) двжутся по одной линии (траектории) ударяясь друг об друга чуть-чуть отлетают (почти без зазора) и снова летят на встречу друг-другу (хотя повода для этого нет). Другими словами, они колеблятся вокруг воображаемой линии, которой всегда касаются.
Kagami Дата 17.7.2009, 11:36
  На ста шариках такие "побеги" случаются чаще :) Это надо править механизм обнаружения столкновений. А увеличивается потому что сцена автоматически расширяется чтобы вмещать все объекты.
Petr0vi4 Дата 17.7.2009, 8:31
  Спасибо, действительно работает лучше! Я думаю на этом можно остановиться, сделал 50 частиц, выглядит вполне нормально и не тормозит как раньше. Думаю тема закрыта.

Litkevich Yuriy,
да, бывают косяки иногда, но в основном работает же.
А на счет увеличения окна: я не знаю почему так :)
какая то особенноть Qt...
Litkevich Yuriy Дата 17.7.2009, 8:20
  Слушайте у меня шарик улител за пределы стены и у окошка появились линейки прокрутки и стали быстро уменьшатся.
:)
Kagami Дата 17.7.2009, 7:25
  После исправлений у меня стало работать со 100 элементами довольно шустро
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 18.4.2024, 20:55