Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.12.2008, 19:27
nias вне форума Посмотреть профиль Отправить личное сообщение для nias Найти все сообщения от nias
  № 1  
Ответить с цитированием
nias

Регистрация: 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 есть колличество молекул, а Х скорость
я делаю так:
Код AS1/AS2:
_root.linestyle (2, 0x0000FF, 100);
_root.moveTo ( 0, 200);
for (v=0, v<=100; v+=0,5){
           _root.lineTo(0+1000, формула);
}
У меня должна получится линия напоминающая перевёрнутую парабулу.
Но у меня получается просто прямая линия
Таким Макаром я меня получается любая функция, а вот эта чо то нет.
Не могли бы вы помочь!!! Плиззззззз!!!!!!

Старый 02.12.2008, 23:23
Dragon rideR вне форума Посмотреть профиль Отправить личное сообщение для Dragon rideR Найти все сообщения от Dragon rideR
  № 2  
Ответить с цитированием
Dragon rideR
 
Аватар для Dragon rideR

Регистрация: Jan 2007
Сообщений: 368
Дай значения всех остальных переменных кроме v

Старый 02.12.2008, 23:42
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Дробь пишется через точку, а не запятую.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.12.2008, 01:27
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 4  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
потому что куча опечаток и ошибок
Код AS1/AS2:
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);
}
Добавлено через 33 минуты
если не наврал со значениями и ваша формула верно то:
Код AS1/AS2:
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.
Старый 05.12.2008, 18:16
nias вне форума Посмотреть профиль Отправить личное сообщение для nias Найти все сообщения от nias
  № 5  
Ответить с цитированием
nias

Регистрация: Mar 2008
Сообщений: 33
По умолчанию ещо одна проблема с функцией. Как сделать функцию?2

спасибо флешеры за предыдущую помощь. Но дело в том что любая другая функция у меня и получалась до этого. Проблема была именно с этой фкнкцией.
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.

Старый 05.12.2008, 18:19
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 6  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
ну если 0.00001151 * 10 в -63 степени округлить, то ноль и получиться .
Я вам привёл рабочий код с вашей формулой.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:23.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.