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;
@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
Jeszcze niedawno Pjoter przekonywał, że w Holandii nie ma mowy o eutanazji z powodów psychicznych, mogą się temu zabiegowi poddać jedynie nieuleczalnie chorzy.... nie to co w KATOLSKIEJ Belgii !!! No to pyk, eutanazja w Holandii z powodu autyzmu i deprechy #napierala #holandia
Znam:
S.x i S.y
r
alpha
P.x i P.y
Zawsze z tego głupi byłem więc prosto bym prosił xD
#matematyka #politechnika #studbaza
x = cx + r * cos(a)
y = cy + r * sin(a)
ale to chyba nie uniwersalne, tylko zakłada środek okręgu w 0,0
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);
}
podpowiedź jest taka że sinus tego kąta to (Px-Sx)/r a cos (Py-Sy)/r
#include
#include
#define PI 3.14159265358979323846
typedef complex double Point;
Point pointoncircle ( double radius, double angleindegrees, Point centre )
{
return centre + radius * cexp ( PI * I * ( angleindegrees / 180.0 ) );
}
https://math.stackexchange.com/questions/260096/find-the-coordinates-of-a-point-on-a-circle
Komentarz usunięty przez autora
Wszystkim innym też dziękuje za chęci xD