Group Abstract Group Abstract

Message Boards Message Boards

Rotate and Scale many times an equilateral triangle

Posted 12 years ago
POSTED BY: Luis Ledesma
8 Replies
Posted 12 years ago
POSTED BY: Luis Ledesma

Have a helper function

(* helpers *)
Clear[closeL]
closeL[l_List] := Join[l, {First[l]}]

an equilateral triangle is easiest generated from the solution of the cyclotomic equation of third degree

In[24]:= (* equilateral triangle *)
Solve[x^3 == 1, x]
Out[24]= {{x -> 1}, {x -> -(-1)^(1/3)}, {x -> (-1)^(2/3)}}

rotation by 30 Degree is multiplication by Exp[Pi I/6], so your first triangle is just:

  (* rotation by 30 Degree is multiplication by Exp[Pi I/6], so the first triangle is, keeping the zero in the center for practical reasons:*)
    Graphics[Line[closeL[{Re[#], Im[#]} & /@ (Exp[Pi I/2] Last[Last[#]] & /@ Solve[x^3 == 1, x])]]]

to get the solution of the cyclotomic equation upright, i.e. with one horizontal edge. How to proceed:

  • shrink the roots by the right value (9/16)
  • rotate the roots by multiplication with another Exp[Pi I/6]
  • continue until you did that 13 times
  • plot all solutions collected as shown above
POSTED BY: Udo Krause

Given as Lines it is

Graphics[Table[
  Line[closeL[{Re[#], Im[#]} & /@ (Exp[Pi I (n/6 + 1/2)] (9/16)^(n/2) Last[
          Last[#]] & /@ Solve[x^3 == 1, x])]], {n, 0, 12}]]

ledesmaRotaTri

POSTED BY: Udo Krause

Done with a Polygon it's

Graphics[{EdgeForm[Thick], White, 
  Table[Polygon[{Re[#], 
       Im[#]} & /@ (Exp[Pi I (n/6 + 1/2)] (9/16)^(n/2) Last[
          Last[#]] & /@ Solve[x^3 == 1, x])], {n, 0, 12}]}]

with other words

ledesmaRotaTriPolygon

Please note that in contrast to your reference document

ledesmaRef

the third triangle does intersect the horizontal edge of the first one. Looking at the picture of the reference document (as shown above) it seems unlikely, that in a symmetrical situation the third triangle scratches 2 edges of first triangle, but the third one - not. Why should this hold? Was the reference document produced to let the learners grow on tackling inaccuracies?

POSTED BY: Udo Krause
Posted 12 years ago

In the file pdf attached explained the steps, please see it. I think the final result is something like this:

final picture

I hope someone can help me.

Attachments:
POSTED BY: Luis Ledesma
Posted 12 years ago

I'm sorry, Luis, but I don't understand what you are trying to do. --David

POSTED BY: David Keith
Posted 12 years ago

Many thaks for you response David keith, but I need something like this: only put the example with three triangles but if going by turning each triangle "x" degree should have more but I can not do even with that amount of triangles,do you have your ideas on how to do that? I'm still trying without success, thanks in advance

example

POSTED BY: Luis Ledesma
Posted 12 years ago

Hi Luis, Maybe this?

t1 = Triangle[{{-1, 0}, {0, Sqrt[2]}, {1, 0}}];

Graphics[{Red, t1, Green, Scale[Rotate[t1, 6 Degree], .75]}]

enter image description here

Or even

Graphics[{Red, t1, Green, 
  Translate[Scale[Rotate[t1, 6 Degree], .75], {2, 0}]}]

enter image description here

POSTED BY: David Keith
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard