gr.open 255, 0, 0, 0, 0, 1 gr.screen w, h n=30 dim objL[n] gr.color 255,255,255,255,0 gr.set.stroke 2 ! Создаем поперечные объекты сетки for i=1 to n gr.line objL[i],0,0,0,0 next ! Боковые объекты сетки gr.set.stroke 3 gr.line objLL,0,0,0,0 gr.line objLR,0,0,0,0 ! Начальные установки x1=w*1.5 x2=w*1.5 y1=h*0.75 y2=h*0.75 ! Перекрестие gr.color 255, 200, 0, 0, 0 gr.set.stroke 1 gr.line objLH, 0, h*0.5, w, h*0.5 gr.line objLV, w*0.5, 0, w*0.5, h Do ! Двигаем сетку for i=100 to 0 step -0.1 for j=1 to n k=i-j*2 if k>0.001 then gr.modify objL[j], "x1", -x1/k+w*0.5, "y1", y1/k+h*0.5, "x2", x2/k+w*0.5, "y2", y2/k+h*0.5 next ! Цепляем боковушки за первую и последнюю поперечину gr.get.value objL[1], "x1", xl1, "y1", yl1, "x2", xr1, "y2", yr1 gr.get.value objL[n], "x1", xl2, "y1", yl2, "x2", xr2, "y2", yr2 gr.modify objLL, "x1", xl1, "y1", yl1, "x2", xl2, "y2", yl2 gr.modify objLR, "x1", xr1, "y1", yr1, "x2", xr2, "y2", yr2 gr.render next until 0