Wpis z mikrobloga

znalezione w wersji na C#
public static PointF PointOnCircle(float radius, float angleInDegrees, PointF origin)
{
// Convert from degrees to radians via multiplication by PI/180
float x = (float)(radius * Math.Cos(angleInDegrees * Math.PI / 180F)) + origin.X;
float y = (float)(radius * Math.Sin(angleInDegrees * Math.PI / 180F)) + origin.Y;

return new PointF(x, y);
}
@Anteras: najpierw potrzebujesz znaleźć kąt między półprostą SP a kierunkiem "poziomo w prawo", potem poprawić ten kąt o alfa i policzyć w drugą stronę.
podpowiedź jest taka że sinus tego kąta to (Px-Sx)/r a cos (Py-Sy)/r