私はそれの1/4を持っています、私はあなたが他の3つを一緒に置くことができると思います。 nの他の値はここではテストされません。 (Wikiの表記法と、phiをすべて回転させる角度として使用します)。また、リセット・ティックの配置は、ペン・ダウンではうんざりです。
to go2
clear-all
reset-ticks
let a 6
let b 5
let phi 0
let n 3.5
create-turtles 1 [
let iNdx 1
repeat 90 [
show iNdx
show cos(iNdx)
if cos(iNdx) > 0 and sin(iNdx) > 0 [
let tx (a * (cos(iNdx)^(2/n)))
let ty (b * (sin(iNdx)^(2/n)))
let tx2 tx * cos(phi) - ty * sin(phi)
let ty2 tx * sin(phi) + ty * cos(phi)
setxy tx2 ty2
]
pen-down
set iNdx iNdx + 1
]
]
end
は、楕円は単純に見えますが、あなたは裁判官
to go
clear-all
reset-ticks
let a 6
let b 5
let phi 45
create-turtles 1 [
let iNdx 1
repeat 360 [
let tx (a * cos(iNdx))
let ty (b * sin(iNdx))
let tx2 tx * cos(phi) - ty * sin(phi)
let ty2 tx * sin(phi) + ty * cos(phi)
setxy tx2 ty2
pen-down
set iNdx iNdx + 1
]
]
end
手順として一般化し、簡素化すること。
to Super-ellipse [x y a b m n]
create-turtles 1 [
let iNdx 1
repeat 360 [
setxy (x + (abs cos iNdx)^(2/m) * a * (sgn cos iNdx))
(y + (abs sin iNdx)^(2/n) * b * (sgn sin iNdx))
pendown
set iNdx iNdx + 1]
]
end
あなたは通常の省略記号は自明ではないと言いますが、どのように描くことができるのでしょうか? – gue
かなり少しlonの答えが好きだった。 –
setposで問題を起こしているのは何ですか?あなたは方程式を持っています。 –