1
$\begingroup$

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!

$\endgroup$
10
  • $\begingroup$ My mistake! Fixed! $\endgroup$ Commented Oct 20, 2022 at 18:08
  • $\begingroup$ Why is it proposed to close this question ? It is well formulated and there is some work on it. $\endgroup$ Commented Oct 20, 2022 at 18:14
  • $\begingroup$ I think I am able to give an answer but prior to that, are you familiar with vector computations ? $\endgroup$ Commented Oct 20, 2022 at 18:16
  • 1
    $\begingroup$ I have obtained by a certain method that the maximal value of the shadow is $\approx 0.0436 m^2$ for a certain value of parameters (azimuth, elevation) aka (longitude,colatitude). $\endgroup$ Commented Oct 20, 2022 at 20:48
  • 2
    $\begingroup$ @JeanMarie The method sketched in that answer for a cube can be indeed adapted to a general right parallelepiped: I did that and found the maximum to be $\sqrt{19}/100$, in agreement with your result. $\endgroup$ Commented Oct 21, 2022 at 15:24

3 Answers 3

2
$\begingroup$

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

$\endgroup$
3
  • 1
    $\begingroup$ [+1] I wonder if a connection exists with De Gua's theorem ? $\endgroup$ Commented Oct 25, 2022 at 17:22
  • 1
    $\begingroup$ @JeanMarie You are right, of course: $S_\max$ is twice the area of the triangle whose sides are three diagonals of the faces of the parallelepiped. Quite obvious, intuitively. $\endgroup$ Commented Oct 25, 2022 at 18:32
  • 1
    $\begingroup$ As you say, quite obvious, but sometimes obviousness is striking afterwards... $\endgroup$ Commented Oct 25, 2022 at 18:34
0
$\begingroup$

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.

$\endgroup$
-1
$\begingroup$

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

$\endgroup$
3
  • 2
    $\begingroup$ I will be frank: you try to be didactic, but your answer is too allusive ; saying that the issue depends on 7 parameters is not an help, it terribly complexifies things : as the Length, Width and Height are fixed, this issue depends on 2 parameters only, azimuth and elevation for example (otherwise said longitude and colatitude). It is with these parameters that I have obtained the maximal area equal to $0.0436 m^2$. $\endgroup$ Commented Oct 20, 2022 at 20:45
  • 1
    $\begingroup$ I got the impression that the poster was looking for how they could arrive at the formula for the area on their own -- my answer was just trying to suggest one avenue for how to think through the problem. Perhaps I misunderstood. $\endgroup$ Commented Oct 21, 2022 at 8:50
  • 1
    $\begingroup$ Yes, indeed, me too, I thought the asker is interested by knowing a general method. But as you see, he/she hasn't reacted in any way, neither to our comments, or your answer, or the optimal numerical value I have given... $\endgroup$ Commented Oct 21, 2022 at 14:29

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.