Superellipse: Difference between revisions
m
→{{header|Perl}}: a little nicer with v5.36
SqrtNegInf (talk | contribs) m (→{{header|Raku}}: redundant 'flat's) |
SqrtNegInf (talk | contribs) m (→{{header|Perl}}: a little nicer with v5.36) |
||
Line 1,062:
=={{header|Perl}}==
{{trans|Raku}}
<lang perl>
my($a, $b, $n, @q) = (200, 200, 2.5);
# y in terms of x
sub y_from_x ($x) { int $b * abs(1 - ($x/$a) ** $n ) ** (1/$n) }
# find point pairs for one quadrant
push @q, $_, y_from_x($_) for 0..
open $fh, '>', 'superellipse.svg';
print $fh
Line 1,085 ⟶ 1,080:
'</svg>';
sub pline ($sx, $sy, @q) {
▲ qq|<polyline points="@{[join ' ',@q]}"
style="fill:none;stroke:black;stroke-width:3"
transform="translate($a, $b)" />\n|
|