![]() |
Помогите оптимизировать.
Доброго времени суток всем...
Сталкнулся с такой проблемой, пытаюся нарисовать эквипотинциальные поверхности от положительных и отрицательных зарядов в количестве от 2х до 5ти зарядов, но сталкнулся с такой проблемой ни возможности даждаться прорисовки картинки до конца.. вот код , может ктонить сталькивалься с такой проблемой и сможет помочь. Код:
import flash.display.BitmapData; |
А что вы хотели? 620*620*20 цикл и сетПиксел
|
У вас постоянные вычисления констант, зачем?
Разницу 50-n и подобные можно было посчитать заранее для всех значений n один раз, а не пересчитывать по 620 раз за один проход. Можно ещё повесить отрисовку на setInterval по столбцу за итерацию. |
Цитата:
|
Внимательно прочитайте мой пост ещё раз.
У вас значение n от 0 до 620. Зачем вы пересчитываете разницу (50-n) 384400 раз вместо 620? |
Извините конечно за глупый вопрос но как мен потом в далнейшем посчитать гипатинузы если я посчитаю составляющие катетов не в циклах???
если можно то покажите на примере........ |
Код:
function potential() {попробуйте исключить из прорисовки "дальние" от зарядов области, где значения потенциалов заведомо "малы", т.е. чтобы в этих областях не просчитывать потенциалы и не отображать их на экране, ибо все равно там пусто будет. характер задачи изначально предполагает большое количество вычислений. насколько я знаю подобные вычислительные задачи в случае сложного распределения зарядов решаются "штучно", т.е. на мощном компе и изредка при острой необходимости. |
lexa2000lexa, запятые придумали для того, чтобы удобнее было читать, а не для того, чтобы их пропускали.
|
Код:
import flash.display.BitmapData;UPD: Вариант на AS3 существенно быстрее: Код:
var myBitmapData:BitmapData = new BitmapData(620,620, false, 0x00ffffff); |
Спасибо огромное за помошь.....
|
| Часовой пояс GMT +4, время: 04:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.