Did I figure-out z-translation of 2D-coordinates correctly?

Discussion in 'Linear and Abstract Algebra' started by william_, Oct 14, 2024 at 4:04 AM.

  1. william_

    william_

    Joined:
    Monday
    Messages:
    1
    Likes Received:
    0
    I was figuring-out for myself how a screen's x- and y-coordinates are mutated in order to produce the illusion of a 3D-shape in 3D-graphic-design.

    The first attached image shows how I went about this, and I'll here explain it further. So, if we imagine a rectangular screen centrally in front of us 'retreating' from view towards the centre-point of focus (as the upper figure shows) then its corner-vertices will each be drawn to the screen's centre. At any given point it will have an "original screen", which is always what its size would be at z = 0, and a "virtual screen" which would be its shrunken size at z-value greater than 0; in the upper figure on page 1 rectangle B is this "virtual screen" and A the "original screen". This means that for every z-units that the "virtual screen" retreats, its width will decrease by x-units; I arbitrarily set this ratio to be 1:1 in my workings here. So if the "original screen"s width is equal to 10 x-units, and the "virtual screen" then retreats by 1 z-unit, then the "virtual screen"s width will become 9 x-units; the lower figure of page 1 illustrates this, except the "virtual screen" has 'retreated' by 2 z-units rather than 1 in this figure. I imagined that the "virtual screen" was split into 10 columns, and that it would always be thusly split no matter how far it retreated: so if z = 0, then the "original screen" can only fit 10 columns, at z = 1 it can fit 10 + 1.1 columns as there would now be space between the edge of the "original screen" and the "virtual screen"s for extra columns, at z = 4 it can fit 10 + 6.6 and so on. Assuming that, I thought to calculate how many such columns could fit onto the "original screen" for each integer value of z and a given width of the "original screen". Equation 1 in the second attached image shows the formula I used for this, with its graphical-representation shown in the third image ("n" being 10 in that particular instance of that graph). When referring to "x-blocks" in the explanations attached to those equations, I'm referring to the columns that the screen is split into.

    Equation 2 in the second image is equation 1 re-arranged so that z-depth is a function of "x-blocks" or columns.

    I thought then to see how many columns could fit on an "original screen" with a width of 1920 pixels if when z were at its maximum value each column were only 1 pixel wide: the equation 3 on page 2 tells me that the answer is 920, with a maximum z-depth of 480 units, assuming here, as I assumed above, that 1 z-unit is equal to 1 x-unit. [As an aside here, I didn't exactly understand what the falling z-values of that inverted parabola for equation 3 represented...]

    The graphs shown in the third attached image for the first three equations made sense to me, and it seemed that I had found the correct relationship between x-adjustment and z-depth in equation 1: i.e, that x-coordinates would be shifted quickly at first as z would increase, but which shifting would slow dramatically as z were to increase further.

    But I couldn't see exactly how what I'd figured-out thus far translated to single pixels on a screen: i.e., I'd made a model for a "virtual screen" split into "n" number of columns, but couldn't see how that could relax into describing any given pixel on a 1080x1920 screen (I'm not considering the y-axis here, for the sake of simplicity, that will be trivial once I've figured-out the x-z relationship).

    So, I just assumed that equation 1 was the correct equation to use to describe how a single pixel's x-coordinate would be adjusted with increasing z-value, and just guessed that that equation's two variables should be the pixel's original x-coordinate, and the z-value—which z-value would range from 0 to infinity, or rather, ranging between 0 and whatever large value it takes when an x-coordiate's original position is -920 (the edge of the screen) and its final position is 0. I thought that a given pixel's original x-coordinate should be relative to a screen with a width of 1920 pixels, with 0 being at the centre, so its minimum value would be -920 and its maximum 920. Then making a graph of equation 1 again with a constant-slider for "n" that ranged from -920 to 920 I could see that I was probably right in my guess.

    So, having explained all that, I'm asking here whether I have got that right: whether equation 4 in the third image, with "n" ranging from -920 to 920, is correct to use to calculate what a given pixel's adjusted x-value would be as its z-depth were to increase.

    Then, would you be able to explain how you would arrive at that conclusion from a sort-of 'first-principles', just like I did with "x-blocks" and the figures shown in the first image? As, like I said, I had to just make the jump of faith that equation 1 would work for single pixels as it does for "x-blocks" without being able to see exactly how that would be the correct thing to do.

    z maths.jpg


    z maths2.jpg


    z maths3.jpg
     
    william_, Oct 14, 2024 at 4:04 AM
    #1
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.