How to rotate a point in computer graphics? the answer of this question is simple, we can use a simple Mathematics equation that we read in school. ￿￿￿
Rotate a point in computer graphics
that can written as below form
Rotate a point in computer graphics
where the THETA is the angle that you want to rotate. this equation do not work correctly because in computer system axis Y is different from it is in mathematics, it's direction in computer is reverse of it's on mathematics, because of this we should change the equation sign like below:
Rotate a point in computer graphics
Now we can use this equation for rotating a single point around ordination center. see example below
چگونه یک نقطه را در گرافیک کامپیوتری دوران دهیم؟ پاسخ این سوال بسیار ساده است، تنها کافی است از معادله ای که در دوران مدرسه آموخته این استفاده کنیم:
دوران یک نقطه در گرافیک کامپیوتری
معادله فوق را می توان به فرم دیگر زیر نوشت:
دوران یک نقطه در گرافیک کامپیوتری
که در آن "تتا" زاویه دلخواهی است که می خواهیم نقطه را به آن اندازه دوران دهیم. این معادله کاملا درست کار نمی کند، زیرا در گرافیک کامپیوتری بردار Y کمی متفاوت با آن چیزی است که در ریاضی خوانده ایم، در گرافیک کامپیوتری جهت بردار Y معکوس جهت آن در دستگاه مختصات است، (یعنی سمت منفی Y در دستگاه مختصات بیانگر سمت مثبت آن در کامپیوتر است) به این دلیل معادله فوق را کمی دستخوش تغییر می کنیم تا حاصل همواره صحیح باشد:
دوران یک نقطه در گرافیک کامپیوتری
حال می توانیم از معادله فوق استفاده کنید تا یک نقطه را حول مبدا دوران دهیم. Sample Code ```

Point p = new Point(30, 10);
double theta = Math.toRadians(45.0);
int newX = p.getX() * Math.cos(theta) - p.getY() * Math.sin(theta);
int newY = p.getX() * Math.sin(theta) + p.getY() * Math.cos(theta);