Algorithm-Shape-RandomTree
view release on metacpan or search on metacpan
lib/Algorithm/Shape/RandomTree.pm view on Meta::CPAN
}
sub calc_new_nodulation {
my ( $self, $parent ) = @_;
my $verb = $self->verbose;
my $old = $parent->nodulation;
# Reduce ebbing factor from the parent's nodulation
my $new = $old - $self->ebbing_factor;
return $new;
}
sub create_path {
my ( $self, $start, $end, $dx, $dy ) = @_;
my $x1 = $start->x;
my $y1 = $start->y;
my $x2 = $end->x;
my $y2 = $end->y;
my $length = sqrt( $dx ** 2 + $dy ** 2 );
my $phandle = $self->branch_curve * $length;
# X / Y values of control point 1 (curving the start point)
my $c1_x = $x1 - rand($phandle) + rand($phandle);
my $c1_y = $y1 - rand($phandle) + rand($phandle);
# X / Y values of control point 2 (curving the end point)
my $c2_x = $x2 - rand($phandle) + rand($phandle);
my $c2_y = $y2 - rand($phandle) + rand($phandle);
my $d_str = "M $x1 $y1 C $c1_x $c1_y $c2_x $c2_y $x2 $y2";
return $d_str;
}
no Moose;
1;
__END__
=head1 NAME
Algorithm::Shape::RandomTree - Create an object representing a procedural, editable, randomized plant shape that
can be rendered graphically by other modules.
=head1 VERSION
Version 0.01
=head1 SYNOPSIS
A detailed synopsis with examples will be released soon.
=head1 EXPORT
A list of functions that can be exported. You can delete this section
if you don't export anything, such as for a purely object-oriented module.
=head1 SUBROUTINES/METHODS
=head2 calc_new_deltas
=head2 calc_new_endpoints
=head2 calc_new_nodulation
=head2 create_branch
=head2 create_branches
=head2 create_branches_recursive
=head2 create_path
=head2 create_stem
=head2 create_tree
=head2 make_branch
=head1 AUTHOR
Tamir Lousky, C<< <tlousky at cpan.org> >>
=head1 BUGS
Please report any bugs or feature requests to C<bug-algorithm-shape-randomtree at rt.cpan.org>, or through
the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Algorithm-Shape-RandomTree>. I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.
=head1 SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Algorithm::Shape::RandomTree
You can also look for information at:
=over 4
=item * RT: CPAN's request tracker
L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Algorithm-Shape-RandomTree>
=item * AnnoCPAN: Annotated CPAN documentation
L<http://annocpan.org/dist/Algorithm-Shape-RandomTree>
=item * CPAN Ratings
L<http://cpanratings.perl.org/d/Algorithm-Shape-RandomTree>
=item * Search CPAN
L<http://search.cpan.org/dist/Algorithm-Shape-RandomTree/>
( run in 1.145 second using v1.01-cache-2.11-cpan-39bf76dae61 )