You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostScript嵌套循环问题:矩形框内圆形栅格仅显单列求解决方案

问题分析与修复方案

你的代码只显示一列圆形的原因很明确:内层循环执行完毕后,y的值已经达到24,后续外层循环每次递增x后,进入内层循环第一行就会触发y 23 gt { exit } if,直接退出内层循环,不会再绘制其他列的圆形。

修复方法很简单,每次外层循环开始时,把y重置为0即可:

% raster and mms defined higher up

newpath 0 0 raster 24 mul raster 16 mul rectstroke

/x 0 def
{
 x 15 gt { exit } if
 /y 0 def  % 每次外层循环开始时重置y为0
 { 
    y 23 gt { exit } if
    x 0.5 add raster mul 
    y 0.5 add raster mul
    2.5 mms 0 359 arc stroke
   /y y 1 add def
 } loop
 /x x 1 add def
} loop

另外可以优化代码结构,用for循环替代loop,逻辑会更清晰,避免手动维护计数器和退出条件:

% raster and mms defined higher up

newpath 0 0 raster 24 mul raster 16 mul rectstroke

0 1 14 {  % x从0到14,步长1
    /x exch def
    0 1 23 {  % y从0到23,步长1
        /y exch def
        x 0.5 add raster mul 
        y 0.5 add raster mul
        2.5 mms 0 359 arc stroke
    } for
} for

内容的提问来源于stack exchange,提问作者Karel Adams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 22:42:01