座標系を適当にとると問題の軌跡は
X^2+(Y-y0)^2=r^2 ①
X^2+Y^2=(R-r)^2 ②
①、②を解いて
R^2/(R^2-y0^2)*X^2+(Y-y0/2)^2=(R/2)^2
という楕円になります。
y0は点の位置
Rは接する大きい円の半径
rは接する小さい円の半径
X、Yは問題の円の中心座標
なので楕円をダイレクトに書いてもいいのですが、
マクロで作図するとこんな感じ、接円の描画が不安定で
狙いどおり順番に点を取れないのでポリラインでは書けませんでした。
点で書いているのであとは適当に描画してください。
*^C^C$M=setenv;to;0;$(if,$(=,$(getenv,to),0),undo;be;ucs;ob;\dist;nea;@;non;0<0;pline;non;0<0;nod;\;$M=area;;l;erase;l;;ucs;z;"""$(getvar,lastangle)r""";;z;-90;setenv;to;1)$(if,$(=,$(getenv,to),1),id;nea;$(getvar,distance)<100;$M=;nod;$(getvar,perimeter)<N;setenv;o0;"""$(getvar,lastpoint)""";;to;2)$(if,$(=,$(getenv,to),2),;p0;$(getvar,lastpoint);pline;qua;$(getvar,distance)<N;qua;$(getvar,distance)<E;;copybase;non;0<0;l;;erase;l;;setenv;to;3)$(if,$(=,$(getenv,to),3),-layout;d;lo0;;n;lo0;;s;lo0;point;0<0;erase;all;;pasteclip;0<0;zoom;e;divide;\\setenv;i;1;;to;4)$(if,$(=,$(getenv,to),4),;to;5;select;l;;ucs;ob;l;id;non;0<0;ucs;p;$M=erase;l;;setenv;p$(getenv,i);"""$(getvar,lastpoint)""";;i;$(+,$(getenv,i),1);;to;4)$(if,$(=,$(getenv,to),5),model;-layout;d;lo0;setenv;i;$(-,$(getenv,i),2);;cnt;$(-,$(getenv,i),2);;to;6)$(if,$(=,$(getenv,to),6),circle;3p;nod;$(getenv,p0);tan;$(getenv,o0)^H^H;non;$(getenv,p$(getenv,i))^H^H;ucs;ob;l;id;non;0<0;ucs;p;erase;l;;setenv;to;7)$(if,$(=,$(getenv,to),7),;q$(getenv,i);$(getvar,lastpoint);;i;$(-,$(getenv,i),1);;to;$(if,$(>,$(-,$(getenv,i),1),0),6,8;;i;1))$(if,$(=,$(getenv,to),8),point;non;$(getenv,q$(getenv,i));setenv;i;$(+,$(getenv,i),1);;to;9)$(if,$(=,$(getenv,to),9),$(if,$(<=,$(getenv,i),$(getenv,cnt)),;to;8,ucs;p;;p;;p;^Cundo;e))^M
エクセルで①、②をX、Yについて解いてrを変動させて解いて(X,Y)を
得て作図してもできます。
- zukki-
- 2018/10/30 (Tue) 08:35:29