How do I calculate the center of a square given its position and orientation?

  • Topic:
  • Thread starter Thread starter sterlingm
  • Start date Start date
  • Tags Tags
    Center Square
Join the discussion
Registration is free. Start your own thread to ask a follow-up.
3 replies · 4K views
sterlingm
Messages
2
Reaction score
0
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).

View attachment 1868

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.
 
Attachments
  • square.png
    square.png
    808 bytes · Views: 157
Mathematics news on Phys.org
The angle you want to use is $$-\frac{3\pi}{4}$$

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

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

$$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$.
 
MarkFL said:
The angle you want to use is $$-\frac{3\pi}{4}$$

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

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

$$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:

View attachment 1871

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?
 
Attachments
  • square.png
    square.png
    855 bytes · Views: 148
If the square rotates about the point (0,2) in a counter-clockwise direction, then add the angle of rotation to $$-\frac{3\pi}{4}$$. If the rotation is in a clockwise direction then subtract the angle of rotation.