Math::Vector::Real::MultiNormalMixture generates density functions which may suit the OP case and that can also be randomly parametrized.
in reply to Re: Randomly biased, random numbers.
in thread Randomly biased, random numbers.
Anyway, one problem with this approach is that the ratio of a discarded points could be too high.
In that case, a more efficient way may be to divide the plane in regions (i.e. triangles), calculate the probability of every region and then generate the random points first picking a region and then a point inside the region with your proposed algorithm using the conditioned density function.