हाय मैं अपने ऐप में बहुभुज बारी बारी से करने के लिए इस सी # कोड का उपयोग कर रहा है - वे बारी बारी से करते हैं, लेकिन यह भी जिस तरह नहीं है मैं क्या चाहते हो के साथ विषम मिलता है। सभी बहुभुज, 2 डी वेक्टर के रूप में परिभाषित चारों कोनों के साथ आयताकार होतेसही पॉलीगॉन रोटेशन कैसे करें? (सी # में यह कुछ भी पर लागू होता है, हालांकि)
public Polygon GetRotated(float radians)
{
Vector origin = this.Center;
Polygon ret = new Polygon();
for (int i = 0; i < points.Count; i++)
{
ret.Points.Add(RotatePoint(points[i], origin, radians));
}
return ret;
}
public Vector RotatePoint(Vector point, Vector origin, float angle)
{
Vector ret = new Vector();
ret.X = (float)(origin.X + ((point.X - origin.X) * Math.Cos((float)angle)) - ((point.Y - origin.Y) * Math.Sin((float)angle)));
ret.Y = (float)(origin.Y + ((point.X - origin.X) * Math.Sin((float)angle)) - ((point.Y - origin.Y) * Math.Cos((float)angle)));
return ret;
}
एक त्वरित जानकारी पर, मुझे ठीक लगता है। आप किस प्रकार की स्कीविंग देख रहे हैं? और क्या कोई कारण है कि आप 'डबल' के बजाय 'फ्लोट' का उपयोग कर रहे हैं? –
डाइस्टर ने इसे ठीक किया था, बस इसे ठीक करने के बजाय वाई शब्द जोड़ना था। बहुत अच्छे कोड के लिए jonskeet भी धन्यवाद :) – bharling