Welcome to our community

Be a part of something great, join today!

Finding center of square

sterlingm

New member
Jan 16, 2014
2
Hi,

I want to find the world coordinates of the center of a square given:

-The top left corner is the reference point
-Its position relative to the world frame
-Its orientation relative to the world frame

The example that I have been using is that the square is at (0,2), has 0 orientation, and the distance to the center from the corner is 0.1524m in the x and y directions (Picture given).

square.png

This means that the center should be -0.1524, 1.8476. My closest way of doing it was:

x = x_world + (h*cos(-PI/4))
y = y_world + (h*sin(-PI/4))

h = 0.2155m for this example

However, this gives me the location of (0.1524, 1.8476). The x coordinate should be negative. I have tried numerous equations such as:

x = (x_world+h)*(cos(orientation - PI/4))
x = (x_world+h)*(cos(orientation + PI/4))
x = x_world*cos(orientation+PI/4)
(The y formulas being the same but replacing x with y and cos with sin)

However, none of these work. If anyone could help me out, that would be great. I feel like it should be so simple, but I can't seem to figure it out. The oddly specific example is not from homework, this is something I am working on for a hobbyist 2D project.
 

MarkFL

Administrator
Staff member
Feb 24, 2012
13,775
The angle you want to use is \(\displaystyle -\frac{3\pi}{4}\)

The center of the given square would then have the coordinates:

\(\displaystyle x_C=0+0.1524\cos\left(-\frac{3\pi}{4} \right)\approx-0.107763\)

\(\displaystyle y_C=2+0.1524\sin\left(-\frac{3\pi}{4} \right)\approx1.892237\)

It looks like your diagram gives the upper right corner as the reference point, and where you have $h$, this is where you should have the measure $0.1524$.
 

sterlingm

New member
Jan 16, 2014
2
The angle you want to use is \(\displaystyle -\frac{3\pi}{4}\)

The center of the given square would then have the coordinates:

\(\displaystyle x_C=0+0.1524\cos\left(-\frac{3\pi}{4} \right)\approx-0.107763\)

\(\displaystyle y_C=2+0.1524\sin\left(-\frac{3\pi}{4} \right)\approx1.892237\)

It looks like your diagram gives the upper right corner as the reference point, and where you have $h$, this is where you should have the measure $0.1524$.
Thanks! I think the main problem was using -PI/3 rather than -3PI/4. I probably should have added an arrow to my diagram to show where the "front" of the square was. I added it here:

square.png

However, I forgot to mention one important detail. The square can rotate. So how does the angle change from -3PI/4 if the square can rotate?
 

MarkFL

Administrator
Staff member
Feb 24, 2012
13,775
If the square rotates about the point (0,2) in a counter-clockwise direction, then add the angle of rotation to \(\displaystyle -\frac{3\pi}{4}\). If the rotation is in a clockwise direction then subtract the angle of rotation.