README

perl6-Math-Polygons

Some perl6 polygon objects that draw via SVG - an alpha with the plan to do inheritance of Parallelograms, Rhomboids, etc.

Instructions

There are three ways to consume this module:

  1. Jupyter Notebook local

  1. Jupyter Notebook hosted on Binder

  • Click this badge =>

  • Go to /eg and click Polygons.ipynb, then Run

  • If you are the first to build e.g. a new version this can take 24 mins or so and the Binder browser UI may lose hope - please just be patient (do not reload as this restarts the build)

  • If not, go to <mybinder.org> and paste this url https://github.com/p6steve/perl6-Math-Polygons, then the ./Dockerfile will be used to (re)build and run on Jupyter at Binder

  1. Perl6 Module

  • zef install Math::Polygons

Synopsis

use SVG::Drawing;
use Math::Polygons;

my $rectangle = Rectangle.new(
    origin => Point.new(20, 20),
    width  => 120,
    height => 80
);

my $square = Square.new(
    origin => Point.new(170, 20),
    side   => 100
);

my \A = Point.new( 20, 260);
my \B = Point.new( 30, 200);
my \C = Point.new(120, 145);
my \D = Point.new(125, 250);
my $quadrilateral = Quadrilateral.new(
    A, B, C, D,
);

my $triangle = Triangle.new(
    fill => "green",
    stroke => "black",
    apex => Point.new(220, 160),
    side => 100
);

my $drawing = SVG::Drawing.new(
    elements => [
        $rectangle,
        $square,
        $quadrilateral,
        $triangle,
    ],
);
$drawing.serialize.say;

Inspired by

Math::Polygons v0.0.4

Some perl6 polygon objects that draw using SVG.

Authors

  • p6steve

License

Artistic-2.0

Dependencies

SVGSVG::Plot

Test Dependencies

Provides

  • Math::Polygons

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.