Mathematica: Mapping a Four Color Rectangle to a Four Color Torus

  • Context: Mathematica 
  • Thread starter Thread starter aheight
  • Start date Start date
  • Tags Tags
    Mathematica Torus
Click For Summary
SUMMARY

This discussion focuses on using Mathematica to map a four-color rectangle to a four-color torus. The original poster seeks assistance with the Grid command in their Mathematica code, which utilizes Graphics3D and Dynamic to visualize the transformation. The solution provided includes a modified grid function that incorporates RotationTransform and color mapping using Lighter for visual differentiation. Key parameters such as nMax and etaMax are defined to enhance the grid's appearance.

PREREQUISITES
  • Familiarity with Mathematica programming language
  • Understanding of 3D graphics rendering in Mathematica
  • Knowledge of color manipulation functions like Lighter
  • Basic concepts of geometric transformations, specifically RotationTransform
NEXT STEPS
  • Explore advanced features of Manipulate in Mathematica for interactive visualizations
  • Learn about Dynamic constructs in Mathematica for real-time updates
  • Investigate the use of Outer and Compose for complex function applications
  • Study the principles of color theory in data visualization to enhance graphical outputs
USEFUL FOR

This discussion is beneficial for Mathematica users, particularly those interested in 3D graphics, geometric transformations, and color mapping techniques. It is especially relevant for educators, researchers, and developers working on visual data representations.

aheight
Messages
318
Reaction score
108
Hi,

I was wondering if someone could help me understand the grid command in the following Mathematica code that transforms a rectangle to a torus like in this video below. My problem is I want the blue rectangle in the Mathematica code to look like the four color rectangle in the plot below. Basically want to map the four color rectangle to a four color torus. I got the Mathematica code on line and I'm having problems understanding the code to change it to my color map.

xietaplane.jpg


Code:
DynamicModule[{x = 2., l = 100., x2 = 2., l2 = 100., grid, fast,
  slow}, Grid[{{Graphics3D[{Dynamic[
       Map[{Blue, Polygon[#[[{1, 2, 4, 3}]]]} &,
          Join @@@ (Join @@ Partition[#, {2, 2}, 1])] &[
        ControlActive[fast[l, l2], slow[l, l2]]]]},
     PlotRange -> {{-7, 7}, {-7, 7}, {-1, 2}}, ImageSize -> 600,
     Axes -> True, BaseStyle -> 18],
    Column[{Slider[Dynamic[x, (l = 10.^#; x = #) &], {.0001, 2.}],
      Slider[Dynamic[x2, (l2 = 10.^#; x2 = #) &], {.0001, 2.}]}]}}],
Initialization :> (grid[l_, l2_, n_, m_] :=
    Outer[Compose,
     Array[RotationTransform[# Pi/l2, {0, 0, 1.}, {0, -l2, 0}] &,
      n, {-1, 1}],
     Array[RotationTransform[# Pi/l, {1., 0, 0}, {0, 2, l}][{0, 2,
         0}] &, m, {-1, 1}], 1];
   fast[l_, l2_] = grid[l, l2, 10, 10];
   slow[l_, l2_] = grid[l, l2, 50, 25];)]
.

Thanks for reading.
 
Last edited:
Physics news on Phys.org
Hi guys,

Here is my solution to the problem:
Code:
nMax=10;

etaMax=1.8138
grid[l_,l2_,n_,m_]:=Outer[Compose,Array[RotationTransform[# \[Pi]/l2,{0,1.,0},{0,0,l2+2}]&,n,{-1,1}],Array[RotationTransform[# etaMax/l,{1.,0,0},{0,0,l}][{0,0,0}]&,m,{-1,1}],1]

gVal=Table[Lighter[Green,0.3],{nMax},{nMax}];
rVal=Table[Lighter[Red,0.3],{nMax},{nMax}];
yVal=Table[Lighter[Yellow,0.3],{nMax},{nMax}];
bVal=Table[Lighter[Blue,0.3],{nMax},{nMax}];
mt1=MapThread[{#1,#2}&,{bVal,yVal}];
mt2=MapThread[{#1,#2}&,{rVal,gVal}];
myColors2=Flatten[Join[mt1,mt2]];

Manipulate[Show[{Graphics3D[MapThread[{#1,Polygon[#2[[{1,2,4,3}]]]}&,{myColors2,Join@@@(Join@@Partition[grid[10.^val1,10.^val2,2 nMax+1,2 nMax+1],{2,2},1])}]]},PlotRange->{{-6,6},{-6,6},{-6,6}},Axes->True,AxesLabel->{Style["X",16],Style["Y",16],Style["Z",16]}],{val1,\[Pi],-.235 },{val2,\[Pi],0.0001}]

fourcolortorus.jpg
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
11K
  • · Replies 3 ·
Replies
3
Views
5K