もう解決してしまいましたが参考として、-arrayを使わないで点の比で考えました。
2011で作っているのでlengthenの仕様が違います。
*^C^C$M=setenv;to;0;$(if,$(=,$(getenv,to),0),;divn;分割数<$(getenv,divn)>:^X\;i;1;line;\\;lengthen;l;;ucs;ob;l;setenv;to;1)$(if,$(=,$(getenv,to),1),id;non;$(*,$(/,$(getvar,perimeter),$(getenv,divn)),$(getenv,i))<0;ucs;w;setenv;to;2)$(if,$(=,$(getenv,to),2),;p$(getenv,i);$(getvar,lastpoint);;i;$(+,$(getenv,i),1);;to;$(if,$(<,$(getenv,i),$(-,$(getenv,divn),1)),1,3);ucs;p)$(if,$(=,$(getenv,to),3),ucs;w;erase;l;;line;\\;lengthen;l;;ucs;ob;l;setenv;i;1;;to;4)$(if,$(=,$(getenv,to),4),id;non;$(*,$(/,$(getvar,perimeter),$(getenv,divn)),$(getenv,i))<0;ucs;w;setenv;to;5)$(if,$(=,$(getenv,to),5),;q$(getenv,i);$(getvar,lastpoint);;i;$(+,$(getenv,i),1);;to;$(if,$(<,$(getenv,i),$(-,$(getenv,divn),1)),4,6);ucs;p)$(if,$(=,$(getenv,to),6),erase;l;;ucs;w;setenv;i;1;;to;7)$(if,$(=,$(getenv,to),7),line;non;$(getenv,p$(getenv,i));non;$(getenv,q$(getenv,i));;setenv;to;8)$(if,$(=,$(getenv,to),8),;i;$(+,$(getenv,i),1);;to;$(if,$(<,$(getenv,i),$(-,$(getenv,divn),1)),7,0;^Cid;))^M
使い方
1.コマンド発行
2.分割数入力
3.点1をクリック
4.点2をクリック
5.点3をクッリク
6.点4をクリック
- zukki-
- 2018/09/25 (Tue) 17:41:19