Investigating Symmetries By Russell Blyth (based on a worksheet by Dorothy Zeiser) Click this button first:use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. restart: with(plots): with(plottools):with(LinearAlgebra): colors := [green,blue,red,cyan,yellow,magenta,coral,violet,orange,sienna,navy,brown,aquamarine,gold,maroon,khaki]: lcolors := [COLOR(RGB,.5,1,.5),COLOR(RGB,.5,.5,1),COLOR(RGB,1,.5,.5),COLOR(RGB,.5,1,1),COLOR(RGB,1,1,.5),COLOR(RGB,1,.5,1),COLOR(RGB,1,0.7490196100,.5),COLOR(RGB,0.6549019600,0.5921568650,0.6549019600),COLOR(RGB,.9,0.5980392150,0.5980392150),COLOR(RGB,0.7784313750,0.7098039200,0.5686274500),COLOR(RGB,0.5686274500,0.5686274500,0.7784313750),COLOR(RGB,0.8235294100,0.5823529400,0.5823529400),COLOR(RGB,0.7196078450,0.9294117650,0.7882352950),COLOR(RGB,.9,0.7490196100,0.5980392150),COLOR(RGB,0.7784313750,0.5686274500,0.7098039200),COLOR(RGB,0.8117647050,0.8117647050,0.6862745100)]: nGon := n -> [seq(<cos((4*i+2-n)*Pi/(2*n)),sin((4*i+2-n)*Pi/(2*n))>,i=0..(n-1))]: rotmat := alpha -> <<cos(alpha), sin(alpha)> | <-sin(alpha), cos(alpha)>>: multmatbylist :=(multmat, listofvecs)-> map((x,y)-> y.x,listofvecs,multmat): rotateObj := (listoflistofvecs,ang) -> seq(multmatbylist(rotmat(ang),listoflistofvecs[i]),i=1..nops(p)): AnimRotate := proc(l,ang) local NumSteps: NumSteps := max(ceil(36*abs(ang)/Pi),1): display([seq(display([pointplot(<0,0>,color = black, thickness = 5),seq(pointplot(l[i],color = lcolors[i], thickness = 5,connect=true),i=1..nops(p)),seq(pointplot(multmatbylist(rotmat((counta/NumSteps)*ang),l[i]),color=colors[i],connect=true,thickness=5),i=1..nops(p))]), counta=0..NumSteps)],scaling=constrained, axes=none,insequence = true) end proc: refinxmat := alpha -> <<1,0,0>|<0,cos(alpha),sin(alpha)>|<0,-sin(alpha),cos(alpha)>>: chbasis := theta -> <<cos(theta),sin(theta),0>|<-sin(theta),cos(theta),0>|<0,0,1>>: refmat := (theta,alpha) -> chbasis(theta).refinxmat(alpha).(chbasis(theta))^(-1): projembmultmatbylist :=(multmat, listofvecs)-> map((x,y)-> <(y.<x[1],x[2],0>)[1],(y.<x[1],x[2],0>)[2]>,listofvecs,multmat): reflectObj := (listoflistofvecs,ang) -> seq(projembmultmatbylist(refmat(ang,Pi),listoflistofvecs[i]),i=1..nops(p)): AnimReflect := proc(l,ang) display([seq(display([plot([cos(ang)*t,sin(ang)*t,t=-1.1..1.1],linestyle=DOT,thickness=2,color=black),seq(pointplot(l[i],color = lcolors[i], thickness = 5,connect=true),i=1..nops(p)),seq(pointplot(projembmultmatbylist(refmat(ang,(counta/18)*Pi),l[i]),color=colors[i],connect=true,thickness=5),i=1..nops(p))]), counta=0..18)], insequence = true,scaling=constrained,axes=none) end proc: end use; Use this button to clear graphs: use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. DocumentTools[SetProperty]('Plot0', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot1', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot2', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot3', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot4', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot5', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot6', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot7', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot8', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot9', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot10', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot11', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot12', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot13', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot14', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot15', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot16', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot17', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot18', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot19', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot20', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot21', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot22', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot23', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot24', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot25', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot26', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot27', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot28', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot30', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot31', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot32', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot33', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot34', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot35', 'value', plot(x,x=-1..1,color=white,axes=none)); end use;
<Text-field style="Heading 1" layout="Heading 1">Outline</Text-field> 1. Investigate the symmetries of an equilateral triangle visually. 2. Investigate the composition of two transformations visually. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=
<Text-field style="Heading 1" layout="Heading 1">Symmetries of an equilateral triangle</Text-field> In this section we investigate the symmetries of an equilateral triangle. Start by obtaining a sketch of the triangle. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. p := nGon(3): for i from 1 to (nops(p)-1) do l[i] := [p[i],p[i+1]] end do: l[nops(p)] := [p[nops(p)],p[1]]: for i from 1 to nops(p) do lp[i] := pointplot(l[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot0', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); end use; LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Display the symmetries of the triangle.
<Text-field style="Heading 2" layout="Heading 2"></Text-field> LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=
<Text-field style="Heading 2" layout="Heading 2"></Text-field> LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=
<Text-field style="Heading 2" layout="Heading 2">Rotations</Text-field> The triangle has three distinct rotation symmetries, corresponding to rotations of zero ("do nothing"), one third of a turn and two thirds of a turn. A full turn produces the same result as "do nothing". use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. l0 := rotateObj(l,0): for i from 1 to nops(p) do lp0[i] := pointplot(l0[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot1', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot2', 'value', display([seq(lp0[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot30', 'value', display([seq(lp0[i],i=1..nops(p))],scaling=constrained,axes=none));end use; LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Original triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Rotated triangle
use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. l1 := rotateObj(l,2*Pi/3): for i from 1 to nops(p) do lp1[i] := pointplot(l1[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot3', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot4', 'value', display([seq(lp1[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot5', 'value', AnimRotate(l,2*Pi/3)); DocumentTools[SetProperty]('Plot31', 'value', display([seq(lp1[i],i=1..nops(p))],scaling=constrained,axes=none)); end use; (Use the menu bar controls to play the animation after clicking on it) LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Original triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Rotated triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Animation of rotation
use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. l2 := rotateObj(l,4*Pi/3): for i from 1 to nops(p) do lp2[i] := pointplot(l2[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot6', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot7', 'value', display([seq(lp2[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot8', 'value', AnimRotate(l,4*Pi/3)); DocumentTools[SetProperty]('Plot32', 'value', display([seq(lp2[i],i=1..nops(p))],scaling=constrained,axes=none)); end use; LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Original triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Rotated triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Animation of rotation
<Text-field style="Heading 2" layout="Heading 2">Reflections</Text-field> The triangle has three distinct reflections, with lines of symmetry from each vertex to the midpoint of the opposite side. use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. l3 := reflectObj(l,Pi/2): for i from 1 to nops(p) do lp3[i] := pointplot(l3[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot9', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot10', 'value', display([seq(lp3[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot11', 'value', AnimReflect(l,Pi/2)); DocumentTools[SetProperty]('Plot33', 'value', display([seq(lp3[i],i=1..nops(p))],scaling=constrained,axes=none)); end use; LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Original triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Reflected triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Animation of reflection
use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. l4 := reflectObj(l,Pi/6): for i from 1 to nops(p) do lp4[i] := pointplot(l4[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot12', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot13', 'value', display([seq(lp4[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot14', 'value', AnimReflect(l,Pi/6)); DocumentTools[SetProperty]('Plot34', 'value', display([seq(lp4[i],i=1..nops(p))],scaling=constrained,axes=none)); end use; LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Original triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Reflected triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Animation of reflection
use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. l5 := reflectObj(l,5*Pi/6): for i from 1 to nops(p) do lp5[i] := pointplot(l5[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot15', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot16', 'value', display([seq(lp5[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot17', 'value', AnimReflect(l,5*Pi/6)); DocumentTools[SetProperty]('Plot35', 'value', display([seq(lp5[i],i=1..nops(p))],scaling=constrained,axes=none)); end use; LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Original triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Reflected triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Animation of reflection
<Text-field style="Heading 2" layout="Heading 2">Composition of symmetries</Text-field> We next investigate the effect of a composition of symmetries.
<Text-field style="Heading 3" layout="Heading 3">Example: Apply a rotation of one third of a turn followed a reflection in the vertical axis. Then apply the symmetries in the reverse order.</Text-field> use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. l1 := rotateObj(l,2*Pi/3): for i from 1 to nops(p) do lp1[i] := pointplot(l1[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot18', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot19', 'value', display([seq(lp1[i],i=1..nops(p))],scaling=constrained,axes=none)); end use; use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. rr1 := reflectObj([l1],Pi/2): for i from 1 to nops(p) do rr1p[i] := pointplot(rr1[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot20', 'value', display([seq(rr1p[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot21', 'value', display([AnimRotate(l,2*Pi/3),AnimReflect([l1],Pi/2)],insequence=true)); end use; LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Original triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Rotated triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Reflection of rotation
LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Animation of reflection of rotation
use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. l3 := reflectObj(l,Pi/2): for i from 1 to nops(p) do lp3[i] := pointplot(l3[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot22', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot23', 'value', display([seq(lp3[i],i=1..nops(p))],scaling=constrained,axes=none)); end use; use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. rr2 := rotateObj([l3],2*Pi/3): for i from 1 to nops(p) do rr2p[i] := pointplot(rr2[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot24', 'value', display([seq(rr2p[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot25', 'value', display([AnimReflect(l,Pi/2),AnimRotate([l3],2*Pi/3)],insequence=true)); end use; LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Original triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Reflected triangle LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Rotation of reflection
LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Rotation by 2*Pi/3 of reflected triangle
Note that the order of composition makes a difference!
<Text-field style="Heading 3" layout="Heading 3">Workbench section</Text-field> In this section you may experiment with compositions of the symmetries of the equilateral triangle. Clicking on a symmetry button applies that symmetry to the previous orientation of the triangle. Click on the Start/Reset button to start over. use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. ll := rotateObj(l,0): lc := rotateObj(l,0): for i from 1 to nops(p) do lcp[i] := pointplot(lc[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot26', 'value', display([seq(lp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('Plot27', 'value', plot(x,x=-1..1,color=white,axes=none)); DocumentTools[SetProperty]('Plot28', 'value', display([seq(lcp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('TextArea0', 'value', ""); end use; use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. ll := rotateObj([lc],0): for i from 1 to nops(p) do llp[i] := pointplot(ll[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot27', 'value', display([seq(llp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('TextArea0', 'value', cat(DocumentTools[GetProperty]('TextArea0', 'value'),"Rotate by zero\n")); end use; use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. ll := rotateObj([lc],0): for i from 1 to nops(p) do llp[i] := pointplot(ll[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot27', 'value', display([seq(llp[i],i=1..nops(p))],scaling=constrained,axes=none)); lc := rotateObj([ll],2*Pi/3): for i from 1 to nops(p) do lcp[i] := pointplot(lc[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot28', 'value', display([seq(lcp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('TextArea0', 'value', cat(DocumentTools[GetProperty]('TextArea0', 'value'),"Rotate by 2*Pi/3\n")); end use; use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. ll := rotateObj([lc],0): for i from 1 to nops(p) do llp[i] := pointplot(ll[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot27', 'value', display([seq(llp[i],i=1..nops(p))],scaling=constrained,axes=none)); lc := rotateObj([ll],4*Pi/3): for i from 1 to nops(p) do lcp[i] := pointplot(lc[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot28', 'value', display([seq(lcp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('TextArea0', 'value', cat(DocumentTools[GetProperty]('TextArea0', 'value'),"Rotate by 4*Pi/3\n")); end use; use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. ll := rotateObj([lc],0): for i from 1 to nops(p) do llp[i] := pointplot(ll[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot27', 'value', display([seq(llp[i],i=1..nops(p))],scaling=constrained,axes=none)); lc := reflectObj([ll],Pi/2): for i from 1 to nops(p) do lcp[i] := pointplot(lc[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot28', 'value', display([seq(lcp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('TextArea0', 'value', cat(DocumentTools[GetProperty]('TextArea0', 'value'),"Reflect in vertical axis\n")); end use; use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. ll := rotateObj([lc],0): for i from 1 to nops(p) do llp[i] := pointplot(ll[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot27', 'value', display([seq(llp[i],i=1..nops(p))],scaling=constrained,axes=none)); lc := reflectObj([ll],Pi/6): for i from 1 to nops(p) do lcp[i] := pointplot(lc[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot28', 'value', display([seq(lcp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('TextArea0', 'value', cat(DocumentTools[GetProperty]('TextArea0', 'value'),"Reflect in axis at angle Pi/6\n")); end use; use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. ll := rotateObj([lc],0): for i from 1 to nops(p) do llp[i] := pointplot(ll[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot27', 'value', display([seq(llp[i],i=1..nops(p))],scaling=constrained,axes=none)); lc := reflectObj([ll],5*Pi/6): for i from 1 to nops(p) do lcp[i] := pointplot(lc[i],color = colors[i], thickness = 5,connect=true): end do: DocumentTools[SetProperty]('Plot28', 'value', display([seq(lcp[i],i=1..nops(p))],scaling=constrained,axes=none)); DocumentTools[SetProperty]('TextArea0', 'value', cat(DocumentTools[GetProperty]('TextArea0', 'value'),"Reflect in axis at angle 5*Pi/6\n")); end use; LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Original position LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Previous position LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0Yn Current position
History of symmetries use DocumentTools in # Enter Maple commands to be executed when the specified # action is carried out on the component. # Use: # GetProperty( component_name, attribute_name ) # and # SetProperty( component_name, attribute_name, value ) # to access any of the attributes of the component. # See ?CustomizingComponents for more information. end use;
LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0YnOriginal Position LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0YnRotation of 1/3 turn LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0YnRotation of 2/3 turn LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0YnReflection in vertical axis LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0YnReflection in axis at Pi/6 LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2OVEhRicvJSdmYW1pbHlHUTBUaW1lc35OZXd+Um9tYW5GJy8lJXNpemVHUSMxMkYnLyUlYm9sZEdRJmZhbHNlRicvJSdpdGFsaWNHUSV0cnVlRicvJSp1bmRlcmxpbmVHRjcvJSpzdWJzY3JpcHRHRjcvJSxzdXBlcnNjcmlwdEdGNy8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XUYnLyUnb3BhcXVlR0Y3LyUrZXhlY3V0YWJsZUdGNy8lKXJlYWRvbmx5R0Y3LyUpY29tcG9zZWRHRjcvJSpjb252ZXJ0ZWRHRjcvJStpbXNlbGVjdGVkR0Y3LyUscGxhY2Vob2xkZXJHRjcvJTBmb250X3N0eWxlX25hbWVHUSgyRH5NYXRoRicvJSptYXRoY29sb3JHRkMvJS9tYXRoYmFja2dyb3VuZEdGRi8lK2ZvbnRmYW1pbHlHRjEvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpbWF0aHNpemVHRjQ=LUklUExPVEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYnLUknQ1VSVkVTR0YkNiM3UzckJCEiIiIiIUYuNyQkITNvbW1tO3AwayYqISM9RjI3JCQhM3ZLTCQzPFhaPSpGNEY2NyQkITNtbW1tVCVwImUoKUY0Rjk3JCQhMzptbW0iNG0oRyQpRjRGPDckJCEzIlFMTDNpLjkhekY0Rj83JCQhMyJvbW1UIVI9MHZGNEZCNyQkITN1KioqKlxQOCNcNChGNEZFNyQkITMqcG1tVD9GMW4nRjRGSDckJCEzWysrXSh5JHBaaUY0Rks3JCQhMzNMTEwkeWFFImVGNEZONyQkITNobW1tIj5zJUhhRjRGUTckJCEzUSsrK10kKjQpKlxGNEZUNyQkITM4KysrXV8mXGMlRjRGVzckJCEzMCsrK10xYVpURjRGWjckJCEzdW1tOy8jKVtvUEY0RmduNyQkITNoTExMJD1leEokRjRGam43JCQhMylSTExMdElmJEhGNEZdbzckJCEzXSsrXVBZeCJcI0Y0RmBvNyQkITNFTUxMTDdpKTQjRjRGY283JCQhM2MqKioqXFAncHNtIkY0RmZvNyQkITMnKSoqKipcNzRfYzdGNEZpbzckJCEzKTNMTEwzeCV6IykhIz5GXHA3JCQhM0tNTEwzcyRRTSVGXnBGYHA3JCQhM1xeb21tO3pyKSohI0BGY3A3JCQiMyVwSkwkZXp3NVZGXnBGZ3A3JCQiM3MqKSoqKlxQUSNcIilGXnBGanA3JCQiM0dLTExlIipbSDdGNEZdcTckJCIzSCoqKioqKipwdnhsIkY0RmBxNyQkIjMjeioqKipcX3FuMiNGNEZjcTckJCIzVSkqKipcaSZwQFsjRjRGZnE3JCQiM0EpKioqKlwyJ0hLSEY0RmlxNyQkIjNFbG1tbVp2T0xGNEZccjckJCIzaCoqKioqKlwyZ29QRjRGX3I3JCQiM1VLTCRlUjwqZlRGNEZicjckJCIzbCoqKioqKlwpSHhlJUY0RmVyNyQkIjNja207SCFvLSpcRjRGaHI3JCQiM3kpKioqXDdrLjZhRjRGW3M3JCQiMyNlbW1tVDlDI2VGNEZeczckJCIzMioqKipcaSEqM2BpRjRGYXM3JCQiMyVRTExMJCp6eW0nRjRGZHM3JCQiM3dLTEwzTjEjNChGNEZnczckJCIzTW1tO0hZdDd2RjRGanM3JCQiM1kqKioqKioqcChHKip5RjRGXXQ3JCQiM11tbW1UNktVJClGNEZgdDckJCIzZktMTExiZFEoKUY0RmN0NyQkIjNaKytdaWAxaCIqRjRGZnQ3JCQiM1crK11QP1dsJipGNEZpdDckJCIiIkYwRlx1LUknQ09MT1VSR0YkNiZJJFJHQkdGJEZddUZddUZddS1JK0FYRVNMQUJFTFNHRiQ2JFEieEYnUSFGJy1JKkFYRVNTVFlMRUdGJDYjSSVOT05FR0YkLUklVklFV0dGJDYkO0YuRlx1SShERUZBVUxUR0YnReflection in axis at 5*Pi/6