Cylinder Illusion Demo
Loading the math board and drawing, please wait…
This example demonstrates the visual illusion of a cylinder in a 2D perspective. It involves core mathematical concepts such as vectors, two-dimensional shapes, sine functions, trigonometry, and piecewise functions. The construction uses GeoGebra commands like Surface, Polygon, and CurveCartesian, along with objects like k, α, f_x, f_y, f_z, h, a, b, c, d, e, f, g, i, j. It is suitable for high school and above students studying solid geometry, coordinate geometry, and function graphing.
GeoGebra Commands & Parameters
Surface((f_x(s) * cos(α)) + (f_y(s) * sin(α)), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → aSurface((2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → bSurface((-2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → cSurface((f_x(s) * cos(α)) + (f_y(s) * sin(α)), (2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → dSurface((f_x(s) * cos(α)) + (f_y(s) * sin(α)), (-2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → eSurface(k + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → fSurface(k + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → gSurface((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → iSurface((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → jSurface(-9 - ((2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → b'Surface(-9 - ((f_x(s) * cos(α)) + (f_y(s) * sin(α))), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → a'Surface(-9 - ((-2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → c'Surface(-9 - ((f_x(s) * cos(α)) + (f_y(s) * sin(α))), (2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → d'Surface(-9 - ((f_x(s) * cos(α)) + (f_y(s) * sin(α))), (-2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → e'Surface(-9 - (k + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → f'Surface(-9 - (k + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → g'Surface(-9 - ((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → i'Surface(-9 - ((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + d, s, ((-π)) / 2, (3 * π / 2), d, 0, h) → j'Polygon((-4.5, (-width), 0), (-4.5, width, 0), (-4.5, width, height), (-4.5, (-width), height)) → poly1, m, n, p, qCurveCartesian((f_x(s) * cos(α)) + (f_y(s) * sin(α)), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → rCurveCartesian((f_x(s) * cos(α)) + (f_y(s) * sin(α)), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → oCurveCartesian(-9 - ((f_x(s) * cos(α)) + (f_y(s) * sin(α))), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → sCurveCartesian(-9 - ((f_x(s) * cos(α)) + (f_y(s) * sin(α))), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → tCurveCartesian((2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → uCurveCartesian((2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → vCurveCartesian(-9 - ((2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → wCurveCartesian(-9 - ((2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → a_1CurveCartesian((-2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → b_1CurveCartesian((-2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → c_1CurveCartesian(-9 - ((-2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → d_1CurveCartesian(-9 - ((-2 * k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), ((-f_x(s)) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → e_1CurveCartesian((f_x(s) * cos(α)) + (f_y(s) * sin(α)), (2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → f_1CurveCartesian((f_x(s) * cos(α)) + (f_y(s) * sin(α)), (2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → g_1CurveCartesian(-9 - ((f_x(s) * cos(α)) + (f_y(s) * sin(α))), (2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → h_1CurveCartesian(-9 - ((f_x(s) * cos(α)) + (f_y(s) * sin(α))), (2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → i_1CurveCartesian((f_x(s) * cos(α)) + (f_y(s) * sin(α)), (-2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → j_1CurveCartesian((f_x(s) * cos(α)) + (f_y(s) * sin(α)), (-2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → k_1CurveCartesian(-9 - ((f_x(s) * cos(α)) + (f_y(s) * sin(α))), (-2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → l_1CurveCartesian(-9 - ((f_x(s) * cos(α)) + (f_y(s) * sin(α))), (-2 * k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → m_1CurveCartesian(k + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → n_1CurveCartesian(k + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → o_1CurveCartesian(-9 - (k + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → p_1CurveCartesian(-9 - (k + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → q_1CurveCartesian(k + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → r_1CurveCartesian(k + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → s_1CurveCartesian(-9 - (k + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → t_1CurveCartesian(-9 - (k + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → u_1CurveCartesian((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → v_1CurveCartesian((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → w_1CurveCartesian(-9 - ((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → a_2CurveCartesian(-9 - ((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), (-k) - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → b_2CurveCartesian((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → c_2CurveCartesian((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α)), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → d_2CurveCartesian(-9 - ((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + h, s, ((-π)) / 2, (3 * π / 2)) → e_2CurveCartesian(-9 - ((-k) + (f_x(s) * cos(α)) + (f_y(s) * sin(α))), k - (f_x(s) * sin(α)) + (f_y(s) * cos(α)), f_z(s) + 0, s, ((-π)) / 2, (3 * π / 2)) → f_2
AI Drawing Prompt Reference
Draw a cylinder illusion demonstration, showing its visual illusion in 2D perspective. Include multiple surfaces and curves that revolve around a central axis to form different parts of the cylinder. Start by drawing the basic shape of the cylinder, then adjust the height and position of the surfaces to create a visual illusion effect. Finally, add a rectangular base as the ground to make the entire image more complete.
The prompt above was compiled from the original drawing commands and is for reference only.