Меню
Категории
Интересные графики.
18 декабря, 2007 Программинг

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

Плоды моих страданий ниже.
1 - Интересные графики.
4 - Интересные графики.
3 - Интересные графики.
2 - Интересные графики.

Вот одна из придуманных функций, по которой строился график. Переменные брались из генератора случайных чисел. Этот график придумал мой одноклассник 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 курсе на матанализе, для проверки правильности решения комп строил мне графики функций :) Хоть какая-то польза.

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

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

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

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

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

Добавить комментарий




*