Записи с меткой «графиков»

Визуализация корней случайных полиномов

Визуализация корней случайных полиномов.
Наряду с традиционной для математических и статистических программ возможностью генерации случайных чисел Maple 15 предоставляет довольно экзотическую возможность генерации случайных полиномов с высокой максимальной степенью. Для этого используется функция:
randpoly(var,o)
Она возвращает случайный полином переменной var, причем максимальная степень полинома птах может указываться параметром о вида degree=nmax.
Приведем примеры генерации случайного полинома с максимальной степенью 50:

С помощью функции аllvalues можно построить список SA корней случайного полинома. А с помощью команды вида:
> with(plots):
complexplot(SA.x=-1.2..1.2.style=point):
построить комплексные корни полученного случайного полинома в виде точек • на комплексной плоскости. Один из таких графиков (их можно построить множество) показан.
Можно заметить любопытную закономерность — точки, представляющие корни случайного полинома, укладываются вблизи окружности единичного радиуса с центром в начале координат. Однако этот пример, приводимый в ряде книг по Maple, показывает, что порою вычисления могут давать довольно неожиданные результаты. далее…

Графические структуры трехмерной графики

Графические структуры трехмерной графики
Графические структуры трехмерной графики строятся функцией PLOT3D:
PLOT3D(s1,s2,s3…..o)
В качестве элементарных графических структур можно использовать уже описанные выше объекты POINTS, CURVES, POLYGONS и TEXT — разумеется, с добавлением в списки параметров третьей координаты. Пример такого построения дан.
Кроме того, могут использоваться некоторые специальные трехмерные структуры. Одна из них — структура GRID:

  •  GRID(a. .b,c..d.listlist) — задание поверхности над участком координатной плоскости, ограниченной отрезками[а, b] и[с, d], по данным, заданным переменной-списком listlist:=[[z11,…z1n],[z21,…z2n],…[z1m…zmn]] с размерностью n?m. Заметим, что эта переменная задает координату z для равноотстоящих точек поверхности.

На показан пример создания структуры трехмерной графики на базе GRID. Изображение .представляет собой линии, соединяющие заданные точки.
Еще один тип трехмерной графической структуры — это MESH: 

  •  MESH(listlist) — задание трехмерной поверхности по данным списочной переменной list! 1st, содержащей полные координаты всех точек поверхности (возможно задание последней при неравномерной сетке).

Обычная форма задания этой структуры следующая:
MESH([[[x11,y11,z11]….[x1n,y1n,z1n]]. [[x21,y21,z21]….[x2n,y2n,z2n]]. …[[xm1,ym1,zm1]…[xmn,ymn,zmn]]])
Пример задания такой структуры представлен.
Описанные структуры могут использоваться и в программных модулях. Много таких примеров описано в книгах, поставляемых с системой Maple 15.

Быстрое построение графиков

Быстрое построение графиков
Двумерная быстрая графика — smartplot
В последние реализации системы Maple (5, 6 и 7) введены новые функции быстрого построения графиков. Функция smartplot(f) предназначена для создания двумерных графиков. Параметр f может задаваться в виде одиночного выражения или набора выражений, разделяемых запятыми. Задание управляющих парамтеров в этих графических функциях не предусмотрено; таким образом, их можно считать первичными, или черновыми. Для функции построения двумерного графика по умолчанию задан диапазон изменения аргумента -10.. 10. Рисунок иллюстрирует применение функции smartplot для построения трех (верхний пример) и двух (нижний пример) графиков функций на одном рисунке.
Обратите внимание на второй пример применения функции smartplot. Здесь график выражения 5sin(y)/y построен относительно вертикальной оси. Поэтому он развернут на 90° относительно графика, построенного обычным образом.
ПРИМЕЧАНИЕ
 На графиках, построенных командой smartplot(x), присутствует надпись «Live», что — видно на.
Быстрое построение трехмерных графиков smartplot3d
Быстрое (не в смысле ускорения самого построения, а лишь в смысле более быстрого задания построения графиков) построение трехмерных графиков обеспечивает функция smartplot3d Для этой функции задан диапазон изменения обоих аргументов -5..5. Рисунок поясняет применение функции smartplot3d.

Как видно из второго примера, представленного, функция smartplot3d обеспечивает построение не только отдельных поверхностей, но и ряда Пересе, кающихся поверхностей. далее…

Построение фигур в различных системах координат

Построение фигур в различных системах координат
Как отмечалось, вид графика трехмерной поверхности существенно зависит от выбора координатной системы. Рисунок показывает пример построения нелинейного конуса в цилиндрической системе координат. Для задания такой системы координат используется параметр coords=cylindrical.
При построении этой фигуры также использована цветная функциональная окраска. Кроме того, этот пример иллюстрирует вывод над рисунком титульной надписи (кстати, сделанной на русском языке).
Приведем еще один пример построения трехмерной поверхности — на этот раз . в сферической системе координат ( 11.17). Здесь функция задана вообще элементарно просто — в виде числа 1. Но, поскольку выбрана сферическая система координат, в результате строится поверхность шара единичного радиуса.
О том, насколько необычным может быть график той или иной функции в различных системах координат, свидетельствует рис. 11.18. На нем показан график параметрически заданной функции от одной координаты t = sin(t3), построенный в сферической системе координат.
Кстати, иллюстрирует возможность одновременного наблюдения нескольких окон. далее…

Выбор и пересчет координат трехмерных графиков

Выбор и пересчет координат трехмерных графиков
Для трехмерных графиков возможно задание 31 типа координатных систем с помощью параметра сооrds= Тип _ координатной _ системы. Поскольку на экране монитора поверхность отображается только в прямоугольной системе координат и характеризуется координатами х, у и z, то для представления поверхности, заданной в иной системе координат с координатами u, v и w, используются известные [46, 47] формулы для преобразования (u, v, w) —> (х, у, z). Ниже перечислены типы трехмерных координатных систем и соответствующие формулы преобразования.
bipolar-cylindrical:
х = a*sinh(v)/(cosh(v)-cos'(u))
у = a*sin(u)/(cosh(v)-cos(u))
z = w 
bispherical:
x = sin(u)*cos(w)/d
у = sin(u)*sin(w)/d
z = sinh(v)/d где d — cosh(v) — cos(u) 
cardioidal:
x = u*v*cos(w)/(u^2+v^2)^2
у -=u*v*sin(w)/(u^2+v^2)^2
z = (u^2-v^2)/2/(u^2+v^2)^2 
cardioidcylindrical:
x = (u^2-v^2)/2/(u^2+v^2)^2
у — u*v/(u^2+v^2)^2
z =w
 casscylindhcal:
x = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)^(l/2)+exp(u)*cos(v)+l)^(l/2)
у = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)^(l/2)-exp(u)*cos(v)-l)^(l/2)
z =w 
 confocalellip:
x = ((a^2-u)*(a^2-v)*(a^2-w)/(a^2-b^2)/(a^2-c^2))^(l/2)
у = ((b^2-u)*(b^2-v)*(b^2-w)/(b^2-a^2)/(b^2-c^2))^(l/2)
z = ((c^2-u)*(c^2-v)*(c^2-w)/(c^2-a^2)/(c^2-b^2))^(l/2)
 confocalparab:
x = ((a^2-u)*(a^2-v)*(a^2-w)/(b^2-a^2)^(l/2)
у = ((b^2-u)*(b^2-v)*(b^2-w)/(b^2-a^2))^(l/2)
z = (a^2+b^2-u-v-w)/2 
 conical:
x = u*v*w/(a*b)
у = u/b*((v^2 — b^2)*(b^2-w^2)/(a^2-b^2))^(l/2)
z= u/a*((a^2 — v^2)*(a^2 — w^2)/(a^2-b^2))6(l/2) 
cylindrical:
x = u*cos(y)
у = u*sin(y)
z = w 
ellcylindrical:
x =a*cosh(u)*cos(v)
у = a*sinh(u)*sin(v)
z = w 
ellipsoidal:
x = u*v*w/a/b
у = ((u^2-b^2)*(u^2-b^2)*(b^2-w^2)/(а^2-b^2)^(1/2)/b
z = ((u^2-a^2)*(a^2-v^2)*(a^2-w^2)/(a^2-b^2)^(l/2)/a 
hypercylindrical:
x = ((u^2+v^2)^(l/2)-ni)^(l/2)
у = ((u^2+v^2)^(l/2)-u)^(l/2)
z = w 
invcasscylindrical:
x = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)^(l/2) +
exp(u)*cos(v)+1)^(l/2)/(exp(2*u)+2*exp(u)*cos(v)+1)^(l/2)
у = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+1)^(l/2) —
exp(u)*cos(v)-1)^(l/2)/(exp(2*u)+2*exp(u)*cos(v)-1)^(l/2)
z = w
 invellcylindrical:
x = a*cosh(u)*cos(v)/(cosh(u)^2-sin(v)^2)
у = a*sinh(u)*sin(v)/(cosh(u)^2-sin(v)^2)
z = w 
invoblspheroidal:
x = a*cosh(u)*sin(v)*cos(w)/(cosh(u)^2-cos(v)^2)
у = a*cosh(u)*sin(v)*sin(w)/(cosh(u)^2-cos(v)^2)
z = a*sinh(u)*cos(v)/(cosh(u)^2-cos(v)^2)
  invprospheroldal:
x = a*s1nh(u)*sin(v)*cos(w)/(cosh(u)^2-sin(v)^2)
у = a*sinh(u)*sin(v)*sin(w)/(cosh(u)^2-sin(v)^2)
z = a*cosh(u)*cos(v)/(cosh(u)^2-s1n(v)^2)
 logcyllndrical:
x = a/Pi*ln(u^2+v^2)
у = 2*a/Pi*arctan(v/u)
z = w
logcoshcylindrical:
x = a/Pi*ln(cosh(u^2-sin(v)^2)
у = 2*a/Pi*arctan(tanh(u)*tan(v))
z = w
maxwell cylindrical:
x = a/P1*(u+l+exp(u)*cos(v))
у = a/Pi*(v+exp(u)*sin(v))
z = w 
oblatespheroidal:
x = a*cosh(u)*s1n(v)*cos(w)
у = a*cosh(u)*sin(v)*sin(w)
z = a*s1nh(u)*cos(v)
  parabololdal:
x = u*v*cos(w)
у = u*v*sin(w)
z = (u^2 — v^2)/2 
paraboloidal2:
x = 2*((u-a)*(a-v)*(a-w)/(a-b)^(l/2)
у = 2*((u-b)*(b-v)*(b-w)/(a-b))^(l/2)
z = u+v+w-a-b
  paracylindrical:
x = (iT2 — v*2)/2
у =u*v
z = w 
prolatespheroidal:
x = a*sinh(u)*sin(v)*cos(w)
y=a*s1nh(u)*sin(v)*sin(w)
z=a*cosh(u)*cos(v)
  rectangular:
x = u
у = v
z = w
 rosecylindrlcal:
х =((u^2+v^2)^(l/2)-Hi)^(l/2)/(u^2+v^2)^(l/2)
 у = ((u^2+v^2)^(l/2)-u)^(l/2)/(u^2+v^2)^(l/2)
z =w
  sixsphere:
x = u/(u^2+v^2+w^2)
у = v/(u^2+v^2+w^2)
z = w/(u^2+v^2+w^2)
 spherical:
x = u*cos(v)*sin(w)
у = u*sin(v)*sin(w)
z = u*cos(w) 
tangentcylindrical:
x = u/(u^2+v^2) ‘
у = v/(u^2+v^2)
z = w
  tangentsphere:
x = u*cos(w)/(u^2+v^2)
у = u*sin(w)/(u^2+v^2)
z = v/(u^2+v^2) 
toroidal:
x = a*sinh(v)*cos(w)/d
у = a*sinh(v)*sin(w)/d
z = a*sin(u)/d где d = cosh(v) — cos(u)
Эти формулы полезно знать, поскольку в литературе встречаются несколько отличные формулы пересчета. Вид графиков трехмерных поверхностей очень сильно различается в разных координатных системах. По умолчанию трехмерные графики строятся в прямоугольной системе координат — rectangular.

Построение поверхностей
Построение поверхностей с разными стилями
показано два примера простейших построений графиков трехмерной поверхности. По умолчанию в Maple 15 строится поверхность с функциональной окраской и стилем style=patch. Функциональная окраска делает рисунки более информативными, но, увы, на рисунках в книге она превращается в окраску оттенками серого цвета.
Параметр style=hidden строит каркасную поверхность с функциональной окраской тонких линий каркаса и удалением невидимых линий. далее…

Графики функций в полярной системе координат

Графики функций в полярной системе координат
Графики в полярной системе координат представляют собой линии, которые описывают конец радиус- вектора  r(t) при изменении угла t в определенных пределах — от t до t . Построение таких графиков также производится функцией plot, которая для этого записывается в следующем виде:
 plot([r(t),theta(t),t=tmin..tnrax],h,v,p,coords-polar)
Здесь существенным моментом является задание полярной системы координат параметром coords=polar. Рисунок дает примеры построения графиков функций в полярной системе координат.
Графики параметрических функций и функций в полярной системе координат отличаются огромным разнообразием. Снежинки и узоры мороза на стеклах, некоторые виды кристаллов и многие иные физические объекты подчиняются математическим закономерностям, положенным в основу построения таких графиков.

Построение трехмерных графиков
Особенности применения функции plot3d
Трехмерными называют графики, отображающие функции двух переменных  z(х,у). Каждая точка zi таких графиков является высотой (аппликатой) точки, лежащей в плоскости XY и представленной координатами (х,у). Поскольку экран монитора компьютера в первом приближении является плоским, то на деле трехмерные графики представляют собой специальные проекции объемных объектов.
Для построения графиков трехмерных поверхностей Maple имеет встроенную в ядро функцию pi ot3d. Она может использоваться в следующих форматах:
plot3d(exprl. x=a..b. y=c..d,p)
plot3d(f, a..b. c..d.p)
plot3d([exprf.exprg.exprh]. s=a..b, t=c..d.p)
plot3d([f.g.h]. a..b, c..d,p)
В двух первых формах plot3d применяется для построения обычного графика одной поверхности, в других формах — для построения графика с параметрической формой задания поверхности. далее…