Maximizing the Shadow of a Rectangular Prism in a Field

141 Views Asked by At

Working on a 3U CubeSat as part of a project for a Space Engineering club. To calculate the maximum solar disturbance force, we are trying to calculate the largest shadow a 0.1 * 0.1 * 0.3 rectangular prism can cast.

If the satellite was oriented with the largest side facing the sun directly, the shadow cast would be 0.03 m^2. It is our thought that there is a certain orientation in which the shadow is larger than this, so the solar disturbance force will be maximized. Is there a function we could use to maximize this value?

Any help would be greatly appreciated!

3

There are 3 best solutions below

3
On BEST ANSWER

Even if a satisfying answer has been found by the asker, I want to show how the answer can be reached without matrices nor calculus.

If we take a plane surface with area $A$ and unit normal $\vec n$, then the projection of that area along a direction $\vec v$ (with $|\vec v|=1$) is $$ A'=A \vec n\cdot\vec v. $$ Let's take now a convex polyhedron: if the normals $\vec n_k$ of its faces are oriented outwards, then only those faces with $\vec n_k\cdot\vec v>0$ are visible from direction $\vec v$. The area projected by the polyhedron is then $$ S=\sum_{\text{$k$ visible}} A_k \vec n_k\cdot\vec v, $$ where $A_k$ is the area of the $k$-the face, and the sum is only carried over the visible faces.

In the case of a parallelepiped, we can set up our coordinates such that its center is at the origin, and its faces are parallel to coordinate planes, so that $\vec n$ can take one of the six values $(0,0,\pm1)$, $(0,\pm1,0)$,$(\pm1,0,0)$. Without loss of generality, we can in addition suppose that $v=(x,y,z)$ is in the first octant. We get then: $$ \tag{1} S=A_x x+A_y y+A_z z, $$ where $A_x$ is the area of the faces perpendicular to $x$ axis, and so on.

We must find for which $v=(x,y,z)$ the value of $S$ is maximum, with the constraint $|\vec v|=1$, that is: $$ \tag{2} x^2+y^2+z^2=1. $$ But $(1)$ is the equation of a plane (if $S$ is fixed) and $(2)$ is the equation of a sphere. We obtain the maximum value of $S$ when the plane is tangent to the sphere, i.e. when $v$ is perpendicular to the plane, leading to: $$ v={(A_x,A_y,A_z)\over\sqrt{A_x^2+A_y^2+A_z^2}}. $$ Substituting this into $(1)$ we can find the maximum value of $S$: $$ S_\max=\sqrt{A_x^2+A_y^2+A_z^2}. $$ For the case at hand, substituting: $$ A_x=A_y=0.03\text{ m}^2,\quad A_z=0.01\text{ m}^2, $$ we get $S_\max={\sqrt{19}\over100}\approx0.0436\text{ m}^2$.

3
On

I can work out the answer more thoroughly if you'd like but here's a write-up of the steps you want to take to find a solution.

First, the size of the shadow is a continuous function of (I think) seven variables. We have already defined the length, width and height, though, so I'll just treat those as constants for now. You probably want to set them to 1, though, to make the calculations easier. You can make them the real numbers later.

The first three unknown variables that affect the shadow of the box, then, are the yaw, pitch and roll of the box. Using those, we can fully represent the rotation of the box by the 3D rotation matrix. These are super clean to work with, so if you haven't learned about them yet then don't worry -- things will cancel out.

Rather than working with the box itself, though, I'd recommend working with the vectors representing the box. It is really just three vectors, after all, where each is parallel to one of the $X$, $Y$, or $Z$ axes. So what does the rotation matrix do to those vectors?

Next, I believe a fourth necessary variable would be the angle of the sun. Let's just say that the sun is directly above the box, though. That's the easiest place to start and then you can consider what changes when you remove that assumption.

Okay, we know we are representing our rotation in terms of the operations $\{\text{rotate in x}, \text{rotate in y}, \text{rotate in z}\}$. We now want a function that relates this rotation to the area of the shadow.

The size of the shadow can be represented as flattening the box onto some plane that is flat in $X$ and $Y$ (assuming the sun is above us). If we assume the box is centered at the origin (which we probably want to), this means that we take all of the $Z$ values for every point in the box and set them to 0. This operation is called a projection and can also be described by a matrix. Now what is the area of the following 2D shape? I trust you to work that part out. It will come out being some sum of trigonometric functions of the yaw, pitch, and roll and should, likely, have a lot of things cancel.

Our second to last step is to take the derivative of this function and set it to 0 to find the maximum. I am sure there are both mins and maxes (most likely an even number of both), so you only need to solve for the cases where the derivative is 0 at a local maximum of the shape.

Then my last step would be to double-check the work. Does the resulting answer make sense? Is it a function of all three variables as we hoped? Does it maintain the symmetries that we'd expect of such an operation? Does our area for the shadow work for the easy 90 degree rotation cases? etc. etc.

Have fun :)

0
On

Thank you for everyone's help! I was able to use a similar method by defining a matrix of the vertices of the prism and multiplying by the X rotation matrix and Y rotation matrix.

We then have a function of thetaX and thetaY, which can be maximized to describe the optimal angles. I also calculated an answer of 0.0436 m^2.