- my $set = LaTeX::TikZ::Set::Circle->new(
- center => $c,
- radius => $r,
- );
-
- my $factor = 1/32;
-
- my $theta = (($b - $c) / ($a - $c))->arg;
- my $points = int(abs($theta) / abs(Math::Trig::acos(0.95)));
- $theta /= $points + 1;
- my $rho = (1 / cos($theta)) / (1 - $factor);
-
- my $ua = ($a - $c) * (1 - $factor) + $c;
- my $ub = ($b - $c) * (1 - $factor) + $c;
-
- my @outside = map { $_ * $rho + $c } (
- $a - $c,
- (map { ($a - $c) * Math::Complex->emake(1, $_ * $theta) } 1 .. $points),
- $b - $c,
- );
-
- $set->clip(
- LaTeX::TikZ::Set::Polyline->new(
- points => [ $ua, @outside, $ub ],
- closed => 1,
- ),
- );
-};
+ my $set = LaTeX::TikZ::Set::Circle->new(
+ center => $c,
+ radius => $r,
+ );
+
+ my $factor = 1/32;
+
+ my $theta = (($b - $c) / ($a - $c))->arg;
+ my $points = int(abs($theta) / abs(Math::Trig::acos(0.95)));
+ $theta /= $points + 1;
+ my $rho = (1 / cos($theta)) / (1 - $factor);
+
+ my $ua = ($a - $c) * (1 - $factor) + $c;
+ my $ub = ($b - $c) * (1 - $factor) + $c;
+
+ my @outside = map { $_ * $rho + $c } (
+ $a - $c,
+ (map { ($a - $c) * Math::Complex->emake(1, $_ * $theta) } 1 .. $points),
+ $b - $c,
+ );
+
+ $set->clip(
+ LaTeX::TikZ::Set::Polyline->new(
+ points => [ $ua, @outside, $ub ],
+ closed => 1,
+ ),
+ );
+ },
+);
+
+=head1 SEE ALSO
+
+L<LaTeX::TikZ>, L<LaTeX::TikZ::Set>.