alfa=$t*360; AB=100; BC=62; CD=77; DA=31; BD=sqrt(pow(AB,2)+pow(DA,2)-2*AB*DA*cos(alfa)); ADB=acos((pow(DA,2)+pow(BD,2)-pow(AB,2))/(2*BD*DA)); BDC=acos((pow(BD,2)+pow(CD,2)-pow(BC,2))/(2*BD*CD)); BCD=acos((pow(BC,2)+pow(CD,2)-pow(BD,2))/(2*BC*CD)); hoek1=-((BCD-(180-ADB-BDC))); hoek2=-((BCD-(180+ADB-BDC))); color ("red") rotate ([0,0,alfa]) translate ([0,-1.5,0]) square ([AB,3]); translate ([0,-1.5,0]) square ([DA,3]); if (alfa>=0&&alfa<=180) { color ("red") translate ([DA,0,0]) rotate ([0,0,180-ADB]) translate ([0,-0.5,0]) square ([BD,1]); color ([0,1,0,1]) translate ([DA,0,0]) rotate ([0,0,180-ADB-BDC]) translate ([0,-1.5,0]) square ([CD,3]); // CD translate ([AB*cos(alfa),AB*sin(alfa),0]) rotate ([0,0,hoek1]) translate ([0,-1.5,0]) square ([BC,3]); // BC } else { color ("red") translate ([DA,0,0]) rotate ([0,0,180+ADB]) translate ([0,-0.5,0]) square ([BD,1]); color ([0,1,0,1]) translate ([DA,0,0]) rotate ([0,0,180+ADB-BDC]) translate ([0,-1.5,0]) square ([CD,3]); // CD translate ([AB*cos(alfa),AB*sin(alfa),0]) rotate ([0,0,hoek2]) translate ([0,-1.5,0]) square ([BC,3]); // BC };