Image:Transformation (before).png

From Wikipedia

This file is a shared upload and may be used by other projects.

[edit] Summary

This image is part of a collection of 2 plots of mathemical function (other: image:Transformation_(after).png). They show a strongly non-linear w:transformation (mathematics) being applied to a simple function (a plane through the origin). The plane is transformed into a a curved surface.

legend:

blue dot
reference point
red dots
reference square
green dots
the reference square transformed by a w:linear approximation of the non-liear transformation.

created with Maple 10 using the following code:

> restart:with(VectorCalculus):with(plots):with(plottools):z:=(x,y)->sin(1/2*x^2-1/4*y^2+3)*cos(2*x+1-exp(y)):
> z:=(x,y)->x+y/2:
> t1:=(u,v,w)->(exp(u+v),exp(u-v),cos(w));
> ti:=[t1(x,y,z)];
> bt:=[x,y,z(x,y)];
> bl:=t1(bt[]);
> pc:=[1/2,1/2];
> p0:=[pc[1],pc[2],z(pc[1],pc[2])];
> myunit:=0.3;
> circum:=map(p->[p[1],p[2],z(p[1],p[2])],[(pc+[myunit,i/10*myunit])$i=-10..10,(pc+[-myunit,i/10*myunit])$i=-10..10,(pc+[i/10*myunit,myunit])$i=-10..10,(pc+[i/10*myunit,-myunit])$i=-10..10]):
> i0:=evalf([t1(p0[])]);
> display(plot3d([x,y,z(x,y)],x=-1.2..1.2,y=-1.2..1.2,axes=normal),point(p0,color=blue,symbol=circle,symbolsize=10),'point(circum[i],color=red,symbol=circle,symbolsize=2)'$'i'=1..nops(circum));
> display(plot3d([bl],x=-1.2..1.2,y=-1.2..1.2,axes=normal),point(i0,color=blue,symbol=circle,symbolsize=10),'point([t1(circum[i][])],color=red,symbol=circle,symbolsize=2)'$'i'=1..nops(circum));
> J:=Jacobian(ti,[x,y,z]);
> lindiff:=Matrix(eval(J,{x=p0[1],y=p0[2],z=p0[3]}));
> tl:=(u,v,w)->convert(lindiff.Vector([u,v,w]),list);
> evalf(tl(0,0,0));
> evalf([t1(p0[])]);
> linapp:=map(c->evalf(i0+tl((c-p0)[])),circum):
> display(plot3d([bl],x=-1.2..1.2,y=-1.2..1.2,axes=normal),point(i0,color=blue,symbol=circle,symbolsize=10),'point([t1(circum[i][])],color=red,symbol=circle,symbolsize=2)'$'i'=1..nops(circum),'point(linapp[i],color=green,symbol=circle,symbolsize=2)'$'i'=1..nops(circum));
> display('point(linapp[i]-[t1(circum[i][])],color=green,symbol=circle,symbolsize=2)'$'i'=1..nops(circum));

[edit] Licensing

Public domain I, the author of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.


Afrikaans | Alemannisch | Aragonés | العربية | Български | Català | Česky | Cymraeg | Dansk | Deutsch | Ελληνικά | English | Español | Esperanto | فارسی | Français | Galego | 한국어 | हिन्दी | Hrvatski | Ido | Bahasa Indonesia | Íslenska | Italiano | עברית | Latina | Lietuvių | Magyar | Bahasa Melayu | Nederlands | Norsk (bokmål) | Norsk (nynorsk) | 日本語 | Polski | Português | Ripoarish | Română | Русский | Slovenčina | Slovenščina | Српски | Svenska | ไทย | Türkçe | Українська | Tiếng Việt | Walon | 简体中文 | 繁體中文 | 粵語 | +/-

The following pages link to this file: