Mathematical graphics-besserx (béserz) Curved Surface
In the previous section, we talked about the béserx curve, which is an extension of another dimension. the formula is still the curve formula: \ mathbf {B} (t) = \ mathbf {P} _ 0 (1-t) ^ 3 + 3 \ mathbf {P} _ 1 t (1-t) ^ 2 + 3 \ mathbf {P} _ 2t ^ 2 (1-t) + \ mathbf {P} _ 3 t ^ 3 \ mbox {,} t \ in [0, 1]. The reason for changing from a curve to a surface is that the vertex is horizontally connected and then vertically connected. many computer graphics tutorials will contain the DEMO of the besell surface. here, I still use my script code to generate the besell surface. the vertices in the Code are controlled to generate random numbers, so each Generated Surface image is different. for related software, see: Mathematical graphics visualization tool. Use script code with custom syntax to generate mathematical graphics. the software is free and open-source. QQ chat group: 367752815 secondary besell surface: three control vertices need to be generated to copy the code vertices = D1: 100 D2: 100 u = from 0 to 1 D1v = from 0 to 1 D2 ax0 = rand2 (-10, 10) ay0 = rand2 (-10, 10) az0 = rand2 (-10, 10) bx0 = rand2 (-10, 10) by0 = rand2 (-10, 10) bz0 = rand2 (-10, 10) cx0 = rand2 (-10, 10) cy0 = rand2 (-10, 10) cz0 = rand2 (-10, 10) ax1 = rand2 (-10, 10) ay1 = rand2 (-10, 10) az1 = rand2 (-10, 10) bx1 = rand2 (-10, 10) by1 = rand2 (-10, 10) bz1 = rand2 (-10, 10) cx1 = rand2 (-10, 10) cy1 = rand2 (-10, 10) cz1 = rand2 (-10, 10) ax2 = rand2 (-10, 10) ay2 = rand2 (-10, 10) az2 = rand2 (-10, 10) bx2 = rand2 (-10, 10) by2 = rand2 (-10, 10) bz2 = rand2 (-10, 10) cx2 = rand2 (-10, 10) cy2 = rand2 (-10, 10) cz2 = rand2 (-10, 10) ax3 = rand2 (-10, 10) ay3 = rand2 (-10, 10) az3 = rand2 (-10, 10) bx3 = rand2 (-10, 10) by3 = rand2 (-10, 10) bz3 = rand2 (-10, 10) cx3 = rand2 (-10, 10) cy3 = rand2 (-10, 10) cz3 = rand2 (-10, 10) u1 = (1-u) * (1-u) u2 = 2 * (1-u) * u u3 = u * u ax = u1 * ax0 + u2 * ax1 + u3 * ax2ay = u1 * ay0 + u2 * ay1 + u3 * ay2az = u1 * az0 + u2 * az1 + u3 * az2bx = u1 * bx0 + u2 * bx1 + u3 * bx2by = u1 * by0 + u2 * by1 + u3 * by2bz = u1 * bz0 + u2 * bz1 + u3 * bz2cx = u1 * cx0 + u2 * cx1 + u3 * cx2cy = u1 * cy0 + u2 * cy1 + u3 * cy2cz = u1 * cz0 + u2 * cz1 + u3 * cz2 v1 = (1-v) * (1-v) v2 = 2 * (1-v) * v v3 = v * v x = v1 * ax + v2 * bx + v3 * cxy = v1 * ay + v2 * by + v3 * cyz = v1 * az + v2 * bz + v3 * cz u = u * 10 v = v * 10 copy the code three times to the besell surface: you need to generate 4*4 control vertices copy codes vertices = D1: 100 D2: 100 u = from 0 to 1 D1v = from 0 to 1 D2 ax0 = rand2 (-10, 10) ay0 = rand2 (-10, 10) az0 = rand2 (-10, 10) bx0 = rand2 (-10, 10) by0 = rand2 (-10, 10) bz0 = rand2 (-10, 10) cx0 = rand2 (-10, 10) cy0 = rand2 (-10, 10) cz0 = rand2 (-10, 10) dx0 = rand2 (-10, 10) dy0 = rand2 (-10, 10) dz0 = rand2 (-10, 10) ax1 = rand2 (-10, 10) ay1 = rand2 (-10, 10) az1 = rand2 (-10, 10) bx1 = rand2 (-10, 10) by1 = rand2 (-10, 10) bz1 = rand2 (-10, 10) cx1 = rand2 (-10, 10) cy1 = rand2 (-10, 10) cz1 = rand2 (-10, 10) dx1 = rand2 (-10, 10) dy1 = rand2 (-10, 10) dz1 = rand2 (-10, 10) ax2 = rand2 (-10, 10) ay2 = rand2 (-10, 10) az2 = rand2 (-10, 10) bx2 = rand2 (-10, 10) by2 = rand2 (-10, 10) bz2 = rand2 (-10, 10) cx2 = rand2 (-10, 10) cy2 = rand2 (-10, 10) cz2 = rand2 (-10, 10) dx2 = rand2 (-10, 10) dy2 = rand2 (-10, 10) dz2 = rand2 (-10, 10) ax3 = rand2 (-10, 10) ay3 = rand2 (-10, 10) az3 = rand2 (-10, 10) bx3 = rand2 (-10, 10) by3 = rand2 (-10, 10) bz3 = rand2 (-10, 10) cx3 = rand2 (-10, 10) cy3 = rand2 (-10, 10) cz3 = rand2 (-10, 10) dx3 = rand2 (-10, 10) dy3 = rand2 (-10, 10) dz3 = rand2 (-10, 10) u1 = pow (1-U), 3) u2 = 3 * pow (1-u), 2) * u u3 = 3 * u * (1-u) u4 = u * u ax = u1 * ax0 + u2 * ax1 + u3 * ax2 + u4 * ax3ay = u1 * ay0 + u2 * ay1 + u3 * ay2 + u4 * ay3az = u1 * az0 + u2 * az1 + u3 * az2 + u4 * az3bx = u1 * bx0 + u2 * bx1 + u3 * bx2 + u4 * bx3by = u1 * by0 + u2 * by1 + u3 * by2 + u4 * by3bz = u1 * bz0 + u2 * bz1 + u3 * bz2 + u4 * bz3cx = u1 * cx0 + u2 * cx1 + u3 * cx2 + u4 * cx3cy = u1 * cy0 + u2 * cy1 + u3 * cy2 + u4 * cy3cz = u1 * cz0 + u2 * cz1 + u3 * cz2 + u4 * cz3dx = u1 * dx0 + u2 * dx1 + u3 * dx2 + u4 * dx3dy = u1 * dy0 + u2 * dy1 + u3 * dy2 + u4 * dy3dz = u1 * dz0 + u2 * dz1 + u3 * dz2 + u4 * dz3 v1 = pow (1-v ), 3) v2 = 3 * pow (1-v), 2) * v v3 = 3 * v * (1-v) v4 = v * v x = v1 * ax + v2 * bx + v3 * cx + v4 * dxy = v1 * ay + v2 * by + v3 * cy + v4 * dyz = v1 * az + v2 * bz + v3 * cz + v4 * dz u = u * 10 v = v * 10