Разные примеры использования программы "Граф"

1) Задача. Найти траекторию движение тела, брошенного в поле тяжести земли с начальной скоростью V0=28 м/с под углом fi к горизонту. Скрипт стоит серию траекторий, отвечающих разным углам fi (от 0 до 180 градусов). Красным обозначена огибающая этих кривых. Её уравнение: z = V02/2g - gx2/2V02

roots=0; nmax=12
V0=28; g=9.8
ymin=0; width=400
fmin=(-80 + i*0 ); fmax=( 80 + i*40 )
fi=pi*(n+1)/nmax
x=V0*cos(fi)*t
y=V0*sin(fi)*t-g*t^2/2
f(t)=(x,y)
roots=0; points=20; nmax=12
V0=28; g=9.8
fmin=(-80 + i*0 )
fmax=( 80 + i*40 )
fi=pi*(n+1)/nmax
x=V0*cos(fi)*t
y=V0*sin(fi)*t-g*t^2/2
f(t)=(x,y)
x1=-V0^2/g+V0*t
y1=V0^2/(2*g)-g*x1^2/(2*V0^2)
f1=(x1,y1); color1=FF0000

2) Разложение функций в ряд Фурье.

Сумма первых 40 гармоник меандра. Сумма первых 20 гармоник ряда Фурье
прямоугольного  импульса со скважностью 4.
w=1; width=400; height=200; points=400
ymin=-1.5; ymax=1.5; xmin=-pi; xmax=pi
f(t)=1.273*sin(1*w*t)+0.424*sin(3*w*t)+0.255*sin(5*w*t)+0.182*sin(7*w*t)+0.141*sin(9*w*t)+0.116*sin(11*w*t)+0.098*sin(13*w*t)+0.085*sin(15*w*t)+0.075*sin(17*w*t)+0.067*sin(19*w*t)+0.060*sin(21*w*t)+0.055*sin(23*w*t)+0.051*sin(25*w*t)+0.047*sin(27*w*t)+0.044*sin(29*w*t)+0.041*sin(31*w*t)+0.039*sin(33*w*t)+0.036*sin(35*w*t)+0.034*sin(37*w*t)+0.033*sin(39*w*t);
w=1; width=400; height=200; points=400;
xmin=-pi; xmax=pi; ymin=-4; ymax=11;
f(t)=4.12*cos(1*w*t)+3.33*cos(2*w*t)+2.22*cos(3*w*t)+1.03*cos(4*w*t)-0.69*cos(6*w*t)-0.95*cos(7*w*t)-0.83*cos(8*w*t)-0.46*cos(9*w*t)+0.37*cos(11*w*t)+0.56*cos(12*w*t)+0.51*cos(13*w*t)+0.29*cos(14*w*t)-0.26*cos(16*w*t)-0.39*cos(17*w*t)-0.37*cos(18*w*t)-0.22*cos(19*w*t)

3) Конформные отображения (автор кода: Канищев Константин)

Корень кубический Квадрат Степень 3/2
points=50; roots=0;
xmin=-i; xmax=i;
fmin=-1-i; fmax=1+i;
n = 1/3;
f =(x )**n; color0=FF0000
f1=(x+0.1)**n; color1=AAAA00
f2=(x+0.2)**n; color2=00FF00
f3=(x+0.3)**n; color3=00AAAA
f4=(x+0.4)**n; color4=0000FF
f5=(i*(x/2-0.6))**n; color5=AAAAAA
f6=(i*(x/2-0.3))**n; color6=AAAAAA
f7=(i*(x/2 ))**n; color7=AAAAAA
f8=(i*(x/2+0.3))**n; color8=AAAAAA
f9=(i*(x/2+0.6))**n; color9=AAAAAA
points=50; roots=0;
xmin=-i; xmax=i;
fmin=-1-i; fmax=1+i;
n = 2;
f =(x )**n; color0=FF0000
f1=(x+0.1)**n; color1=AAAA00
f2=(x+0.2)**n; color2=00FF00
f3=(x+0.3)**n; color3=00AAAA
f4=(x+0.4)**n; color4=0000FF
f5=(i*(x/2-0.6))**n; color5=AAAAAA
f6=(i*(x/2-0.3))**n; color6=AAAAAA
f7=(i*(x/2 ))**n; color7=AAAAAA
f8=(i*(x/2+0.3))**n; color8=AAAAAA
f9=(i*(x/2+0.6))**n; color9=AAAAAA
points=50; roots=0;
xmin=-i; xmax=i;
fmin=-1-i; fmax=1+i;
n = 3/2;
f =(x )**n; color0=FF0000
f1=(x+0.1)**n; color1=AAAA00
f2=(x+0.2)**n; color2=00FF00
f3=(x+0.3)**n; color3=00AAAA
f4=(x+0.4)**n; color4=0000FF
f5=(i*(x/2-0.6))**n; color5=AAAAAA
f6=(i*(x/2-0.3))**n; color6=AAAAAA
f7=(i*(x/2 ))**n; color7=AAAAAA
f8=(i*(x/2+0.3))**n; color8=AAAAAA
f9=(i*(x/2+0.6))**n; color9=AAAAAA

4) Функции двух переменных. Примеры анимаций, построенных при помощи Граф.

"Седло"
f(x,y)=x²-y²-a; a=-1..1
Конхоида Никомеда
f(x,y)=(x²+y²)*(y-a)²-y²; a=-1..1
Овалы Кассини
частный случай x2+y2=n
     

5) Моделирование морской волны (автор кода: Канищев Константин)

Волновое движение молекул на поверхности жидкости.    
   
nmax=50; animated(10,0);
ymin = -7.2; ymax = 3
begin points
-10 0; -9 0; -8 0; -7 0; -6 0; -5 0; -4 0; -3 0; -2 0; -1 0; 0 0;
1 0; 2 0; 3 0; 4 0; 5 0; 6 0; 7 0; 8 0; 9 0; 10 0;
end
begin points
-10 -1; -9 -1; -8 -1; -7 -1; -6 -1; -5 -1; -4 -1; -3 -1; -2 -1; -1 -1; 0 -1;
1 -1; 2 -1; 3 -1; 4 -1; 5 -1; 6 -1; 7 -1; 8 -1; 9 -1; 10 -1;
end
begin points
-10 -2; -9 -2; -8 -2; -7 -2; -6 -2; -5 -2; -4 -2; -3 -2; -2 -2; -1 -2; 0 -2;
1 -2; 2 -2; 3 -2; 4 -2; 5 -2; 6 -2; 7 -2; 8 -2; 9 -2; 10 -2;
end
begin points
-10 -3; -9 -3; -8 -3; -7 -3; -6 -3; -5 -3; -4 -3; -3 -3; -2 -3; -1 -3; 0 -3;
1 -3; 2 -3; 3 -3; 4 -3; 5 -3; 6 -3; 7 -3; 8 -3; 9 -3; 10 -3;
end
begin points
-10 -4; -9 -4; -8 -4; -7 -4; -6 -4; -5 -4; -4 -4; -3 -4; -2 -4; -1 -4; 0 -4;
1 -4; 2 -4; 3 -4; 4 -4; 5 -4; 6 -4; 7 -4; 8 -4; 9 -4; 10 -4;
end
begin points
-10 -5; -9 -5; -8 -5; -7 -5; -6 -5; -5 -5; -4 -5; -3 -5; -2 -5; -1 -5; 0 -5;
1 -5; 2 -5; 3 -5; 4 -5; 5 -5; 6 -5; 7 -5; 8 -5; 9 -5; 10 -5;
end
begin points
-10 -6; -9 -6; -8 -6; -7 -6; -6 -6; -5 -6; -4 -6; -3 -6; -2 -6; -1 -6; 0 -6;
1 -6; 2 -6; 3 -6; 4 -6; 5 -6; 6 -6; 7 -6; 8 -6; 9 -6; 10 -6;
end
begin points
-10 -7; -9 -7; -8 -7; -7 -7; -6 -7; -5 -7; -4 -7; -3 -7; -2 -7; -1 -7; 0 -7;
1 -7; 2 -7; 3 -7; 4 -7; 5 -7; 6 -7; 7 -7; 8 -7; 9 -7; 10 -7;
end
x=x+exp(y/3)*cos(x/3+2*3.141*n/50)
y=y+exp(y/3)*sin(x/3+2*3.141*n/50)
   

6) Распространение волн в среде с дисперсией.

 

Дисперсии нет. ω=k·u; f = a2 (мощность). Скважность импульса g=0.05; c=0; u=10

Дисперсия ω=k·u+c; f = a2 (мощность). Скважность импульса g=0.05; c=1; u=10

Дисперсия ω=k·u+c; f = a. Скважность импульса g=0.25; c=0.1; u=1
 

nmax=126; animated(10,0);
b=0.05*n
c=1; u=10
width=600; height=100; points=600; roots=0
xmin=-pi; xmax=70; ymin=-0.5; ymax=2.5
g=0.05
a=g; m=0; g=pi*g
m=m+1; a=a+2/(pi*m)*sin(m*g)*cos(b*m-(m-c)/u*x);
....................
m=m+1; a=a+2/(pi*m)*sin(m*g)*cos(b*m-(m-c)/u*x);
f = a*a

6) Raytracing в graph (автор кода: Канищев Константин).

Вариант 1:
xmin=-8; xmax=8
ymin=-5; ymax=5
fbox=0; r = 3
gloss=2
lx=1/sqrt(3); ly=-1/sqrt(3); lz=-1/sqrt(3)
height=200; width=320;
bitmap=5;
f(x,y) = int(1/(1+x*x+y*y)+0.9)* (1-2*Re(sqrt(r*r-x*x-y*y))/r*(lx*x/r+ly*y/r+lz*Re(sqrt(r*r-x*x-y*y))/r))^gloss;

Вариант 2:

xmin=-8; xmax=8
ymin=-5; ymax=5
fbox=0; r = 3
gloss=2
lx=1/sqrt(3); ly=-1/sqrt(3); lz=-1/sqrt(3)
height=200; width=320;
bitmap=5;
nz = Re(sqrt(r*r-x*x-y*y));
f(x,y) = (1-2*nz*(lx*x+ly*y+lz*nz)/r)^gloss;

Меняя lx,ly,lz можно изменять направление света.
Меняя gloss -- увеличивается контрастность блика.


Bumpmapping:

xmin=-8; xmax=8
ymin=-5; ymax=5
fbox=0; r = 4
gloss=3
lx=1/sqrt(3); ly=-1/sqrt(3); lz=-1/sqrt(3)
height=200; width=320;
bitmap=5;
theta = int(6*atan2(Re(sqrt(x*x+y*y)),Re(sqrt(r*r-x*x-y*y))))/6;
phi = pi*int(10*atan2(x,y)/pi)/10;
nz = cos(theta);
f(x,y) = int(1/(1+x*x+y*y)+0.941)*(1-2*nz*((lx*cos(phi)+ly*sin(phi))*sin(theta)+lz*nz))**gloss;

Примеры построения графиков при помощи Граф


Партнёры: утепление фасадов купить диплом в москве Возможно вас заинтересуют контрольные браслеты, которые реализует эта компания.

Rambler's Top100