0
$\begingroup$

I made single layer graphene by using Code as below:

unitCell[x_, y_] := {Red,
Disk[{x, y}, 0.1],
Red,
Disk[{x, y + 2/3 Sin[120 Degree]}, 0.1],

}
Graphics[
Block[
{
unitVectA = {Cos[120 Degree], Sin[120 Degree]},
unitVectB = {1, 0}},
Table[
unitCell @@ (unitVectA j + unitVectB k),
{j, 1, 12},
{k, Ceiling[j/2], 20 + Ceiling[j/2]}]
],
ImageSize -> 500
]

But Then I want to make another same graphene layer underneath it and want to rotate by 30 degree. Anyone of you, I would appreciate your help Please. I am using Mathematica 10.1 version. I tried by doing this but unable to get

unitCell[x_, y_] := {Red,
Disk[{x, y}, 0.1],
Red,
Disk[{x, y + 1/3 Sin[120 Degree]}, 0.1],
Blue,
Disk[{x, y}, 0.1],
Blue,
Disk[{x, y + 2/3 Sin[120 Degree]}, 0.1]
 }
Graphics[
Block[
{
unitVectA = {Cos[120 Degree], Sin[120 Degree]},
unitVectB = {1, 0}},
Table[
unitCell @@ (unitVectA j + unitVectB k),
{j, 1, 12},
{k, Ceiling[j/2], 20 + Ceiling[j/2]}]
],
{GeometricTransformation[Table, RotationTransform[10 Degree]], 
 Frame -> True},

 ImageSize -> 500
 ]
$\endgroup$
  • $\begingroup$ Have a look at the function Rotate. You get the answer by wrapping it around your code: Rotate[yourGraphics, 30Degree]. $\endgroup$ – Alexei Boulbitch Nov 7 '18 at 7:56
  • $\begingroup$ Thank you for you Kind reply Alexei Boulbitch. Actually I want two layers of graphene and one should be rotated by 30 degree. In above question, the first code just makes one layer and tried to make second layer underneath of the first by making Second code mentioned above. But it did not work for the two layer case. Could you please make bilayers by using and modifying first code and also rotate one layer by 30 degree? I will be so grateful to you. $\endgroup$ – Ishwor Khadka Nov 7 '18 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.