2016-09-22 10 views
1

これは、超楕円についての私の恐らく言わない言葉のquestionにあるコメントに対する質問に対する回答です。亀の出現する楕円を描く

in Netlogo他の言語では奇妙に思えるかもしれない方法で幾何学的図形を描くのは当然です。例えば

ask turtle 1 [pendown 
       let d (pi * distance turtle 2)/360 
       repeat 360 [face turtle 2 rt 90 fd d] 
      ] 

内接が亀1は亀2の周囲[360角形]円を描くになり、私は標準のサークル式のいずれかを呼び出すが、まだ円を取得できませんでした。

これと同じ俗語で楕円を描くことができますか?1つの亀は、他の2匹の亀の周りに楕円(または超楕円)を描くことができますか?

答えて

2

楕円を作るには、亀の見出しを焦点の加重平均ヘッディングに設定し、各ステップを更新します。それは1行で行うことができますが、それは1つの醜い行になります。

globals [a b c] 
    to setup 
     ca 
     crt 1 [set heading 90 fd 10 pendown set C self] 
     crt 1 [setxy 5 10 set A self] 
     crt 1 [setxy 0 -10 set B self] 
    end 

to go 

repeat 5100 ;; ad hoc number 
[ 
ask c 
[ 
let Ax [xcor] of A - xcor 
let Ay [ycor] of A - ycor 
let Bx [xcor] of B - xcor 
let By [ycor] of B - ycor 
let da 1/distance a 
let db 1/distance B 

set heading 90 + atan ((ax * da + bx * dB)/(da + db)) 
         ((ay * da + by * db)/(da + db)) 
FD .0125 ;; 

] 
] 

エンド

関連する問題