Познавательный блог  

Поиск по сайту

Страницы

Гугль

Архивы

Интересные графики.

В школе нас учили Qbasic и с горем пополам научили. Однажды, в студёную зимнюю пору я пытался что-то интересное нарисовать. А посколько каждую линию и круг было рисовать влом, то пробовал математические функции.

Плоды моих страданий ниже.
1.gif
4.gif
3.gif
2.gif

Вот одна из придуманных функций, по которой строился график. Переменные брались из генератора случайных чисел. Этот график придумал мой одноклассник Minion. Открыл учебник по матанализу и повыписывал самые понравившиеся ему функции, совместил. И получилось это:

x = sin(b) + a1 *sin(b) + a2 * sin(b * a3) + a4 * sin(b*a5) + 320;
y = cos(b) + a1 *cos(b) + a2 * cos(b * a3) + a4 * cos(b*a5) + 230;

Ниже приведен исходный код на C++. Программа при компилировании заставляет двигаться ваш курсор по графику этой функции. Попробуйте выключите :)

#pragma hdrstop
#include <iostream.h>
#include <math.h>
#include <windows.h>

#pragma argsused
int main(int argc, char* argv[])
{
int a1,a2,a3,a4,a5;
float x,y,b;
randomize();
a1 = random(50);
a2 = random(50);
a3 = random(50);
a4 = random(50);
a5 = random(50);

do
{
b+=0.01;
//---------
x = sin(b) + a1 *sin(b) + a2 * sin(b * a3) + a4 * sin(b*a5) + 320;
y = cos(b) + a1 *cos(b) + a2 * cos(b * a3) + a4 * cos(b*a5) + 230;
//---------
SetCursorPos(x,y);
Sleep(10);
}
while(1);
return 0;
}

Далее программу я немного усовершенствовал и немного изменил функцию. Теперь она рисует гепербилические синусоиды :D

#pragma hdrstop
#include <iostream.h>
#include <math.h>
#include <windows.h>

#pragma argsused
int main(int argc, char* argv[])
{
int a1,a2,a3,a4,a5;
float x,y,b;
randomize();
a1 = random(50);
a2 = random(50);
a3 = random(50);
a4 = random(50);
a5 = random(50);
printf("For Exit press Ctrl+C ");
do
{
b+=0.01;
//---------
x = sin(b) + a1 * sin(b) + a2 * sin(b * a3) + a4 * sin(b * a5) + 320;
y = cos(b) + a1 * tan(b) + a2 * cos(b * a3) + a4 * cos(b * a5) + 230;
//---------
SetCursorPos(x,y);
Sleep(10);
}
while(1);
return 0;
}

Вот такая жесть. Функция SetCursorPos(x,y); устанавливает курсор по заданным координатам экрана. Изменить эту программу можно очень просто. Можете заставить ваш курсор двигаться по синусоиде или по какой-либо другой функции.

Кстати, на 1 курсе на матанализе, для проверки правильности решения комп строил мне графики функций :) Хоть какая-то польза.

Комментарии

Комментарий от shark [ Декабрь 19, 2007, 10:54 ]

модные лобковые стрижки
так в каментах и напишу )

Комментарий от Елисей [ Ноябрь 20, 2008, 18:56 ]

Автору спасибо, понравилось, да еще пригодится

Комментарий от naxellar [ Октябрь 6, 2009, 18:02 ]

Это не графики функций. У функций для любого аргумента функции из области определения существует единственное значение функции.

Комментарий от Felix KoT [ Октябрь 20, 2009, 21:35 ]

Цветные кругляши прикольные) Помню когда в садике был кто то принёс такую линейку, водиш ручкой и создаются такие же ричунки)))

Комментарий от NameX [ Январь 10, 2012, 21:58 ]

Надо было под каждой картинкой функцию писать. Так было бы лучше:)

Написать комментарий








Свежие записи

Гугль

Мета

Счетчики


Rambler's Top100

Рубрики

  Разработка и дизайн — StvPromo.ru