[PD] Scaling values in pd

Mario Mey mariomey at gmail.com
Tue Sep 3 14:06:51 CEST 2013


IOhannes, you are right only in these cases:

0 127 0 500
0 300 0 1
...

But, if I need:

50 10 0 500
3000 -3000 0.5 0.6
...

I will need a "linear equation conversion". As I wrote in last mail, I 
was needing something like this, first in ActionScript... then in 
Python... but I never could did it. Now, I needed again in Pd... so, I 
made lin-eq-conv.pd with extrapolation and lin-eq-conv-clip.pd for 
clipped values. I made it as neat as I could, to see how it works. Using 
x0-x1 and y0-y1, it uses expr to get "a" and "b" at load. Then, it only 
computes "aX + b = Y".

I attach the lin-eq-conv.pd, lin-eq-conv-clip.pd and lin-eq-conv-help.pd.

Also, I have some issues using [autoscale]. I start giving values and it 
outputs only 1. Then, I start to down the input and, then, it shows the 
real output. Maybe it's about this version (0.43.4 Pd-Extended 64bits).

PD: translated to Python:

|def lin_eq_conv(x, x0, x1, y0, y1):
    a = (y0 - y1) / (x0 - x1)
    b = (a * x0) + y0
    return a * x + b|




El 03/09/13 03:32, IOhannes zmölnig escribió:
> On 09/02/2013 06:17 PM, hghoyer wrote:
>> Hi,
>>
>> in Max/MSP there is an object for simple scaling.
>>
>> If you create in MAX these object with this arguments:
>>
>> [scale 0 127 0 500] incomming messages from 0 to 127 are automatically
>> scaled from 0 to 500...
> honestly i'm of the firm conviction that you should learn how scaling
> works: it really is only a matter of adding, multiplying, dividing,
> subtracting - stuff you should heave learned in primary school.
>
> as frank pointed out, this should do for you:
>
> |
> [/ 127]
> |
> [* 500]
> |
>
> if you find it too tedious to do the maths over and over again, you
> might want to create an abstraction.
>
>
> being able to solve trivial problems like this will surely empower you
> to solve more complex problems :-)
>
> gamsdr
> IOhannes
>
>
>
>
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130903/5eb38bd9/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lin-eq-conv.pd
Type: text/x-puredata
Size: 3927 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130903/5eb38bd9/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lin-eq-conv-clip.pd
Type: text/x-puredata
Size: 4018 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130903/5eb38bd9/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lin-eq-conv-help.pd
Type: text/x-puredata
Size: 1900 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130903/5eb38bd9/attachment-0002.bin>


More information about the Pd-list mailing list