Навскидку, тупейший вариант- это генерировать точки до тех пор, пока одна из них не попадёт внутрь фигуры.
REPEAT
RndX=RND(FigWidth)
RndY=RND(FigHeight)
FigY=RndX^2 ;тут формула, описывающая криволинейную сторону твоей фигуры
UNTIL RndY>FigY
Более логичный- это генерировать сначала точку на абсциссе, а потом, скача от нее - строить соответствующую точку на ординате.
RndX=RND(FigWidth)
FigH#=RndX^2 ; тут- формула, описывающая твою кривую "гипотенузу"
RndY=RND(FigH)
P.S. Тут для простоты считается, что фигура лежит в начале координат- исправить для произвольного расположения не сложно. Методы ессно не заработают, если фигура будет повёрнута на произвольный угол, т.е. ёё координатная система не будет совпадать с глобальной... Хотя- заработают. Нужно будет просто заюзать Sin/Cos и "повернуть" глобальные координаты найденной точки на "локальный" угол поворота фигуры.