Man könnte sich das ja leicht ausrechnen.
Ellipsengleichung: x²/a²+y²/b²=1 (gibt Ellipse um Nullpunkt mit a=Radius entlang x, b=Radius entlang y)
Diese Gleichung zum Beispiel nach y umstellen.
Aus dem Mausklick das x nehmen und in diese Gleichung für y einsetzen.
Das errechnete y mit dem y des Mausklicks vergleichen.
Beispiel:
Ellipse um den Punkt (100,100) mit Radius 50 entlang x und Radius 30 entlang y.
Delphi-Quellcode:
function MausklickDrin(x,y:integer):boolean; // x,y=Mauskoordinaten
var yEllipse:integer; // Mauskoordinaten
const Mitte_x=100; Mitte_y=100; a=50; b=30;
begin
// 1. Mausklick in Relation zum Ellipsenmittelpunkt setzen:
x:=x-Mitte_x; y:=y-Mitte_y;
// 2. Abstand der Ellipse zur x_achse bei x ermitteln
yEllipse:=sqrt((1-x*x/a/a)*b*b);
// 3. Prüfen, ob y innerhalb von ±yEllipse liegt
MausklickDrin:=(y>=-abs(yEllipse)) and (y<=abs(yEllipse))
end;
(ungetestet)