Skip Navigation

Everyone talks about the 4th dimension, BUT why is 3D geometry so hard for the average person compared to 2D ?

I think 3D geometry has a lot of quirks and has so many results that un_intuitively don't hold up. In the link I share a discussion with ChatGPT where I asked the following:

assume a plane defined by a point A=(x_0,y_0,z_0), and normal vector n=(a,b,c) which doesn't matter here, suppose a point P=(x,y,z) also sitting on the space R^3. Question is:
If H is a point on the plane such that (AH) is perpendicular to (PH), does it follow immediately that H is the projection of P on the plane ?

I suspected the answer is no before asking, but GPT gives the wrong answer "yes", then corrects it afterwards.

So Don't we need more education about the 3D space in highschools really? It shouldn't be that hard to recall such simple properties on the fly, even for the best knowledge retrieving tool at the moment.

63 comments
  • Back in 2001, I wrote my own 3D graphics engine, down to the individual pixel rendering, shading, camera tracking, Z buffer, hell even error diffusion dithering for 256 color palettes.

    And I still don't know half the terms you just used.

    I do know points, polygons, vectors, normals, roll, pitch, yaw, Lambert's Law shading, error diffusion feedback..

    And my Calculus 2 teacher admired my works and told me I had the understanding of a Calculus 4 student.

    • impressive, I'd like to ask abou stuff like how long it took you and stuff. But in this discussion I'd like to mention that I didn't use any complicated terms, only orthogonal projection (middle school) and perpendicularity (elementary school).

      • I started from the ground up in December 1998 with a bare wireframe engine, largely inspired from a demo wireframe engine from another developer. I was 17 years old then so it was basically my after school project, not a school assignment, but my teachers were impressed.

        I didn't quite just copy/paste his code though, I carefully read over his code and comments to the point that I understood how it all worked, and rewrote a much cleaner wireframe engine of my own that supported colored lines and even loading from files, which the original demo didn't support.

        Later on I came across another demo, from the same developer I think, that demonstrated rendering solid triangle shaded 3D models. Again, I read over everything and rewrote everything from the ground up, largely looking to optimize the rendering technique for the highest number of polygons per second, and of course to be able to load different models from file.

        Then I just started having a bit of fun with the polygon rendering, starting with an optimized integer based greyscale gouraud shading algorithm, which ran way faster than any similar demos I could find at the time. Note that this was all CPU driven, no fancy GPU at the time, the 3Dfx Voodoo was still a pretty new thing I couldn't afford..

        Then I got the idea of trying to bring color to the project via error diffusion, since I was basically limited to 320x200x256 color display mode, unless I wanted to run a high end video mode at a snail's pace LOL! Error diffusion is slow though, so how did I speed that up?

        Well, I did away with the gouraud shading and went back to treating each polygon as a single solid RGB color, shaded using the Lambert's Law technique. To speed up the error diffusion process, I'd only process 8 pixels into the diffusion algorithm, then as the polygon rendered, it would just pick randomly from that 8 pixel buffer.

        Since I was programming in QuickBasic, arrays were limited to 64KB each, meaning that memory was very tight, and I actually had to allocate two arrays for the Z Buffer, one for the top half of the screen and another for the bottom half.

        The inspiration for the camera tracking came from a rather unexpected source, a simple mouse string toy demo of all things LOL! I realized that if I used just one segment of that string algorithm, I could link the viewing angle to follow a point in the model, or with some creative adjustments, basically follow any arbitrary point.

        I also made a side project crude CAD scripting thing of sorts, mainly meant to render a torus or sections of a torus with whatever dimensions I wanted. With the right inputs, that also allowed me to easily generate spheres, cylinders, cones and tubes.

        I think I finished the original wireframe engine within just a couple or few days, but the other versions that had filled in polygons probably took me a week to start with, and the more advanced techniques probably took me around 2 months each, all in my spare time of course.

        I didn't really have any final product in mind, I was just experimenting and learning ya know. When 3D GPUs started becoming a big and common thing, I didn't see much future for my little project, but I sure did learn a lot!

  • I can't quite tell what the question is by your image. I have done a lot of descriptive geometry prior to CAD tools coming on the scene, and now work a lot with 3D geometry/topology problems, but what you describe is not going to be taught in schools because 95% of people will never need to know it. Honestly half, to three-quarters, of the people that run 3D CAD don't really understand the geometry; its just a result they get

    • Spoiler alert: the image has no relation to the question, it's just something OP picked to elicit that "3D geometry" feeling. There is a point A', a point B, point C, and point D, but no point P or H or n.

      • my lazyass had it hard to put correct labels. But judging by how many people ignored the proble an are just scolding me for using AI, fair is fair.

    • @TauZero@mander.xyz It is a Geogebra drawing I did to reason with the problem, I took a screenshot of the drawing to attached it.

      • In the drawing, the labels are different from the problem, but I just made a sphere whose diameter is [AP] (here point P has label A, while A has label A'),
      • then constructed the plane using A and two other points of the sphere (C and D in the picture),
        I thought like "if that property from 2D geometry holds in 3D then any point in the intersection of plane and the sphere will satisfy the perpendicularity, and thus two of them will do for a counterexample".
      • And It is exactly what happened: Using Geogebra's tool of measuring angles it shows that the two points, C and D, that I picked up both satisfy the orthogonality condition (in the picture angle(A,C,A')=90°=angle(A,D,A'), but they can't be both the projection of P, right ? Counterexample! (the hypothesis was that a point on a plane that satisfy that condition is immediately THE projection of the point that isn't on the plane)Yeah It is not the best thing but I wanted to attach something, and the drawing that I used was the best thing at hand.
      • Ah, I can see OP's line of thought now:

        • you have a point A' on a plane and a random point A
        • you find a midpoint B and draw a sphere around it. A and A' are now a diameter of the sphere
        • pick two random points D and C at the intersection of the plane and the sphere
        • by the "triangle inscribed in a circle/sphere where one side is a diameter" rule, such a triangle must be a right triangle
        • therefore both angles ACA' and ADA' are right angles
        • thus C and D both satisfy the conditions of the initial question (with all points renamed: A=P, (C or D)=H, A'=A)
        • OP never defined what a projection is, it being "4th grade math", but one of the requirements is being unique
        • C and D cannot both be the projection, therefore the initial question must be answered "false": just because AH is perpendicular to PH doesn't make H a projection.

        I like treating posts as puzzles, figuring out thread by thread WTF they are talking about. But dear OP, let me let you know, your picture and explanation of it are completely incomprehensible to everyone else xD. The picture is not an illustration to the question but a sketch of your search for a counterexample, with all points renamed of course, but also a sphere appearing out of nowhere (for you to invoke the inscribed-triangle-rule, also mentioned nowhere). Your headline question is a non-sequitur, jumping from talking about 4D (never to be mentioned again) into a ChatGPT experiment, into demanding more education in schools. You complain about geometry being hard but also simple. The math problem itself was not even your question, yet it distracted everyone else from whatever it is you were trying to ask. If you ever want to get useful answers from people other than crazed puzzleseekers like me, you'll need to use better communication!

  • Well see, here you have good proof that chatGPT isn't actually "the best knowledge retrieving tool at the moment". ChatGPT (and every other LLM) suuuucks at complicated math, because these text extruders don't reason. Seriously, try out some more complicated math problems. I think you'll find chatGPT gets most of them wrong, and in infuriating ways that make very little sense.

    I don't disagree that we need better math instruction for students. I've been saying this since I was a student. But using chatGPT being horrible at math as evidence of this is, well, ridiculous, frankly. ChatGPT's performance isn't based on how well your average high schooler understands something, and I don't know why you're trying to tie those two very different things together.

    • ChatGPT is trained based on forum discussions and pretty likely pirated books. If it found the idea in a previously established text it would have answered correctly. That's why I DO think it is representative of what the average good student was taught (not how smart, or good at problem solving they be). What's funny is that after reasoning it found the right answer, which is counter intuitive, since ChatGPT is supposed to be good at retrieving information, not at reasoning!

63 comments