Parametric Functions (C Code)
Function 1 (Circle)
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { float pi = 3.1415926, step; winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); linesp (2.0); titlin ("Surface Plot of the Parametric Function", 3); titlin ("[sin (u) * cos (v), sin (u) * sin (v), cos (u)]", 4); light ("on"); vkytit (-300); nograf (); graf3d (-1., 1., -1., 1., -1., 1., -1., 1., -1., 1., -1., 1.); height (60); title (); clip3d ("none"); surmsh ("on"); surclr (254, 100); survis ("both"); shdmod ("off", "zscale"); matop3 (1.0,0.0,0.0,"diffuse"); setfce ("bottom"); matop3 (0.0,1.0,0.0,"diffuse"); shdmod ("smooth", "surface"); step = pi / 30.; surfcp (zfun, 0., pi, step, 0., 2 * pi - 0.5, step); disfin (); } float zfun (float u, float v, int iopt) { double w; if (iopt == 1) w = sin (u) * cos (v); else if (iopt == 2) w = sin (u) * sin (v); else w = cos (u); return (float) w; }
Function 2 (Torus)
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { float pi = 3.1415926, step; winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); linesp (2.0); titlin ("Surface Plot of the Parametric Function", 2); titlin ("[cos (u) * (3 + cos (v)), sin (u) * (3 + cos (v)),", 3); titlin (" sin (v)]", 4); light ("on"); vkytit (-300); nograf (); graf3d (-3., 3., -3., 1., -3., 3., -3., 1., -3., 3., -3., 1.); height (60); title (); clip3d ("none"); surmsh ("on"); surclr (254, 100); survis ("both"); shdmod ("off", "zscale"); matop3 (1.0,0.0,0.0,"diffuse"); setfce ("bottom"); matop3 (0.0,1.0,0.0,"diffuse"); shdmod ("smooth", "surface"); step = pi / 30; surfcp (zfun, 0., 2 * pi - 0.5, step, -pi, pi, step); disfin (); } float zfun (float u, float v, int iopt) { double w; if (iopt == 1) w = cos (u) * (3.0 + cos (v)); else if (iopt == 2) w = sin (u) * (3.0 + cos (v)); else w = sin (v); return (float) w; }
Function 3
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { float p = 3.14159, step; winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); intax (); mixalf (); newmix (); linesp (2.0); titlin ("Surface Plot of the Parametric Function",2); titlin ("[1.2^v%*sin(u)^2%*sin(v), 1.2^v%*sin(u)^2%*cos(v), ", 3); titlin ("1.2^v%*sin(u)*cos(u)]", 4); light ("on"); vkytit (-300); nograf (); graf3d (-3.,3.,-3.,1.,-3.,3.,-3.,1.,-2.,2.,-2.,1.); height (60); title (); clip3d ("none"); surmsh ("on"); shdmod ("smooth", "surface"); step = p/30.; tr3shf (-1., 0., 0.); tr3rot (0., 0., 30.); surfcp (zfun, 0., p, step, -p/4, 5*p/2, step); disfin (); } float zfun(float u, float v, int iopt) { double w; if (iopt == 1) w = pow (1.2, v) * (sin(u) * sin(u) * sin(v)); else if (iopt == 2) w = pow (1.2, v) * (sin(u) * sin(u) * cos(v)); else w = pow (1.2, v) * (sin(u) * cos(u)); return (float) w; }
Function 4
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { float p = 3.14159, step; winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); intax (); mixalf (); newmix (); linesp (2.0); titlin ("Surface Plot of the Parametric Function",2); titlin ("[1.2^v%*sin(u)^2%*sin(v), 1.2^v%*sin(u)^2%*cos(v), ", 3); titlin ("1.2^v%*sin(u)*cos(u)]",4); light ("on"); vkytit (-300); nograf (); graf3d (-3.,3.,-3.,1.,-3.,3.,-3.,1.,-2.,2.,-2.,1.); height (60); title (); clip3d ("none"); surmsh ("on"); shdmod ("off", "zscale"); matop3 (1.0,0.0,0.0,"diffuse"); setfce ("bottom"); matop3 (0.0,1.0,0.0,"diffuse"); shdmod ("smooth", "surface"); step = p/30.; tr3shf (-1., 0., 0.); tr3rot (0., 0.,30.); surfcp (zfun, 0., p, step, -p/4, 5*p/2, step); disfin (); } float zfun(float u, float v, int iopt) { double w; if (iopt == 1) w = pow (1.2, v) * (sin(u) * sin(u) * sin(v)); else if (iopt == 2) w = pow (1.2, v) * (sin(u) * sin(u) * cos(v)); else w = pow (1.2, v) * (sin(u) * cos(u)); return (float) w; }
Function 5
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { float p = 3.14159, step; winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); intax (); linesp (2.0); titlin ("Surface Plot of the Parametric Function", 3); titlin ("[3 * cos(u), 3 * sin(u), v]", 4); light ("on"); vkytit (-300); nograf (); graf3d (-4.,4.,-4.,1.,-4.,4.,-4.,1.,-4.,4.,-4.,1.); height (60); title (); clip3d ("none"); surmsh ("on"); shdmod ("off", "zscale"); matop3 (1.0,0.0,0.0,"diffuse"); setfce ("bottom"); matop3 (0.0,1.0,0.0,"diffuse"); shdmod ("smooth", "surface"); step = p / 20.; surfcp (zfun, -p, p, step, -p, p, step); disfin (); } float zfun(float u, float v, int iopt) { double w; if (iopt == 1) w = 3 * cos (u); else if (iopt == 2) w = 3 * sin (u); else w = v; return (float) w; }
Function 6
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { float p = 3.14159, step; winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); intax (); linesp (2.0); titlin ("Surface Plot of the Parametric Function", 3); titlin ("[sin(u) * sin(v), cos(u) * sin(v), cos(u) * cos(v)]", 4); light ("on"); vkytit (-300); nograf (); graf3d (-1., 1., -1., 1., -1., 1., -1., 1., -1., 1., -1., 1.); height (60); title (); clip3d ("none"); surmsh ("on"); shdmod ("off", "zscale"); matop3 (1.0,0.0,0.0,"diffuse"); setfce ("bottom"); matop3 (0.0,1.0,0.0,"diffuse"); shdmod ("smooth", "surface"); step = p/30.; tr3rot (0., 0., 10.); surfcp (zfun, -p, p, step, -p, p, step); disfin (); } float zfun (float u, float v, int iopt) { double w; if (iopt == 1) w = sin (u) * sin (v); else if (iopt == 3) w = cos (u) * sin (v); else w = cos (u) * cos (v); return (float) w; }
Function 7
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { float p = 3.14159, step; winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); intax (); linesp (2.0); titlin ("Surface Plot of the Parametric Function", 2); titlin ("[sin(u) * sin(v) + 0.05 * cos(20 * v),", 3); titlin ("cos(u) * sin(v) + 0.05 * cos(20 * u), cos(v)]", 4); light ("on"); vkytit (-300); nograf (); graf3d (-1., 1., -1., 1., -1., 1., -1., 1., -1., 1., -1., 1.); height (60); title (); clip3d ("none"); surmsh ("on"); matop3 (1.0,0.0,0.0,"diffuse"); setfce ("bottom"); matop3 (0.0,1.0,0.0,"diffuse"); shdmod ("smooth", "surface"); step = p/60.; tr3rot (0., 0., 10.); surfcp (zfun, -p, p, step, -p, p, step); disfin (); } float zfun (float u, float v, int iopt) { double w; if (iopt == 1) w = sin (u) * sin (v) + 0.05 * cos (20 * v); else if (iopt == 2) w = cos (u) * sin (v) + 0.05 * cos (20 * u); else w = cos (v); return (float) w; }
Function 8
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); intax (); mixalf (); newmix (); linesp (2.0); titlin ("Surface Plot of the Parametric Function", 3); titlin ("[u, v, cos (sqrt (u^2% + v^2%))]", 4); light ("on"); vkytit (-300); nograf (); graf3d (-10.,10.,-10.,5.,-10.,10.,-10.,5.,-10.,10.,-10.,5.); height (60); title (); clip3d ("none"); surmsh ("on"); shdmod ("smooth", "surface"); surfcp (zfun, -10., 10., 0.5, -10., 10., 0.5); disfin (); } float zfun(float u, float v, int iopt) { double w, r; r = sqrt (u * u + v * v); if (iopt == 1) w = u; else if (iopt == 2) w = v; else w = (cos (r)); return (float) w; }
Function 9
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { float p = 3.1415926, step; winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); intax (); linesp (2.0); titlin("Surface Plot of the Parametric Function", 3); titlin("[v * cos (u), v * sin (u), v]", 4); light ("on"); vkytit(-300); nograf (); graf3d (-1.,1.,-1.,1.,-1.,1.,-1.,1.,-1.,1.,-1.,1.); height (60); title (); clip3d ("none"); surmsh ("on"); shdmod ("smooth", "surface"); step = p / 30.; surfcp (zfun, 0, 2 * p, step, -1. , 1., 0.1); disfin (); } float zfun(float u, float v, int iopt) { double w; if (iopt == 1) w = v * cos (u); else if (iopt == 2) w = v * sin (u); else w = v; return (float) w; }
Function 10
#include <stdio.h> #include <math.h> #include "dislin.h" float zfun(float u, float v, int iopt); main() { float pi = 3.1415926, step; winsiz (600, 600); page (3000, 3000); metafl ("png"); imgfmt ("rgb"); scrmod ("revers"); disini (); pagera (); hwfont (); axspos (150,2950); axslen (2700,2700); linesp (2.0); titlin ("Surface Plot of the Parametric Function", 2); titlin ("[r * sin (u) * cos (v), r * sin (u) * sin (v),", 3); titlin ("r * cos (u)], r = cos ( 2 * u)", 4); light ("on"); vkytit (-300); nograf (); graf3d (-1., 1., -1., 1., -1., 1., -1., 1., -1., 1., -1., 1.); height (60); title (); clip3d ("none"); surmsh ("on"); surclr (254, 100); survis ("both"); matop3 (1.0,0.0,0.0,"diffuse"); setfce ("bottom"); matop3 (0.0,1.0,0.0,"diffuse"); shdmod ("smooth", "surface"); step = pi / 30.; surfcp (zfun, 0., pi, step, 0., 2 * pi, step); disfin (); } float zfun (float u, float v, int iopt) { double w, r; r = cos (2 * u); if (iopt == 1) w = r * sin (u) * cos (v); else if (iopt == 2) w = r * sin (u) * sin (v); else w = r * cos (u); return (float) w; }
News
Update 11.5.2
8. April 2024
Support für Python 3.11 und Windows
28. Juli 2023
Bugfix für die X11-Distributionen
22. Juli 2023
Update 11.5.1
25. April 2023
Support für Linux 64-bit auf IBM z Rechnern
30. Oktober 2022
Support für MingW 64-bit mit UCRT Runtime-Umgebung
28. September 2022
Release 11.5
15. März 2022
Release 11.4
15. März 2021
Support für Free Pascal 64-bit unter Windows
22. Juli 2020
Upgrade 11.3.3
28. Juni 2020
DISLIN-Buch Version 11 ist erhältlich
8. März 2017
8. April 2024
Support für Python 3.11 und Windows
28. Juli 2023
Bugfix für die X11-Distributionen
22. Juli 2023
Update 11.5.1
25. April 2023
Support für Linux 64-bit auf IBM z Rechnern
30. Oktober 2022
Support für MingW 64-bit mit UCRT Runtime-Umgebung
28. September 2022
Release 11.5
15. März 2022
Release 11.4
15. März 2021
Support für Free Pascal 64-bit unter Windows
22. Juli 2020
Upgrade 11.3.3
28. Juni 2020
DISLIN-Buch Version 11 ist erhältlich
8. März 2017