good chemistry is complicated,and a little bit messy -LW PerlMonks

Re: [OT] Normalizing the return result of an exponential formula

by Eliya (Vicar)
 on Apr 14, 2011 at 17:29 UTC ( #899490=note: print w/replies, xml ) Need Help??

Maybe I'm misunderstanding, but why not simply return the max value when the distance falls within the radius, and apply the dropoff to what falls outside?  In code:

```sub boost {
my (\$dist, \$imp, \$rad, \$drop) = @_;
return \$imp;
} else {
return \$imp / (\$dist - \$rad + 1) ** \$drop;
}
}

my \$imp  = 1000;
my \$drop = 0.5;

for (map 2**\$_, 4..13) {
my \$boost = boost(\$_, \$imp, \$rad, \$drop);
my \$bar = "@" x (\$boost/(\$imp*0.02));
printf "%6d %s %.1f\n", \$_, \$bar, \$boost;
}

__END__

16 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1000.0
32 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1000.0
64 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1000.0
128 @@@@@@@@@@@@@@@@@@@@@@@@@@@@ 577.4
256 @@@@ 87.4
512 @@ 50.8
1024 @ 33.4
2048 @ 22.8
4096  15.9
8192  11.1

Replies are listed 'Best First'.
Re^2: [OT] Normalizing the return result of an exponential formula
by clinton (Priest) on Apr 14, 2011 at 17:46 UTC
Hi Eliya

That's kinda what I want, I think.

It also handles the case where the distance is 1cm, making the boost way too large. Although, I probably want the decline for distances greater than the radius to be less steep, ie the remaining range should be stretched.

Still experimenting, but I think that by combining what you suggest with something like in Re: [OT] Normalizing the return result of an exponential formula, I might get a reasonable result.

Rereading your code, I see you handle the decline, taking the radius into account. That could be it! Thanks

Create A New User
Node Status?
node history
Node Type: note [id://899490]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (8)
As of 2018-05-21 12:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
World peace can best be achieved by:

Results (156 votes). Check out past polls.

Notices?