Выбор и пересчет координат трехмерных графиков
Выбор и пересчет координат трехмерных графиков
Для трехмерных графиков возможно задание 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.
Содержание раздела