Truncated Icosahedron - Soccer Ball
Quite a few geometry software can produce complicated geometrical objects. The Platonic solids and Archimedian solids for example, can be produced using dynamic geometry systems (DGS). If so, the process would be brilliant but complicated ways of formal Euclidean reasoning. In VRMath2, similar reasoning may be used, but because it has a Logo programming or turtle geometry capability, most of these complicated geometrical solids can actually be constructed by moving locations and turning directions.
In order to construct a soccer ball or a truncated icosahedron using Logo or turtle geometry way, it is necessary to know the distance to move and degrees to turn. Upon reading the information on Wikipedia about truncated icosahedron, I found that all edges are the same length, and there are two useful angles for the construction of this truncated icosahedron. These two angles are the two dihedral angles:
- bewteen two hexagonal faces: 138.189685 degrees (6-6)
- between hexagonal and pentagonal faces: 142.62 degrees (6-5)
With the above information, I was able to move and turn the turtle in 3D space to construct a soccer ball as below.
The Logo program is as below, but I believe it can be even simpler.
; Truncated Icosahedron (soccer ball) ; By Andy Yeh (2014) CS RESET FACE PCOFF ; an effort to have the centre point closer to (0,0,0) ; 2.47801866 is the radius of the circumscribed sphere RU 90 FD 2.47801866 RD 90 MAKE "a66 138.189685 ; dihedral angle 6-6 MAKE "a65 142.62 ; dihedral angle 6-5 TO hexagon_r SETMAT 5 30 PD REPEAT 6 [FD 1 RT 60] PU END TO hexagon_l SETMAT 5 30 PD REPEAT 6 [FD 1 LT 60] PU END TO pentagon_r SETMAT 0 31 PD REPEAT 5 [FD 1 RT 72] PU END TO pentagon_l SETMAT 0 31 PD REPEAT 5 [FD 1 LT 72] PU END pentagon_r REPEAT 5 [ TL 180 - :a65 hexagon_l TR 180 - :a65 FD 1 RT 72 ] REPEAT 5 [ TL 180 - :a65 FD 1 LT 60 FD 1 LT 60 TR 180 - :a65 pentagon_r TL 180 - :a65 FD 1 LT 60 TR 180 - :a66 hexagon_r TL 180 - :a66 RT 60 BK 1 RT 60 BK 1 RT 60 BK 1 TR 180 - :a65 FD 1 RT 72 ] REPEAT 5 [ TL 180 - :a65 FD 1 LT 60 FD 1 LT 60 FD 1 TR 180 - :a65 RT 72 FD 1 RT 72 TL 180 - :a65 hexagon_l FD 1 LT 60 FD 1 LT 60 TR 180 - :a65 pentagon_r TL 180 - :a65 RT 60 BK 1 RT 60 BK 1 TR 180 - :a65 LT 72 BK 1 LT 72 TL 180 - :a65 BK 1 RT 60 BK 1 RT 60 BK 1 TR 180 - :a65 FD 1 RT 72 ] REPEAT 5 [ TL 180 - :a65 FD 1 LT 60 FD 1 LT 60 FD 1 TR 180 - :a65 RT 72 FD 1 RT 72 TL 180 - :a65 FD 1 LT 60 FD 1 LT 60 FD 1 LT 60 TR 180 - :a66 hexagon_r TL 180 - :a66 RT 60 BK 1 RT 60 BK 1 RT 60 BK 1 TR 180 - :a65 LT 72 BK 1 LT 72 TL 180 - :a65 BK 1 RT 60 BK 1 RT 60 BK 1 TR 180 - :a65 FD 1 RT 72 ] TL 180 - :a65 FD 1 LT 60 FD 1 LT 60 FD 1 TR 180 - :a65 RT 72 FD 1 RT 72 TL 180 - :a65 FD 1 LT 60 FD 1 LT 60 FD 1 LT 60 TR 180 - :a66 FD 1 RT 60 FD 1 RT 60 FD 1 RT 60 TL 180 - :a65 pentagon_l
Please leave a comment below and let me know what you think or your questions.
Files: soccer_ball.x3d soccer_ball.logo
- Andy's blog
- Login or register to post comments
- 9443 reads
Comments
Center of Rotation
In the logo program above, the line 7 was an effort to set the rotation centre. But now there is no need to do so.
In VRMath2 Editor, if "show everything in space" icon is clicked, the center of rotation will be calculated automatically.