I once had to take a special needs class doing a coursework task; the object being to investigate then arrive at an algebraic formula. I brought in some sweets of different types and presented the task as involving the sweets as a prop. It went down well and they quickly got the idea making up packs of mixed sweets according to the 'rule'. They were able to write their 'conclusion' in terms of a 'formula' using the names of the sweets instead of x and y.

The final step was to persuade them to re-write this, abbreviating each sweet name to it's start letter. Result: one perfectly respectable algebraic conclusion.

So, I suppose my answer is 'find a way to present the work using their language/interests/culture'.

Bob

]]>but what is geometry without it ?

Maybe I also could have explained it better. It is planeshifting after all.

Is it that I lost you with Hesse Cartesian (or normalized Cartesian equation),

which is the Cartesian version of the Hesse normal form ?

You are almost there, there. Is this one what you call "post 8" ?

There should be English equivalents, but can you follow the mathematical steps of the Germans, there ?:

- Longer German version of the English Hesse normal form Wikipedia site

Point-plane-distance by Hesse Cartesian examples:

- "Daniel Jung" tutoring

- "Simpleclub" aiming at young students

What did you do, when students bailed out on something,

you planed to build on, by the way ? ;-)

I probably wouldn't have solved this yet.

Something I might add:

Till here it worked on paper, but for using it with my computer,

I was putting back the floor plus, in the torus planes edged, balls trough it,

so that their center is in the floor plane.

This by shifting the 2 planes next to the edges, one of which the torus lies flat on,

with the floor plane by the radius of the ball.

Cutting the planes in each of the 2 cases gives unique points.

Instead of with the lines, coming out of the equation systems,

I defined the vectors, which intersect the core of the torus

using the balls in combination width the one on the tip.

This way I avoided an underdetermined bosl2 solve,

resulting in the minimum norm solution (point on line, closest to origin).

It made sure, that the vectors always point in the right direction.

Edit: Being more specific

]]>So, if you think you can finish the torus problem, that's an even bigger relief for me. Phew!

Bob

]]>Mainly I did like I described above.

Before the torus I dropped a ball with its rounding as radius.

Its center gives you the displacement due to shifting.

Not to forget to tip an turn the radius.

It's just the dot product used with

unit vectors in direction of the axes (e.g. z and y)

and the normal vector of the plain

on which the torus rests flat.

Edit: putting z and y instead of z and x.

]]>Bob

]]>I checked if it works with displacement vectors,

and it does.

One should not forget to add the dot-products

of the cross-products and the displacement vectors

divided by their length's

to the right side of the solution grid, here.

My OpenSCAD code does also render it correctly

(I have been using the BOSL2 library, cause solve):

```
use <~/.local/share/OpenSCAD/libraries/bosl2/std.scad> // linear_solve
module spherepolyhedron(corners)
{
module cornerput(corner)
{
//[[x,y,z],[[x,y,z],[x,y,z]],[[x,y,z],[x,y,z]],[[x,y,z],[x,y,z]],r_sphere]
tip=corner[0];
plainp=[[corner[1][0],corner[1][1]], // plainp(oints)
[corner[2][0],corner[2][1]],
[corner[3][0],corner[3][1]]];
r_sphere=corner[4];
plainv=[[plainp[0][0]-tip,plainp[0][1]-tip], // plainv(ectors)
[plainp[1][0]-tip,plainp[1][1]-tip],
[plainp[2][0]-tip,plainp[2][1]-tip]];
crossp=[cross(plainv[0][0],plainv[0][1]), // crossproducts
cross(plainv[1][0],plainv[1][1]), // zero if vector=0 or paralell
cross(plainv[2][0],plainv[2][1])];
vleng=[norm(crossp[0]), // vectorlength's
norm(crossp[1]),
norm(crossp[2])];
nlizedv=[crossp[0]/vleng[0], // normalized vectors
crossp[1]/vleng[1], // crossp=0 produces X/0 -> nan here
crossp[2]/vleng[2]];
matrix=nlizedv;
vector=[crossp[0]*tip/vleng[0]+r_sphere,
crossp[1]*tip/vleng[1]+r_sphere,
crossp[2]*tip/vleng[2]+r_sphere];
pos=linear_solve(matrix,vector); // bosl2 library
translate(pos)
sphere(r_sphere);
}
for(corner=corners)
cornerput(corner);
}
spherepolyhedron( // the points i have defined before
[[[0,0,0],[[2,0,1],[0,2,1]],[[0,1,1],[-1,0,1]],[[-2,-3,1],[2,-3,1]],.5]]);
*spherepolyhedron( // centerpoints of spheres in the edges of a unit cube
[[[0,0,0],[[0,0,1],[1,0,0]],[[0,1,0],[0,0,1]],[[1,0,0],[0,1,0]],.05],
[[1,0,0],[[0,0,0],[1,0,1]],[[1,0,1],[1,1,0]],[[1,1,0],[0,0,0]],.05],
[[1,1,0],[[1,0,0],[1,1,1]],[[1,1,1],[0,1,0]],[[0,1,0],[1,0,0]],.05],
[[0,1,0],[[1,1,0],[0,1,1]],[[0,1,1],[0,0,0]],[[0,0,0],[1,1,0]],.05],
[[0,0,1],[[1,0,1],[0,0,0]],[[0,0,0],[0,1,1]],[[0,1,1],[1,0,1]],.05],
[[1,0,1],[[1,0,0],[0,0,1]],[[0,0,1],[1,1,1]],[[1,1,1],[1,0,0]],.05],
[[1,1,1],[[1,1,0],[1,0,1]],[[1,0,1],[0,1,1]],[[0,1,1],[1,1,0]],.05],
[[0,1,1],[[0,1,0],[1,1,1]],[[1,1,1],[0,0,1]],[[0,0,1],[0,1,0]],.05]]);
```

Edit: Linking OpenSCAD page.

]]>Regarding the order in which I took the points above the origin,

I followed no rule, therefore some normal vectors pointed in the wrong direction.

Some mistakes later, I took the right hand rule

(for this I made multiple edits of this post,

to avoid posting a bunch of my mistakes

and therefore possible confusion).

Starting all over.

This time with the same numbers

except I flipped B2 and B3 as well as C2 and C3 for correctly

using the left hand rule, so the normal vector should point inwards,

into or through the (upside down irregular triangular) pyramid:

Here, the first point in every plain

is the origin=A1=B1=C1=0v=the v(ector) 0 .

Points:

A1=(0|0|0), A2=(2|0|1), A3=(0|2|1)

B1=(0|0|0), B2=(0|1|1), B3=(-1|0|1)

C1=(0|0|0), C2=(-2|-3|1), C3=(2|-3|1)

A1A2=A2-A1=A2 and so on.

Therefore:

A:x=r*A2+s*A3=r*(2|0|1)+s*(0|2|1) and so on (see post 4 except flipped).

Doing the cross product for getting the normal vectors n:

A2 X A3 = (2|0|1) X (0|2|1) = (0*1-1*2|1*0-2*1|2*2-0*0) = (-2|-2|4)

B2 X B3 = (1|-1|1)

C2 X C3 = (0|4|12)

Taking the length's |n| of the vectors n for the Hesse stuff later:

|(-2|-2|4)|=sqrt((-2²)+(-2²)+4²)=sqrt(4+4+16)=sqrt(24)

|(1|-1|1)|=sqrt(3)

|(0|4|12)|=sqrt(160)

The normal form:

A:(-2|-2|4)*(x-0v) and on.

Multiplying this out to get the Cartesian form:

(-2|-2|4)*(x|y|z)-(-2|-2|4)*(0|0|0)=0 and on.

Normalizing following Hesse:

A:-2x-2y+4z=0 -2x-2y+4z/sqrt(24)=0

B:x-y+z=0 x-y+z/sqrt(3)=0

C:4y+12z=0 4y+12z/sqrt(160)=0

Since I figured, that I can jump over the Hesse form,

like you portrayed it, I have not even looked up,

how to get there again. How, by the way ?

The 3 planes have a single point in common.

Since they all touch the sphere, it is in its center,

if they are shifted towards there by the radius of the sphere:

A:(-2x-2y+4z)/sqrt(24)=0.5=radius of sphere/sqrt(24)

B:(x-y+z)/sqrt(3)=0.5=radius of sphere/sqrt(3)

C:(4y+12z)/sqrt(160)=0.5=radius of sphere/sqrt(160)

I brought it in this solve grid:

2/sqrt(24) |2/sqrt(24) |-4/sqrt(24) 0.5

[1/sqrt(3) |-1/sqrt(3) |1/sqrt(3) ] = [ 0.5 ]

0/sqrt(160)|4/sqrt(160)|12/sqrt(160) 0.5

From there or from

solve([(-2x-2y+4z)/sqrt(24)=0.5, (x-y+z)/sqrt(3)=0.5, (4y+12z)/sqrt(160)=0.5],[x,y,z])

I've let the computer take over (equal results).

Now it gives me:

center of sphere

= ((1/18)*(5*sqrt(3)-4*sqrt(6)+sqrt(10)) | (1/6)*(-sqrt(3)-sqrt(6)+sqrt(10)) | (1/18)*(sqrt(3)+sqrt(6)+2*sqrt(10)))

≈ (0.11248 | -0.16988 | 0.58367)

Is there something left to explain in more detail ?

Would it work, with displacement vectors included in the plains, accordingly ?

Would it make sense to adapt our definitions somehow,

so that our models represent similar scenes ?

Edit's to avoid confusion: Using the right hand rule, so flipping B2 and B3, C2 and C3 (see beginning of post).

]]>I'm still working on the sphere question and looking at your post 8.

The Hesse equation has the form

where r is the equation of the plane, n a vector normal to the plane and d the distance from the origin.

I don't follow where your equations come from.

If you knew r, and could translate the plane along the normal a distance of 5, then you would have a plane that goes through the centre of the sphere. But why are your equations correct?

Bob

]]>between the two intersection vectors, which touch the core of the torus

(and divide it by 2 for getting an angle of said triangle).

Then one could use trigonometry for calculating the coordinates of its center.

Is this the easiest way ?

Similar to how I made the 3 planes meet at the center of the circle:

One could slice the torus horizontally with (the second) plane, on which it lies flat.

One could slice the core circle with the other planes (we probably need just one).

The intersection of those gives us a vector, which touches the core of the torus

(due to the shifting, it does not necessarily go trough the origin).

There it is perpendicular.

Since we just have the radius and no other distance/angle,

we probably can not go straight for trigonometry at this point.

The unused plane probably wouldn't be of any help, too, or would it ?

Any ideas ? :-)

]]>Forget the Plane intersection lines, forget the average vector.

Since we know, that the plain touches the the sphere, witch has a known radius,

we make a parallel copy of each plane, so that they go right trough the center of the sphere.

Since we have 3 planes, we can solve for the coordinates.

```
Hesse Cartesian:
E:x = (-2x-2y+4z)/sqrt(24) = 0.5 = radius of sphere
F:x = (-x+y-z) /sqrt(3) = 0.5 = radius of sphere
G:x = (-4y-12z) /sqrt(160) = 0.5 = radius of sphere
```

Now solve those equations for x, y and z:

solve([(-2x-2y+4z)/sqrt(24)=0.5, (-x+y-z)/sqrt(3)=0.5, (-4y-12z)/sqrt(160)=0.5], [x,y,z])

The numeric solution is:

centerpoint of sphere

= ((1/18)*(-5*sqrt(3)-4*sqrt(6)-sqrt(10)) | (1/6)*(sqrt(3)-sqrt(6)-sqrt(10)) | (1/18)*(-sqrt(3)+sqrt(6)-2*sqrt(10))

≈ (-1.2011 | -0.64662 | -0.31151)

Edit: I've corrected the mistake of putting sqrt(24) instead of sqrt(160) in G.

]]>@Bob: You're welcome. I see you start out with lines, which I do with planes.

Regarding your first and second reply:

Since it is an irregular triangle a line trough the origin, touching the sphere

might not be perpendicular to a line representing a base side.

Or do you think otherwise ?

I tried to put it mathematically:

Is every line, representing a base side and touching the sphere,

perpendicular to the line going through the origin and touching the sphere,

which it crosses, for all irregular triangular pyramids ?

It might work with regular pyramids, tough,

but how would we get to irregular ones from there ?

Following my approach would look like this:

Fist I rename my planes real quick

(starting with E cause German "Ebene", which means plain): AB=E, BC=F, CA=G:

```
Vectors: Hesse Cartesian:
E:x = r( 2|-3|1)+s(-2|-3|1) E:x = (-2x-2y+4z)/sqrt(24) = 0
F:x = r( 2| 0|1)+s( 0| 2|1) F:x = (-x+y-z) /sqrt(3) = 0
G:x = r(-1| 0|1)+s( 0| 1|1) G:x = (-4y-12z) /sqrt(24) = 0
```

Plane intersection lines:

EF:x=r(1|3|2)

EG:x=r(1|-3/5|-1/5)

FG:x=r(1|3/4|-1/4)

Their average vector: V:x=r(1|3.15|1.55)

It should go right through the center of the sphere, right ?

Cause it's lovely out there, I will continue later.

]]>Thanks for replying. A straight line has an equation of the form

where **a** is the position vector for a point on the line, **b** is a vector in the direction of the line and t is a parameter.

As your equations have two parameters (2 degrees of freedom) they define a plane. I wondered if I could use them as the equations of GAB, GBC and GCA where G is the origin but it would be better if the vectors were for **AB, BC ** and **CA**.

After playing around a bit with that, I decided it would be easier to just pick vectors for **AB, BC ** and **CA** at the start.

Even with that I rapidly got into equations with 9 unknowns. But, because of my initial choices the coordinates of O, the centre of the circle, came out easier than I expected. As you will see I still have two unknowns so I haven't been able to uniquely determine O, but I've got close. I'll post what I've done and maybe you'll have some ideas.

Step 1. Choose vectors for **AB, BC ** and **CA**. To save time with the typing I won't keep trying to write the vectors with an overline or in bold.

If AB is a tangent to the sphere then the line from P to the centre must be at right angles to AB. In 2D it would be possible to write a single vector with numbered components for this, but in 3D it's not that simple. Imagine a circular disc pierced by a stick at the centre, at right angles to the disc. Any radiating line in the disc is at right angles to the stick so there are an infinite number of these. But the dot product https://www.mathsisfun.com/algebra/vect … oduct.html enables us to write a general form for these.

Step 2. Write vectors perpendicular to AB, BC and CA.

Now I'll get vectors for AP, BQ and CR where P, Q and R are the points where the tangents touch the sphere.

Step 3. Now to get vectors for AO, BO and CO where O is the centre of the sphere.

Step 4. Finally, as AO = AB + BO and AO = AC = CO I can obtain three versions of AO and these must be equal.

Comparing the x and y components in the second version shows that x = -y and the y and z components in the last, that y = -z.

So

Therefore

As PO is the radius we can use Pythag to write

That's as far as I've got for now. I'll have a check to make sure I haven't slipped up anywhere and try to work out where that leaves us.

Would you believe I've only just thought that all the coordinates ought to be positive. Unfortunately that makes the calculations a lot harder. Apparently you can plot this using Geogebra, so I'll try that first as a way of confirming the process. If that works I'll try alternative coordinates.

Bob

]]>