Строим параболу

параболаНемного математики за 8 класс.. График квадратичной функции вида y = a*x^2 + b*x + c, где a,b,c - некоторые числа и a!=0, будет являться параболой. Чтобы построить параболу, сначала находят координаты ее вершины (x0; y0). x0 = -b/(2*a), y0 = f(x0). Далее определяется направление ветвей параболы: если коэффициент a положительный, то ветви параболы смотрят вверх, отрицательный - вниз.

Итак, к чему вся эта теория? Представляю вам небольшую программу, которая строит параболу (: Код-говнокод, не спорю, но все же код:

var a:Number = 150;
var b:Number = 300; 

//клип с графиком
_root.createEmptyMovieClip("gr",_root.getNextHighestDepth());
_root.gr._x = a;
_root.gr._y = b; 

//текст
_root.createTextField("s1_txt",1,305,194,30,20);
_root.s1_txt.text = "y = ";
_root.createTextField("s11_txt",2,365,194,35,20);
_root.s11_txt.text = "x^2 + ";
_root.createTextField("s2_txt",3,430,194,30,20);
_root.s2_txt.text = " x +"; 

//поле для ввода числа, y=a*x^2+[b]*x+c
numx_txt = createTextField("numa_txt", 8, 330, 194, 30, 20);
numx_txt.type = 'input';
numx_txt.border = true;
//поле для ввода числа, y=[a]*x^2+b*x+c
numx_txt = createTextField("numb_txt", 9, 400, 194, 30, 20);
numx_txt.type = 'input';
numx_txt.border = true;
//поле для ввода числа, y=a*x^2+b*x+[c]
numy_txt = createTextField("numc_txt", 10, 455, 194, 30, 20);
numy_txt.type = 'input';
numy_txt.border = true; 

//кнопка
b_txt = createTextField("num_txt", 11, 420, 230, 100, 20);
b_txt.html = true;
b_txt.htmlText = "[ построить ] ";
function calc():Void {
	var q:Number = Math.sqrt(Number(numa_txt.text));
	var ka:Number = Number(numb_txt.text)/(2*q);
	var kb:Number = Number(numc_txt.text)-Math.pow(ka, 2);
	var x0:Number = -ka/q;
	var y0:Number = kb;
	trace("Координаты вершины параболы: ("+x0+";"+y0+")");
	_root.gr.clear();
	_root.gr._x = a-ka;
	_root.gr._y = b-kb; 

	_root.gr.lineStyle(1,"0xDDD");
	_root.gr.moveTo(-10*2/q,-(10*10));
	for (var i:Number = -10; i<=10; i=i+0.1) {
		_root.gr.lineTo(i*2/q,-(i*i));
	}
}
//ось x
_root.createEmptyMovieClip("ox",12);
_root.ox.lineStyle(1);
_root.ox.lineTo(250,0);
_root.ox._x = 30;
_root.ox._y = b;
//ось y
_root.createEmptyMovieClip("oy",13);
_root.oy.lineStyle(1);
_root.oy.lineTo(0,250);
_root.oy._x = a;
_root.oy._y = 100; 

А теперь немного объяснений. С самого начала я мог построить только график y = x^2. Затем решил, что его можно смещать по осям x и y, поэтому функция (я о математической) приобрела вид y = (q*x+m)^2 + n. Но мне надо было записать все в стандартном виде, поэтому решая данное уравнение, я получил результат: y = q^2*x^2 + 2*m*q*x + (m^2 + n), где q^2 = a, 2*m*q = b, m^2 + n = c. Из этих трех уравнений находим q, m и n и подставляем их значения в функцию построения графика. The End %)

Спонсор поста:  Необходим новый хостинг сайтов?

Актуальные новости в блогосфере:

  1. На блоге Майи Ким популярные блоггеры дают советы по проблематике русскоязычной блогосферы.
  2. Умный мозг поможет создать тематический предзагрузчик - к праздникам!
  3. На блоге для страховщиков полезные советы про страховое поле - формирование, обработка, оптимизация.
This entry was posted in Кодинг and tagged , , , , , , . Bookmark the permalink.

One Response to Строим параболу

  1. Pingback: Цветничёк: блог о цветах » Архивы блога » Чтобы газон был красивым

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.
сделано dimoning.ru