Re: [Pdl-porters] SDL::Surface::new_from and PLot question

[email protected] (Kartik Thakore)
Newsgroups perl.sdl.devel
Message-ID <[email protected]>
Um how do I get the x,y coords and the data you want me to put there from
$sdl?

On Mon, Nov 16, 2009 at 7:13 PM, Chris Marshall <[email protected]> wrote:

> David Mertens wrote:
>
>  On Mon, Nov 16, 2009 at 4:51 PM, Kartik Thakore <[email protected]<mailto:
>> [email protected]>> wrote:
>>
>>    How do I update this?  like animation?
>>
>>    while(1)
>>    {
>>
>>      $pdl_memory->get_dataref();
>>
>>    }
>>
>>
>> Yeah, you know, I used a terrible variable name for that piddle.  Let's
>> try this:
>>  --------%<--------
>>
>> use PDL;
>> use PDL::NiceSlice;
>>
>> # Allocate a 10x10 array for rgb.  I think that only the zeroes function #
>> allows you to declare a piddle with a specific data type
>>
>
>
> perldl> ?sequence
> Module  PDL::Basic
>  sequence
>    Create array filled with a sequence of values
>
>     $a = sequence($b); $a = sequence [OPTIONAL TYPE], @dims;
>
>    etc. see zeroes.
>
>     perldl> p sequence(10)
>     [0 1 2 3 4 5 6 7 8 9]
>     perldl> p sequence(3,4)
>     [
>      [ 0  1  2]
>      [ 3  4  5]
>      [ 6  7  8]
>      [ 9 10 11]
>     ]
>
>    Docs from /c/site/perl/lib_pdl/cygwin-thread-multi-64int/PDL/Basic.pm
>
> So you can do:
>
> perldl> $a = sequence(byte, 3, 10, 10);
>
> perldl> p $a->info
> PDL: Byte D [3,10,10]
>
>
> > my $pdl = zeroes(byte, 3, 10, 10);
>
>> # Set values. Use in place to be sure we don't get another allocation,
>> which may be the wrong type.
>> # Note that the sequence wraps back to zero after hitting 256, because
>> they're bytes!
>> $pdl->inplace->sequence;
>>
>> # Now for a really silly animation - turn all the pixels white
>> for (my $i = 0; $i < 300; $i++) {
>>  $pdl()->clump(-1)->($i) = 255;
>>  # Do something with piddle data here.
>> }
>>
>> --------%<--------
>>
>> Is that a bit clearer?  Does anybody have a better sample?
>>
>
> You could use the PDL life example of threading that Matt posted
> earlier today.  Just make an empty $sdl piddle with dims [3,N,M],
> a $life piddle with shape [N,M] for the life updates, init $life,
> then copy each update from the $life to the $sdl, maybe like:
>
> $sdl .= $life(*3);
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.