Google Classroom
GeoGebraGeoGebra Classroom

Demo: constrain a Segment to 15° intervals

C = DynamicCoordinates(B, x(ClosestPoint(VPoints, B)), y(ClosestPoint(VPoints, B))) (credit to mathmagic) A's On Update script SetCoords(B,x(A)+x(vCopy),y(A)+y(vCopy)) v's On Update Script SetValue(vCopy,v)