• Quick note - the problem with Youtube videos not embedding on the forum appears to have been fixed, thanks to ZiprHead. If you do still see problems let me know.

Architects or Engineers, my hubby needs help!

Chicken Pot Pie

Bawkbagawk Bawkbagone!
Joined
Apr 2, 2005
Messages
15,099
Location
Kentucky
My hubby works making architectural cast stone. They make keystones, arches, coping, window trim, etc.

Here is the dilemma, and it may be that the architects didn't provide enough information :

They have a brick wall to make coping for. The front of it is level. On the left, it takes a 45-degree turn, goes uphill. Then, there is another left 45-degree turn, but it goes back to being level. They know the elevations of the lower and upper walls. Hubby's boss is a carpenter, yet they need the section view at the miter joints at the ends of both corners.

Any input is greatly appreciated.

CPP
 
Last edited:
Just to see if I understand the question, this drawing is the situation, and you want to know how the miters on the top surface of the walls should work?

Image3.jpg

I may be able to help; computing miter angles is rather complex in 3 dimensions. The angles depend upon the plane they are measured in (usually a plane parallel to the level reference plane), the amount of slope differential, the meeting angle and the thickness of the wall(s). If it would help, contact me on the site mail here and we can exchange e-mail addresses, that will make it easier to send drawings and such back and forth.
 
Last edited:
Thanks, shadron! Your drawing is spot on!

I asked hubby if they solved the dilemma, and he said they went to the site with foam and measured and cut the foam dummy pieces on site. Yes, it is complex, especially since they make molds for the stones, so everything is done in mirror image.
 
I'm confused. The math involved is high school geometry and trig, and the situation described is fairly common. I'm especially confused if a company that specializes in cast stone or precast concrete is involved. Their detailers and carpenters deal with this kind of thing on a daily basis.

Why was this a big problem?
 
Last edited:
I'm confused. The math involved is high school geometry and trig, and the situation described is fairly common. I'm especially confused if a company that specializes in cast stone or precast concrete is involved. Their detailers and carpenters deal with this kind of thing on a daily basis.

Why was this a big problem?

Quadraginta, allow me to illustrate. This is a real problem that I worked on, and my solution was less then optimum. Perhaps you can give me a closed form solution.

I was building software similar to that I used above. Given the centerline of a pair of walls and the walls' thickness, draw the walls in plan view (like the right half of my illustration above). I have three point on the x,z plane: the two end points of the walls' centerlines, and the point where the centerlines cross. I need to create the polygon that is the outline of the two walls.

Obviously enough, I could just create the polygon by essaying parallel lines on each side of the centerline at thickness/2 distance, and then compute the points where these lines cross to complete the points on the polygon. For a couple of reasons I won't get into, that isn't what I wanted to do. I wanted, instead, to compute the interior and exterior wall join points from the centerline join point. The only thing I'm lacking is the miter angle, the angle that between one of the walls and the line that includes both interior and exterior wall join points.

Now, when the walls have the same thickness, then the miter angle is easy - it's half of the angle between the two walls. But I wanted to make the result general enough to handle disparate thickness on the two walls. Suddenly, computing the miter angle gets weird. See this illustration:

Image1.jpg

I was not able to come to a closed form equation that would yield the miter angle given the three points and the two wall thicknesses. Can you?

(Excuse the drawing. To create the thicker wall in this software, since it doesn't want joined walls to have different thicknesses, I had to cheat by overlaying a separate thick wall just for illustration purposes, and it sticks out in places. Hence my original problem. I also measure wall angles and miter angles from the horizontal wall (the "First" wall), though the choice is arbitrary.)

This is sort of a subclass of CPP's problem above. In her case it is complicated by the fact that the walls have to also rise through the y axis and meet evenly, and the solution is in the 3D rendering, not in the plan. As you can see, the software I used fails; it joins the first two wall OK, but the join of the second to the third doesn't match. In fact, in that case there is no smooth solution (I believe) and the wall builder would have to use some smoothing or bending to make the match occur. Really ugly. Or he would finesse the problem by building pillars at the joins, obviating any need to match up the wall top surfaces.
 
Last edited:
Hubby's boss and the company built the entire Templeton Libraray, Sewanee, TN. The large piece of cast stone on the top of the building is in the Guinness Book of World Records as the largest piece of cast stone.

Covenant Presbyterian Church in Nashville, TN has a lot of cast stone pieces made by my hubby. Pictures are included.

Also, people from all over the USA call hubby's boss when they run across a situation they need help with.
 

Attachments

  • Templeton.jpg
    Templeton.jpg
    110.3 KB · Views: 2
  • bluesky.jpg
    bluesky.jpg
    140.1 KB · Views: 3
Last edited:
Here's a solution to your problem Shadron:

Define a line thusly:

[latex]$
\vec P(u) = \vec p + \vec d \cdot u
[/latex]

Lowercase p is any arbitrary point on the line and lower case d is a vector which points in the direction of the line. This is a parametric function in "u" that returns points on the line.

We can define two lines which represent the center lines of your walls:

[latex]$
\vec {P_1}(u) = \vec {p_1} + \vec {d_1} \cdot u
[/latex]
[latex]$
\vec {P_2}(v) = \vec {p_2} + \vec {d_2} \cdot v
[/latex]

These lines meet where [latex]$
\vec {P_1}(u) = \vec {P_2}(v)
[/latex]

So we can write :

[latex]$
\vec {p_1} - \vec {p_2} = - \vec {d_1} \cdot u + \vec {d_2} \cdot v
[/latex]

Now write it in matrix form.

[latex]$
\[
\begin{bmatrix}
- \vec {d_1} & \vec {d_2}
\end{bmatrix} \] \cdot
\[
\begin{bmatrix}
\ u \\
\ v
\end{bmatrix} \] =$ \vec {p_1} - \vec {p_2}[/latex]

For two dimensions, we can expand the vectors as column vectors:

[latex]$
\[
\begin{bmatrix}
\ -d_1.x & d_2.x \\
\ -d_1.y & d_2.y
\end{bmatrix} \] \cdot
\[
\begin{bmatrix}
\ u \\
\ v
\end{bmatrix} \] = $
\[
\begin{bmatrix}
\ p_1.x - p_2.x \\
\ p_1.y - p_2.y
\end{bmatrix} \][/latex]
[latex]$
A \cdot
\[
\begin{bmatrix}
\ u \\
\ v
\end{bmatrix} \] = $
b[/latex]

Note that A is a square matrix so it's a snap to invert it, multiply it to b and that gives you your solution to u and v. *Note: I'll talk about the case for 3 or more dimensions at the end of this post.

[latex]$
\[
\begin{bmatrix}
\ u \\
\ v
\end{bmatrix} \] = $ A^{-1} \cdot
b[/latex]

Plug u into P1(u) or v into P2(v) and that gives you the point where the center lines cross. You may be wondering at this point why I explained all this since you already know how to find the crossing point of two lines. The reason is that describing lines and solving them this way allows us to do some really neat things to solve your problem.

For instance, we can define two new lines which are parallel to the center line but are moved over by half the thickness of each wall.

[latex]$
\vec {P_3}(u) = (\vec {p_1} + \vec{d_1}\perp \cdot 0.5T_1) + \vec {d_1} \cdot u = \vec {p_3} + \vec {d_1} \cdot u
[/latex]
[latex]$
\vec {P_4}(v) = (\vec {p_2} + \vec{d_2}\perp \cdot 0.5T_2) + \vec {d_2} \cdot v = \vec {p_4} + \vec {d_2} \cdot u
[/latex]

The terms I added here are normalized (magnitude=1) vectors which are perpendicular to the center line and are multiplied by half the thickness. A program would need to establish that the perpendicular vectors are pointing to the inside of the corner which you want to make the miter for.

Run through the steps of solving u and v once more (with p3 substituted for p1 and p4 for p2) and then you can get the point where the walls meet on the inside corner.

Let's define the two points that have been found so far:

[latex]$
\vec {X_1} = [/latex]the point where the center lines cross
[latex]$
\vec {X_2} = [/latex]the point where the walls meet at the inside corner

Now you can get a normalized vector which points along the miter joint.

[latex]$
\vec {M} = (\vec {X_2} - \vec {X_1}) / |\vec {X_2} - \vec {X_1}| [/latex]

Assuming that the vectors pointing along the center lines have been normalized, you can get the angle of the miter cuts from the cross products.

[latex]$
\theta_1 = |\vec {M} \times \vec {d_1}| \\
\theta_2 = |\vec {M} \times \vec {d_2}|
[/latex]



* As promised, here's what happens when you try to solve the crossing point for two lines in 3 dimensions.

[latex]$
\[
\begin{bmatrix}
\ -d_1.x & d_2.x \\
\ -d_1.y & d_2.y \\
\ -d_1.z & d_2.z
\end{bmatrix} \] \cdot
\[
\begin{bmatrix}
\ u \\
\ v
\end{bmatrix} \] = $
\[
\begin{bmatrix}
\ p_1.x - p_2.x \\
\ p_1.y - p_2.y \\
\ p_1.z - p_2.z
\end{bmatrix} \][/latex]
[latex]$
A \cdot
\[
\begin{bmatrix}
\ u \\
\ v
\end{bmatrix} \] = $
b[/latex]

In this case our matrix A is a 3 by 2 matrix so it's not directly invertible. You can use the projection matrix here.

[latex]$
\[
\begin{bmatrix}
\ u \\
\ v
\end{bmatrix} \] = $(A^{T}A)^{-1}A^T
b[/latex]

The projection matrix will yield a sort of "least square fit" to the problem. If the lines don't actually cross the solution will be the u and v parameter that corresponds to P1(u) and P2(v) which are the points where the lines come closest.

Note that if your walls are parallel, the solution is two infinite sets of points that are all equally distant. In other words, the solution is both lines. In this instance, (A^T*A) won't be invertible. The computer will find a divide by zero error.

If you're working in three dimensions, it's possible that you intended for your lines to cross precisely but because of a computer's imprecision they'll appear to miss by a tiny margin.

Well, that was a nice little Saturday morning project to drink coffee to. That'll be $150 USD for engineering consulting fees please :)
 
Last edited:
Oops, I just took another look at your diagram and I realized that I didn't solve your problem correctly. I came up with a solution assuming that you always want the center lines to meet right at the miter joint. I'll post the correct solution later today. In any case, you can use that linear algebra stuff to frame and solve lot's of problems.
 
Last edited:
OK - then you admit that there is no closed form solution (or at least it is still obscure) that yields the miter angle without essentially "drawing" the wall edges to determine the two intersection points, and deriving the equation of the miter line. This is essentially the result that I came up with when I worked the problem originally. You framed it in matrix algebra, which certainly leads to a more uniform solution than straight geometry and algebra. I wish they had pushed matrix algebra more when I was in undergrad, but at the time computers were a very expensive commodity, and so I never really learned to think comfortably in vectors and matricies. Thanks for the input on this.

I assume in the 2D solution that the miter line will always include the join point of the wall centerlines.

In the 3D problem, where the tops may be tilted from one another along the centerlines, you can always join along the miter line, but the resulting top along the second wall will be tilted rather than being level (that is, lines in the top plane perpendicular to the centerline will not be level). An optimal meeting of level tops will be along a line that is not in general the miter line. No wonder that most formal walls like this have a "watchtower" at each corner in which to obviate the join altogether.

I will be very interested to see the solution that CPP's husband came up with using heuristic methods.
 
Usually when I'm having to install crown moulding in bastard situations (ie, the ceiling is way off level and the corners are not 90 degrees) the only way to get it is trial and error on scrap pieces. I'm sure there's a mathematical formula that will work, but damned if I know it. Sounds like what they were doing with the foam.

My most tedious crown moulding job ever was in a kitchen of a 120 year old mansion, nothing was level or square and IIRC it took me 3 or 4 days to get it right, and it was a small kitchen. And the moulding was oak (and getting stained so no way to cheat with wood putty to cover up mistakes) and made to match existing in other parts of the house, so the lumber yard had to make a knife ($600) to cut it which made the cost per foot of the moulding close to $20. You really don't want to screw that up!

Good luck to your husband shadron!
 
OK - then you admit that there is no closed form solution (or at least it is still obscure) that yields the miter angle without essentially "drawing" the wall edges to determine the two intersection points, and deriving the equation of the miter line. This is essentially the result that I came up with when I worked the problem originally. You framed it in matrix algebra, which certainly leads to a more uniform solution than straight geometry and algebra. I wish they had pushed matrix algebra more when I was in undergrad, but at the time computers were a very expensive commodity, and so I never really learned to think comfortably in vectors and matricies. Thanks for the input on this.

I assume in the 2D solution that the miter line will always include the join point of the wall centerlines.

In the 3D problem, where the tops may be tilted from one another along the centerlines, you can always join along the miter line, but the resulting top along the second wall will be tilted rather than being level (that is, lines in the top plane perpendicular to the centerline will not be level). An optimal meeting of level tops will be along a line that is not in general the miter line. No wonder that most formal walls like this have a "watchtower" at each corner in which to obviate the join altogether.

I will be very interested to see the solution that CPP's husband came up with using heuristic methods.

Ahh, ok then. Then my solution works fine. It is a closed solution. There is no recursion (Unless you want to count the square roots used to find the magnitude of vectors). The entire thing I posted can be laboriously broken down into one finite set of lines of algebra but one would lose sight of the forest for all the trees. There would be plenty of trees believe you me. That's what you would need to program it though.

Also, if we want establish a description of a unique line (and it's angles or whatever else) we're always going to need a minimum of two points or a point and direction. There's no other way around it.

The 3D problem sounds solvable too by using a parametric basis for planes and then doing something similar to my other post to solve for line equations where the planes cross each other. If your interested in such a matrix solution I'd be glad to do it if you're interested. A visual draft of the exact problem with labeled parameters would be needed. A picture is worth a thousand words after all.
 
Ahh, ok then. Then my solution works fine. It is a closed solution. There is no recursion (Unless you want to count the square roots used to find the magnitude of vectors). The entire thing I posted can be laboriously broken down into one finite set of lines of algebra but one would lose sight of the forest for all the trees. There would be plenty of trees believe you me. That's what you would need to program it though.

Also, if we want establish a description of a unique line (and it's angles or whatever else) we're always going to need a minimum of two points or a point and direction. There's no other way around it.

The 3D problem sounds solvable too by using a parametric basis for planes and then doing something similar to my other post to solve for line equations where the planes cross each other. If your interested in such a matrix solution I'd be glad to do it if you're interested. A visual draft of the exact problem with labeled parameters would be needed. A picture is worth a thousand words after all.

Yes, it is a closed solution. That is my bad use of the term. I meant something else by the term. You mention a point and a direction; I think what I was looking for was that I had the point (the centerline intersection), but I needed the direction, and there ought to be a way to compute it, because the direction is unique (within a semicircle) but I couldn't find it. You used the pair of points, which is what I eventually did as well. So I'll leave it be. Yes, the programming solution was fairly hairy. You could use a matrix/vector class (like STD's, for instance) and probably neaten it up from what I did.

Yes, a clear statement of the problem is half of the solution. I'm no longer in that line of work, though if you have the time to spare at some point I'd probably try to implement it just for the exercise. 3D virtual rendering programming is a great way to keep senile dementia beyond reach of one's self.
 
Good luck to your husband shadron!

Ummmmm, the husband in this is ChickenPotPie's. I'm of the male persuasion, myself. I can dimly understand your pain, seeing it in my amateur DIY projects. One of the things that I did do is implement 3D rendering of fancy trims, which is specified as a profile using straight lines and spline curves. You could use the result to preview what sort of effect you wanted in your kitchen with various different trim profiles (not to speak of stains, paints, dimensions and so on). As I said, intriguing work. I only wish I could get paid to do it.
 
Yes, a clear statement of the problem is half of the solution. I'm no longer in that line of work, though if you have the time to spare at some point I'd probably try to implement it just for the exercise. 3D virtual rendering programming is a great way to keep senile dementia beyond reach of one's self.

Sure, but to be clear, is this the problem your looking to solve?

wall joiner.gif

Coincidentally, I've been hitting computational geometry pretty hard lately. I've been working on a module for the NetBeans platform that uses OpenGL to display CAD data. The goal being to start an open source and fully parametric CAD application with a slick interface and scripting capability. I still have a lot to learn so that my code base will knit together nicely. It's probably too ambitious for my skill level but I'm having fun with it. Right now I'm trying to work out the math that will calculate the intersection of any arbitrary curved surface (NURBS based).

Here's a screenshot where I was testing a NURB class that is a perfect mathematical representation of a circle.

NURBS.jpg
 
Usually when I'm having to install crown moulding in bastard situations (ie, the ceiling is way off level and the corners are not 90 degrees) the only way to get it is trial and error on scrap pieces. I'm sure there's a mathematical formula that will work, but damned if I know it. Sounds like what they were doing with the foam.

My most tedious crown moulding job ever was in a kitchen of a 120 year old mansion, nothing was level or square and IIRC it took me 3 or 4 days to get it right, and it was a small kitchen. And the moulding was oak (and getting stained so no way to cheat with wood putty to cover up mistakes) and made to match existing in other parts of the house, so the lumber yard had to make a knife ($600) to cut it which made the cost per foot of the moulding close to $20. You really don't want to screw that up!

Good luck to your husband shadron!

Yes, the foam dummies ended up being the way they solved this situation. There will be a twist in one of the stones involved as well, but all the joins will be correct.

Thanks to everyone who commented. I am in no way a maths person, so it's all Greek to me, but my dear hubby thinks you all rock for responding!
 
<snip>

In fact, in that case there is no smooth solution (I believe) and the wall builder would have to use some smoothing or bending to make the match occur. Really ugly. Or he would finesse the problem by building pillars at the joins, obviating any need to match up the wall top surfaces.


See. This is what I'm talking about. You just managed to convince yourself that it couldn't be done. I'm saying it's done all the time. In the OP case they went out in the field and made a template. In the shop they could have played with some test shapes and "tried" the cuts with a miter square. There are many tools and options available to experienced craftsmen that don't involve complex math.

My surprise was expressed because the situation described is not a particularly uncommon one.
 
Hubby's boss and the company built the entire Templeton Libraray, Sewanee, TN. The large piece of cast stone on the top of the building is in the Guinness Book of World Records as the largest piece of cast stone.

Covenant Presbyterian Church in Nashville, TN has a lot of cast stone pieces made by my hubby. Pictures are included.

Also, people from all over the USA call hubby's boss when they run across a situation they need help with.


I meant no disrespect to your husband, or his company. My assumption that such respect is deserved is what caused me to express my surprise.

I am not a 'keyboard warrior' speaking from ignorance on this topic. It is exactly an area I have spent much of a long construction career working in. On the ground, in the field. Got lots of ball caps. I've been the one personally responsible for laying out the control lines that the concrete or masonry is built to for the precast to be installed on, and the person who does the control lines for that installation to be done from, and the person who has to deal with any problems between the GC and the stone contractor when something doesn't fit. I've poured the concrete. Personally. I've set the precast. Personally. I've run the carpentry crews for buildings where the precast was self-performed on-site by the GC instead of by a subcontractor like your husband's company. I've done this on dozens of buildings over dozens of years involving literally 1,000s of pieces of precast.

Here's a few.

MVC-005F.JPG


P7080017.JPG


P4050002.JPG


P7020005.JPG


If your husband's company is big enough it isn't unlikely that I've worked with them on some past project. They're on the right side of the country.
i1jhEH2EhC5tc6eEsufWJg
 
Last edited:
quadraginta, those are very nice! I can't wait to show them to hubby, and see if I am allowed to name his company, though it is a very small company.
 
See. This is what I'm talking about. You just managed to convince yourself that it couldn't be done. I'm saying it's done all the time. In the OP case they went out in the field and made a template. In the shop they could have played with some test shapes and "tried" the cuts with a miter square. There are many tools and options available to experienced craftsmen that don't involve complex math.

My surprise was expressed because the situation described is not a particularly uncommon one.

Here's the problem, Quadragenta. My craft, rather than yours, was to build the 3D representations of the solutions on a monitor screen; for me, mathematics is of the essence of the problem. You said "The math involved is high school geometry and trig", and I've shown at least one case in which that seems not to be true.

Now, in discussing this, I've come to two conclusions in my personal work: that you can build a nice cap (one which is flat - horizontal where perpendicular to the centerline - and in which all the top joints meet smoothly from side to side) on a wall, even when the wall joints have all manner of thicknesses, join angles and elevation changes, but the miter line has to be decoupled from the line that the caps join on. This may result in the cap having non-rectangular shapes, which I presume is the sort of solution your professionals do. Now I'm looking for a mathematical derivation of the "fold" angle in the general case.

miterfold.jpg

Secondly, no one can still suggest a way to compute the miter angle on multi-thickness walls at an arbitrary join except by computing the wall meet points and constructing the line from that. I think the angle must be computable, but it is likely a very odd function.

I think it was Heinlein who said you don't understand anything unless you can describe it mathematically. This problem of mine is not a great theorem in analytic geometry, just a little piddling problem, but I have a need to pursue it. The E in JREF.
 

Back
Top Bottom