![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 33
|
здраствуйте уважаемые флешеры. У меня проблемы с программным рисованием.
Уменя есь модель идеального газа(взятл из книги Дмитрия Гурского). Мне нужно чтобы у меня В, в отдельном кадре, прлеере была нарисована финкция по уравнению Максфела распределения молекул по температуре. f(x) = (4/sqrt(PI))*pow((m/2*k*T),3/2)* pow(v,2)*exp((m*pow(v,2))/2*k*T) ![]() где m- масса молекулы(вводим сами) k - постояная Больцмана (константа) T - температура по Кельвину v - переменная скорости Т.е ваш Y есть колличество молекул, а Х скорость я делаю так: _root.linestyle (2, 0x0000FF, 100); _root.moveTo ( 0, 200); for (v=0, v<=100; v+=0,5){ _root.lineTo(0+1000, формула); } Но у меня получается просто прямая линия Таким Макаром я меня получается любая функция, а вот эта чо то нет. Не могли бы вы помочь!!! Плиззззззз!!!!!! ![]() |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 368
|
Дай значения всех остальных переменных кроме v
|
|
|||||
|
потому что куча опечаток и ошибок
var mc = this.createEmptyMovieClip("lines", 1); mc._x = 200; mc._y = 200; mc.lineStyle (2, 0x0000FF, 100); var contrast = 10; for (var v = 0; v <= 10; v++){ // ставите ваше формулу var result = Math.pow(v, 2); mc.lineTo(v * contrast, result); } если не наврал со значениями и ваша формула верно то: var k = 1.3806504 * Math.pow(10, -23); var T = 300; // комнатная var m = 3.3 * Math.pow(10, -27); // водорот function f(v){ return (4 / Math.sqrt(Math.PI)) * Math.pow((m/2*k*T),3/2)* Math.pow(v,2)*Math.exp((m*Math.pow(v,2))/2*k*T) } var mc = this.createEmptyMovieClip("lines", 1); mc._x = 200; mc._y = 200; mc.lineStyle (2, 0x0000FF, 100); var contrast = Math.pow(10, 68); for (var v = 0; v <= 100; v++){ var result = f(v); var x = v, y = Math.round(result * contrast); mc.lineTo(x, y); //trace(y) } Последний раз редактировалось Mnilionic; 03.12.2008 в 02:09. |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 33
|
спасибо флешеры за предыдущую помощь. Но дело в том что любая другая функция у меня и получалась до этого. Проблема была именно с этой фкнкцией.
f(v) = (4/sqrt(PI)*pow((m/2*k*T),1.5)*pow(v,2)*exp(m*pow(v,2)/2*k*T) Где v - скорсть Т - температура по Кельвину. m - масса малекулы. k - постоянная Больцмана. Я попытался сделать trace (f(v)) у меня она вещественная может он проблемма в этом потому что я пытаюсь округлить у меня получлся 0. |
|
|||||
|
ну если 0.00001151 * 10 в -63 степени округлить, то ноль и получиться
.Я вам привёл рабочий код с вашей формулой. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|