ah ! well. I don't use any of the programs that are left handed so I can't say I've ever had to struggle with I/O shenanigans, if that's what you're talking about. But you're leaving me guessing, so not sure what else I can say
Tradition, 3d videogames started doing it like that because of how computers worked 40 years ago, then devs got used to think about 3d space that way and it stuck. Essentially videogames think about visual depth. And yes, the physics engines for videogames usually account for that and use their own transformations of formulas because they are rarely simulating anything more complex than rigid body physics. Advanced simulations aren't any harder for devs, all the transformations are abstracted away with libraries.
In the end they are just reference frames and up is whatever you want it to be. As Wikipedia puts it eloquently: “Unlike most mathematical concepts, the meaning of a right-handed coordinate system cannot be expressed in terms of any mathematical axioms. Rather, the definition depends on chiral phenomena in the physical world, for example the culturally transmitted meaning of right and left hands, a majority human population with dominant right hand, or certain phenomena involving the weak force.”
Not really. Youtuber Acerola has a great series on shader programming and dealing with negative numbers is a non-factor. The advantage of working with computers is that it abstracts that complexity away. You program with high level concepts, a dev rarely deals with direct calculations, unless they are actually writing the fundamental apis for it, like DX or Vulkan. Much less copy-paste formulas. It gets complicated fast, but the abstraction keeps it simple for the developer, like, the math is perhaps the easiest part of programming computer graphics.
Someone else was explaining how to tell left from right handed. Buy why is it important? If you do math and physics, you almost certainly would use a right hand system. That means all formulas are derived with that in mind. If you try to use them in the left handed system, you are going to have a horrible time trying to figure out which of all terms need to have their sign flipped.
I know Z as upward. X and Y were always on the base plane representing length and width. Z comes in being all like, "Now we're being 3D!"
So wherever the "floor" is, represented with gridlines, boundary, canvas, etc. that's where they live. That is Flatland where there is no up or down. It is 2D where most of my work is. If you try tell me Y is Z, I'd ask "wtf is a Z?"
You're mixing up perspective with the object's actual coordinates system. The "left-right-up-down" are your perspective or computer screen and do not define the axes of the object itself. The object has its own.
If I rotate a map on a table, it's X and Y don't suddenly flip. The coordinates belong to the object, I'm just viewing them from a different perspective now.
In mathematics, the Z axis only exists because it's defined as being perpendicular to an existing plane (the plane X and Y form). The gridlines represent that plane and Z's extrusion values reference it. Your perspective or viewing angle don't influence these coordinates at all.
Commonly we face the XY plane down as it's "floor". We build things from the ground up. We draw from top down. It's just how gravity brought the standard around. You can flip it however you want, though. But if you see a grid, that's a plane and Z is extrusion off that.
No. That is not my logic. It's the logic of Rene Descartes who invented the thing you are trying to talk about.
And because gaslighting attempts online are hilarious, I'll assume you just didn't read so good and will repeat myself again; we tend to rest the plane on the floor, as it is in our reality with gravity it is easier to conceive. Like modelling a car, it's wheels on the screen spend most of the time pointed down.
You don't have to. You can model it any direction you want, but most people find it easy in an orientation that mimics common perspective. But however you do it, you still can't have a Z axis without a plane. That's the point. Grid is plane and plane is needed for Z. If you have a grid on Z it's representing an infinitely possible slice through extrusion and that's basically a concept behind some fractals, which introduces a new vector for new XYZ points within.
I know you really want to be right but this is very long-standing foundational and basic stuff we just do. It isn't my logic or opinion, I'm sharing this knowledge to you, something you can very easily look up yourself right now and forget I even exist—which would be neat.
But what if instead of adding a third dimension by going UP, you add a third dimension by going FORWARD. Like a computer screen, X and Y coordinates are side-to-side and up-and-down. If you made a volumetric display by adding a third dimension to that, Y would be up and Z would be forward.
I usually think of Z as up, because that’s how stuff based on the physical world usually works. But I can understand why some think of it with Y as up.
Third dimension isn't up, it's just not X or Y. We just say "height" or synonyms for it because we say "length and width" for X and Y, even though all axis are just length between vectors proceeding in order of being able to exist, X, Y, then Z.
If you are plotting your perspective, it will run on entirely different coordinates to an object's coordinates, i.e. Camera vs Object stricture. But in most arts and all math, we tend to model the object and it's values which we create and assign to it as attributes, not with values of how it should look from various perspectives.
I think that's the confusion. You could get used to the Z being treated as Y, but it's incomparable with everything else and you'd have to now confirm with other's that length and width are X and Z and extrusions from 2D plane are Y. This doesn't occur much anywhere else. This is the whole premise behind the meme. Arguing between standards when one is universal, the other is niche but those that have only learned the niche one are adamant the universal one is wrong.
I legit had no idea anybody actually used the upper system until now.
I had to read the comments just to see whether the upper system was just some sort of joke.
I am horrified.
If you're thinking of a side scroller like the original Super Mario, Y is up/down and X is left/right making the new dimention Z being forward/backward.
However if you think of 2D space like the first LoZ, then Y is North/South and X is East/West making Z up/down
In animation and visual effects, the tradition is to use Y as the “up” or elevation axis, with X and Z as the “ground” axes. However, some other industries traditionally use Z as the up axis and X and Y as the ground axes.
Z is elevation. Any real world application, z goes up down. 3D applications SHOULD use it for elevation. I despise that many do not. It's so fucking confusing. 2D, sure y go brrr. But once that 3rd dimension is added, y needs to take several seats and quit trying to take on dimensions it doesn't have any right to.
True but I think it’s also because of screen coordinates, Y is always the vertical axis in screen coordinates. So programmers translated that to 3D coordinates because in real world space the screen doesn’t lie flat but is up right. It’s probably why Y is up in OpenGL and calls the depth buffer the Z-Buffer.
That's the core of my point though. Once you add depth it's not 2d space anymore (even though the screen is 2d, the represented field is 3D) and y becomes depth.
It all depends how you perceive the XY plane. Like if your job involves blueprints than XY plane lies flat and horizontal then it makes sense that Z axis is height. Hence why engineering software is all Z-Up. If the XY plane is upright, like screen coordinates, then Z is depth. Hence why many software that is used to create content for the screen is Y-Up. Like Maya, Houdini, Unity, OpenGL etc.
It makes more sense if you've ever drawn in CAD. Top view, x and y. Now side view, y and z or y and x. You look down on x and y, and if you are extruding you now create the z axis dimensions. For the people who draft on the side axis: you are true psychos (ok, unless you're using a lathe I suppose, or if the silhouette is more defined from the side... ok maybe not psycho, just odd)
I do use CAD software but always have my items resting on an x/y plane with z being height. I do some 3d printing and basic cad designs, so z being elevation still makes sense there.
One of my friends and I used to always have this debate because of our different backgrounds. I got used to +Y being up because of doing physics for several years and seeing side-on diagrams that needed to account for gravity. My friend has a background in geology, so he's used to top-down surveying maps where +Z is up. It all depends on your perspective.
But my way is right. We need to have standards, people.
Z is always depth. Both are correct but define different perspectives. Top is looking across the landscape from an arbitrary floating perspective, bottom is looking down with anchored mapping to the surface.
yep. in 2 dimensions, nobody really debates on whether x or y should point up, so i kinda think the debate about z stems from whether one thinks we should put the xy plane horizontally (like a sheet of paper on a desk), or vertically (like a chalkboard).
does any software default to making x be the vertical axis?
Smh I was fine with both. The upper one reminded me of the X Y axis we use to represent functions in maths. While the lower one represents altitude on a 3D map.
Good answer. Many posts are people saying "my approach is the right one, other people are irredeemable morons who should burn in hell", but you're right, it depends on your perspective.
It's easier when writing 3d renderers cause the x and y coordinates of the 3d points eventually become the x and y coordinates of the 2d points on screen and it's easier to keep track of
No, the bottom image correctly follows the right hand rule (1,2,3=x, y, z on your thumb and two fingers at right angles), whereas the top one is wrong because it doesn't. It would be OK if the z axis in the top one pointed towards us. Top one would be a mirror image as well as rotation of the bottom one.
Right, that's what I said: if Z in the top image were pointing the opposite direction (i.e. if it followed the right hand rule), it would be the same as the bottom image. Rotation is irrelevant; only handedness matters.
My son and I have had this very argument. I think the top one is right as he thinks it's the bottom one. I have a coding background and he has a 3D printing background. I figure that's why we're different but I know nothing about 3D printing beyond the cool stuff I see on the Internet and things he's printed for me.
My "page" is my monitor's screen, a window into many virtual worlds that extend past the plane of my screen.
Actually, my screen is a curved surface. So the 3d virtual world is projected onto a 2d plane which is then projected back onto a 3d curved screen. The math to make it look correct in the final projection is different from what makes it look correct on a flat screen, though I don't know if any renderers actually do this correction. Not that I think the difference is huge.
Weird didn't everyone learn XY on paper on a desk first? All they did was add z axis to that original concept for elevation which gives us the bottom image.
Top image is like if I held paper straight parallel to my face.
That's basically what it comes down to: Is your XY plane a piece of paper that you look at from the top, or is it the pixel coordinates of the screen you are looking through?
That's why X is usually not contested, because it's the same on a piece of paper that you view top-down and on a screen that you view from the front.
Y is then one of the two potential axies for either a top-down or a side-scrolling view, and Z is the remaining axis.
I not educated in 2d game design so I guess Y is used for up on side strollers is what I think is happening. Least thats what is going on in gadot based on anothet commenter.
In 2D games X is right, Y is either up or down. I haven't seen any engine where X is inverted, but Y can be either direction. Interestingly, I haven't seen Y as down in any 3D environment yet.
didn't everyone learn XY on paper on a desk first?
No. I was plugging in crazy combinations of r, theta, x, y, z, t, and anything else shown in the built-in demo of that old Mac 3D graphing calculator app years before my teachers got to explaining coordinate systems. I had no idea what most of it meant, but I could make cool looking animated graphics as a third grader...
Also, I found GameMaker which introduced me to using X to the right and Y down in 2D (with the origin in the top-left corner) before algebra was taught to me in school...
Screens vs paper. It's why all the engineering software uses Z-up, since they came from a paper top-down view workflow. But many of the creative software uses y-up, since they exist to create art that gets consumed on a screen. Like animation and games.
Blender and UE4 uses z as up. Which was intuitive to me having been taught that in school but Looks like industry standard for 2d focused engines use Y up based on this comment from 2009. What a mess.
Maya and Unity both use the lefthand axis system which has Y as world up. Max is the one of the few that uses Z as up (DOH!!)
2022 comment:
Maya is fully able to translate between its own (Y up) and UE4’s (Z up) on export, so you can work “upright” in both without any alterations.
I've never heard of Y pointing up. Z is always up. Unless you're talking about lathes, where Z points to the right and X points up. Whoever came up with that, I hope his frying in hell.
I have nothing against y pointing up, but I loathe the fact that left-handed coordinate systems are somehow considered an ok choice. This is probably the strongest I feel about something so inconsequential but I'll die on that hill.
Technically, there's a lot more options. Any axis can have any name. The reason why these two main systems exist is because of 2D coordinates.
A 2D coordinate system can either be viewed top-down (piece of paper on a table) or from the front (pixels on a screen). So while X stays the same in both of these options (and thus isn't contested in 3D coordinates), Y is either up (on a screen) or ahead (on paper), and Z then gets whatever axis is left over.
This reminds me of the time when I was in an industry robotics, there were a right hand rule where Z was your thumb up and X and Y your index and middle fingers. So I think the second one is the right, but it should have been drawn other way round.
That's still just convention. In cartesian systems the only requirement is that x and y are orthogonal.
When you add a third dimension, and additional concern arises being what direction of z is the positive one. You'll notice the two examples are not the same, if you flip either one so the x/y line up, there is still disagreement about which direction z is pointing.
For me it's the top one. In a web browser, when using CSS and JavaScript, x is the horizontal axis, y is the vertical axis, and z is for depth. Hence the z-index CSS property which determines depth.
I would say the bottom one only makes sense if the stick figure were to hover in the air and look downwards. Then the z axis would be depth for him.
The thing about web pages though is they're primarily 2D, with height /depth as an extension. That stick figure is "standing" in the "flatland" xy plane in the top picture, and has no height or depth from my point of view, where Z is canonically height/depth.
The top is a left-oriented coordinate system (because the axes follow the left-hand rule, not the right hand rule). Doing anything related to e.g. physics in such a coordinate system is a pain.
It's all stupid. I remember a bunch of times a Physics teacher in university using her hand and saying some weird stuff and having no idea what she was talking about, without context or heaving ever heard about her "weird trick".
208 Comments
rescue_toaster@lemmy.zip · 92 pts · 263d
Top one is incorrect. Z needs to point outwards.
AllYourSmurf@lemmy.world · 65 pts · 263d
There are three kinds of people…
pennomi@lemmy.world · 132 pts · 263d
lime@feddit.nu · 28 pts · 263d
unreal georg is an anomaly and should not be counted
Windex007@lemmy.world · 2 pts · 263d
cepelinas@sopuli.xyz · 16 pts · 263d
Z up all the way because my 3d printer but why is Minecraft y-up D:
JPAKx4@piefed.blahaj.zone · 3 pts · 263d
I may be wrong, but I believe mc Java is left handed and bedrock is right handed, both with Y as height
cepelinas@sopuli.xyz · 1 pts · 263d
I don't really play bedrock and on Java I don't really pay attention to the coords.
Hadriscus@jlai.lu · 14 pts · 263d
Unreal Engine is switching to Y-up
https://x.com/TimSweeneyEpic/status/1930678660098408669
ZoteTheMighty@lemmy.zip · 3 pts · 263d
That's...not the problematic part there, like at all.
Hadriscus@jlai.lu · 2 pts · 263d
There's a problematic part ?
ZoteTheMighty@lemmy.zip · 4 pts · 262d
A left handed coordinate system is absolute blasphemy.
Hadriscus@jlai.lu · 1 pts · 262d
ah ! well. I don't use any of the programs that are left handed so I can't say I've ever had to struggle with I/O shenanigans, if that's what you're talking about. But you're leaving me guessing, so not sure what else I can say
pennomi@lemmy.world · 2 pts · 263d
Hadriscus@jlai.lu · 4 pts · 263d
Personally I feel limited if I'm working in anything else than a non-euclidean coordinate system
ICastFist@programming.dev · 8 pts · 263d
Dwarf Fortress goes with Blender and the others
30p87@feddit.org · 6 pts · 263d
Also Minecraft in Y-Up
potatoguy@lemmy.eco.br · 5 pts · 263d
dustyData@lemmy.world · 11 pts · 263d
Tradition, 3d videogames started doing it like that because of how computers worked 40 years ago, then devs got used to think about 3d space that way and it stuck. Essentially videogames think about visual depth. And yes, the physics engines for videogames usually account for that and use their own transformations of formulas because they are rarely simulating anything more complex than rigid body physics. Advanced simulations aren't any harder for devs, all the transformations are abstracted away with libraries.
In the end they are just reference frames and up is whatever you want it to be. As Wikipedia puts it eloquently: “Unlike most mathematical concepts, the meaning of a right-handed coordinate system cannot be expressed in terms of any mathematical axioms. Rather, the definition depends on chiral phenomena in the physical world, for example the culturally transmitted meaning of right and left hands, a majority human population with dominant right hand, or certain phenomena involving the weak force.”
potatoguy@lemmy.eco.br · 2 pts · 263d
dustyData@lemmy.world · 4 pts · 263d
Not really. Youtuber Acerola has a great series on shader programming and dealing with negative numbers is a non-factor. The advantage of working with computers is that it abstracts that complexity away. You program with high level concepts, a dev rarely deals with direct calculations, unless they are actually writing the fundamental apis for it, like DX or Vulkan. Much less copy-paste formulas. It gets complicated fast, but the abstraction keeps it simple for the developer, like, the math is perhaps the easiest part of programming computer graphics.
Eldritch@piefed.world · 2 pts · 263d
Ace is a decent watch. Shit post quality video energy, that's information dense. Always gonna second an Acerola suggestion.
potatoguy@lemmy.eco.br · 2 pts · 263d
Fmstrat@lemmy.world · 4 pts · 262d
Invalid diagram. FreeCAD demands representation.
someguy3@lemmy.world · 3 pts · 263d
I'm not getting left handed vs right handed. Right handed means negative values go right? Why would anyone do that?
grue@lemmy.world · 7 pts · 263d
Right handed means that when you curl the fingers on your right hand from +X towards +Y, your thumb points towards +Z.
mumblerfish@lemmy.world · 3 pts · 263d
Someone else was explaining how to tell left from right handed. Buy why is it important? If you do math and physics, you almost certainly would use a right hand system. That means all formulas are derived with that in mind. If you try to use them in the left handed system, you are going to have a horrible time trying to figure out which of all terms need to have their sign flipped.
pennomi@lemmy.world · 2 pts · 263d
jaybone@lemmy.zip · 2 pts · 263d
But then should the little axis depictions in OP be swapped?
pennomi@lemmy.world · 3 pts · 263d
etuomaala@sopuli.xyz · 2 pts · 263d
Oh dear Lord.
saltesc@lemmy.world · 16 pts · 263d
I know Z as upward. X and Y were always on the base plane representing length and width. Z comes in being all like, "Now we're being 3D!"
So wherever the "floor" is, represented with gridlines, boundary, canvas, etc. that's where they live. That is Flatland where there is no up or down. It is 2D where most of my work is. If you try tell me Y is Z, I'd ask "wtf is a Z?"
pennomi@lemmy.world · 4 pts · 263d
saltesc@lemmy.world · 1 pts · 263d
You're mixing up perspective with the object's actual coordinates system. The "left-right-up-down" are your perspective or computer screen and do not define the axes of the object itself. The object has its own.
If I rotate a map on a table, it's X and Y don't suddenly flip. The coordinates belong to the object, I'm just viewing them from a different perspective now.
In mathematics, the Z axis only exists because it's defined as being perpendicular to an existing plane (the plane X and Y form). The gridlines represent that plane and Z's extrusion values reference it. Your perspective or viewing angle don't influence these coordinates at all.
Commonly we face the XY plane down as it's "floor". We build things from the ground up. We draw from top down. It's just how gravity brought the standard around. You can flip it however you want, though. But if you see a grid, that's a plane and Z is extrusion off that.
pennomi@lemmy.world · 3 pts · 263d
saltesc@lemmy.world · -2 pts · 263d
No. That is not my logic. It's the logic of Rene Descartes who invented the thing you are trying to talk about.
And because gaslighting attempts online are hilarious, I'll assume you just didn't read so good and will repeat myself again; we tend to rest the plane on the floor, as it is in our reality with gravity it is easier to conceive. Like modelling a car, it's wheels on the screen spend most of the time pointed down.
You don't have to. You can model it any direction you want, but most people find it easy in an orientation that mimics common perspective. But however you do it, you still can't have a Z axis without a plane. That's the point. Grid is plane and plane is needed for Z. If you have a grid on Z it's representing an infinitely possible slice through extrusion and that's basically a concept behind some fractals, which introduces a new vector for new XYZ points within.
I know you really want to be right but this is very long-standing foundational and basic stuff we just do. It isn't my logic or opinion, I'm sharing this knowledge to you, something you can very easily look up yourself right now and forget I even exist—which would be neat.
pennomi@lemmy.world · 1 pts · 262d
TheRealKuni@piefed.social · 3 pts · 263d
But what if instead of adding a third dimension by going UP, you add a third dimension by going FORWARD. Like a computer screen, X and Y coordinates are side-to-side and up-and-down. If you made a volumetric display by adding a third dimension to that, Y would be up and Z would be forward.
I usually think of Z as up, because that’s how stuff based on the physical world usually works. But I can understand why some think of it with Y as up.
saltesc@lemmy.world · 1 pts · 263d
Third dimension isn't up, it's just not X or Y. We just say "height" or synonyms for it because we say "length and width" for X and Y, even though all axis are just length between vectors proceeding in order of being able to exist, X, Y, then Z.
If you are plotting your perspective, it will run on entirely different coordinates to an object's coordinates, i.e. Camera vs Object stricture. But in most arts and all math, we tend to model the object and it's values which we create and assign to it as attributes, not with values of how it should look from various perspectives.
I think that's the confusion. You could get used to the Z being treated as Y, but it's incomparable with everything else and you'd have to now confirm with other's that length and width are X and Z and extrusions from 2D plane are Y. This doesn't occur much anywhere else. This is the whole premise behind the meme. Arguing between standards when one is universal, the other is niche but those that have only learned the niche one are adamant the universal one is wrong.
CileTheSane@lemmy.ca · 0 pts · 262d
Z always points outwards
Teepo@sh.itjust.works · 40 pts · 263d
The top one is wrong because it violates the right hand rule.
cmhe@lemmy.world · 9 pts · 263d
Z should be inverted in the top picture.
Teepo@sh.itjust.works · 1 pts · 262d
Agreed. That would be totally valid.
tetris11@feddit.uk · 0 pts · 263d
go home programmer, math does not need you!
NigelFrobisher@aussie.zone · 8 pts · 263d
What about the left hand rule?
Teepo@sh.itjust.works · 2 pts · 262d
Vector mathematics as we use it and code it is based on the right hand rule.
victorz@lemmy.world · 2 pts · 263d
Giggety
etuomaala@sopuli.xyz · 38 pts · 263d
I legit had no idea anybody actually used the upper system until now. I had to read the comments just to see whether the upper system was just some sort of joke. I am horrified.
drcobaltjedi@programming.dev · 22 pts · 263d
It depends on how you view 2D->3D.
If you're thinking of a side scroller like the original Super Mario, Y is up/down and X is left/right making the new dimention Z being forward/backward.
However if you think of 2D space like the first LoZ, then Y is North/South and X is East/West making Z up/down
humorlessrepost@lemmy.world · 6 pts · 263d
Same with CSS for the same reason.
ChairmanMeow@programming.dev · 15 pts · 263d
Almost the entirety of computer graphics uses the z coordinate for depth afaik.
Even Minecraft does it.
dev_null@lemmy.ml · 3 pts · 263d
Yeah, and for a top-down game depth is up/down. You know, like depth being... Deep down.
Knoxvomica@lemmy.ca · 6 pts · 263d
As someone who looks at this from a GIS / cartographic view, the top option being possible is horrific to me.
blockheadjt@sh.itjust.works · 5 pts · 263d
Surely you mean the bottom one
KyuubiNoKitsune@lemmy.blahaj.zone · 2 pts · 263d
https://help.autodesk.com/view/MAYAUL/2024/ENU/?guid=GUID-FDC58F4E-63B9-4012-B232-5F2FBAC5EAC9
Y-up and Z-up
In animation and visual effects, the tradition is to use Y as the “up” or elevation axis, with X and Z as the “ground” axes. However, some other industries traditionally use Z as the up axis and X and Y as the ground axes.
JigglySackles@lemmy.world · 32 pts · 262d
Z is elevation. Any real world application, z goes up down. 3D applications SHOULD use it for elevation. I despise that many do not. It's so fucking confusing. 2D, sure y go brrr. But once that 3rd dimension is added, y needs to take several seats and quit trying to take on dimensions it doesn't have any right to.
SkunkWorkz@lemmy.world · 7 pts · 262d
Y-up sorta makes sense in games. Imagine a 2D platformer, Y is up and X is horizontal. Now add depth. Instead of flipping axis just use Z for depth.
boonhet@sopuli.xyz · 5 pts · 262d
But in top down 2D games you also use X and Y but now neither is up
SkunkWorkz@lemmy.world · 1 pts · 262d
True but I think it’s also because of screen coordinates, Y is always the vertical axis in screen coordinates. So programmers translated that to 3D coordinates because in real world space the screen doesn’t lie flat but is up right. It’s probably why Y is up in OpenGL and calls the depth buffer the Z-Buffer.
JigglySackles@lemmy.world · 1 pts · 261d
That's the core of my point though. Once you add depth it's not 2d space anymore (even though the screen is 2d, the represented field is 3D) and y becomes depth.
SkunkWorkz@lemmy.world · 2 pts · 261d
It all depends how you perceive the XY plane. Like if your job involves blueprints than XY plane lies flat and horizontal then it makes sense that Z axis is height. Hence why engineering software is all Z-Up. If the XY plane is upright, like screen coordinates, then Z is depth. Hence why many software that is used to create content for the screen is Y-Up. Like Maya, Houdini, Unity, OpenGL etc.
unphazed@lemmy.world · 5 pts · 262d
It makes more sense if you've ever drawn in CAD. Top view, x and y. Now side view, y and z or y and x. You look down on x and y, and if you are extruding you now create the z axis dimensions. For the people who draft on the side axis: you are true psychos (ok, unless you're using a lathe I suppose, or if the silhouette is more defined from the side... ok maybe not psycho, just odd)
BanMe@lemmy.world · 3 pts · 262d
User look sideways at item on shelf. Designers look down on paper. Both viewpoints are needed for it to be a good object.
Architects do both because they have all that math and something serious to prove.
JigglySackles@lemmy.world · 2 pts · 262d
I do use CAD software but always have my items resting on an x/y plane with z being height. I do some 3d printing and basic cad designs, so z being elevation still makes sense there.
laranis@lemmy.zip · 4 pts · 262d
You convinced me. Have an internet point.
JigglySackles@lemmy.world · 2 pts · 262d
Lol I was just ranting into the void but glad it resonated for you.
mr_account@lemmy.world · 32 pts · 263d
One of my friends and I used to always have this debate because of our different backgrounds. I got used to +Y being up because of doing physics for several years and seeing side-on diagrams that needed to account for gravity. My friend has a background in geology, so he's used to top-down surveying maps where +Z is up. It all depends on your perspective.
But my way is right. We need to have standards, people.
ramble81@lemmy.zip · 9 pts · 263d
Standards?
mr_account@lemmy.world · 5 pts · 263d
Knew exactly which one it was before clicking on it
foggy@mander.xyz · 1 pts · 262d
I'm like your friend, but my perspective is from the atmospheric sciences. The z-axis is anything vertical.
I wonder if all earth sciences are like this?
Bazell@lemmy.zip · 31 pts · 263d
No, there are 3 actually:
tetris11@feddit.uk · 12 pts · 263d
damn Australians
Venat0r@lemmy.world · 1 pts · 263d
I use all of them depending on what the coordinates are representing...
https://www.youtube.com/watch?v=b1AQjcmzvx8
RememberTheApollo_@lemmy.world · 26 pts · 263d
Thanks to 3D printing Z is firmly “up” in my brain even if the modeler I use does it differently.
driving_crooner@lemmy.eco.br · 16 pts · 263d
If 2d, Y up, if 3d Z up.
I always tough as inputs down, answer up. And usually, x is the variable y the result, or xy the variables and z the result
Sir_Premiumhengst@lemmy.world · 1 pts · 263d
Oh. Agree, also use the same convention; my brain never made the connection f(i, j) goes up and i and j are inputs and stay down.
Tattorack@lemmy.world · 23 pts · 263d
Yeah... As a Blender 3D artist, Z axis has been baked into my brain as the up/down axis.
olafurp@lemmy.world · 7 pts · 263d
"baked" pun intended maybe?
Tattorack@lemmy.world · 3 pts · 263d
Always bake.
WhiskyTangoFoxtrot@lemmy.world · 3 pts · 263d
I've been making models in Blender to import into Godot so I have to constantly switch.
Tattorack@lemmy.world · 1 pts · 263d
I have experienced this. It was pretty confusing at first.
loie@lemmy.world · 21 pts · 263d
In my brain Z is Up, Z is Height. In my job I have to deal with both all the time which is quite annoying.
DmMacniel@feddit.org · 4 pts · 263d
is it though when you look at a screen?
simbico@lemmy.zip · 20 pts · 263d
In 2D Y is up, in 3D Z is up.
X is always red🤷♂️
WhiskyTangoFoxtrot@lemmy.world · 12 pts · 263d
On Nintendo X is up. On Xbox X is left. On Playstation X is down.
blockheadjt@sh.itjust.works · 4 pts · 263d
Nintendo couldn't even agree with themselves. On GameCube X is right.
4am@lemmy.zip · 11 pts · 263d
I’m from a computer graphics background.
Y is down. z is depth. Fight me.
simbico@lemmy.zip · 11 pts · 263d
You're on, just send the coords!
4am@lemmy.zip · 5 pts · 263d
Wait why are you on the ISS?
L0rdMathias@sh.itjust.works · 19 pts · 263d
Z is always depth. Both are correct but define different perspectives. Top is looking across the landscape from an arbitrary floating perspective, bottom is looking down with anchored mapping to the surface.
juliebean@lemmy.zip · 5 pts · 263d
yep. in 2 dimensions, nobody really debates on whether x or y should point up, so i kinda think the debate about z stems from whether one thinks we should put the xy plane horizontally (like a sheet of paper on a desk), or vertically (like a chalkboard).
does any software default to making x be the vertical axis?
isar@lemmy.ml · 3 pts · 263d
Smh I was fine with both. The upper one reminded me of the X Y axis we use to represent functions in maths. While the lower one represents altitude on a 3D map.
moderatecentrist@feddit.uk · 1 pts · 262d
Good answer. Many posts are people saying "my approach is the right one, other people are irredeemable morons who should burn in hell", but you're right, it depends on your perspective.
deHaga@feddit.uk · 1 pts · 263d
Invert y axis is the first option I tick in every game
Smoogs@lemmy.world · 2 pts · 263d
Spent most my life working in a 3d environment... need to reverse that thing for a controller every single time
olafurp@lemmy.world · 18 pts · 263d
In a 2D game Y is up. Going from 2D to 3D would make sense to add another dimension forward to account for depth.
However if you start with a map of a 3D surface then North is Y and East is X you'd add Z to account for elevation like everybody making maps would.
I guess it depends on how you look at it.
zeca@lemmy.ml · 0 pts · 263d
Yes, but please just make it follow the right hand rule...
ChairmanMeow@programming.dev · 4 pts · 263d
Which one?
(Technically all the same, I know).
zeca@lemmy.ml · 2 pts · 263d
The first? I dont know... They all look weird since the finger axes dont intersect properly.
KSPAtlas@sopuli.xyz · 15 pts · 263d
y-up ftw
It's easier when writing 3d renderers cause the x and y coordinates of the 3d points eventually become the x and y coordinates of the 2d points on screen and it's easier to keep track of
dev_null@lemmy.ml · 4 pts · 263d
Except when you are working on top-down game/3D environment. In which case you are constantly changing between Z and Y...
victorz@lemmy.world · 2 pts · 263d
Indeed, depth buffers etc are from the z coordinate.
Also on the web, the "z-index" is the depth of elements in the world of CSS.
I wonder in which contexts y would make more sense as the depth.
Natanael@infosec.pub · 1 pts · 262d
Isometric 3D top down games
mvirts@lemmy.world · 14 pts · 263d
Don't forget the handedness of each coordinate system!
Wirlocke@lemmy.blahaj.zone · 14 pts · 262d
X is up, there now no one is happy.
rami@ani.social · 2 pts · 262d
I'm came here to talk shit about y-up but now I'm mad at you instead.
Redex68@lemmy.world · 13 pts · 262d
I'll leave this here for context (bottom right is the only sane one)
BuboScandiacus@mander.xyz · 1 pts · 261d
Minecraft being the most influential of them all
KingGimpicus@sh.itjust.works · 13 pts · 263d
The second fellow is a machinist, like me.
CetaceanNeeded@lemmy.world · 1 pts · 263d
Yes! Except when using a lathe...
KingGimpicus@sh.itjust.works · 2 pts · 263d
I mean a lathe doesn't really have a y axis tho. Tool height is just tool height. Even on a vertical lathe you usually only have x and z.
khepri@lemmy.world · 11 pts · 262d
Z is depth, full stop, and I have my fists raised, Queensbury-style, to anyone who contends otherwise.
spicehoarder@lemmy.zip · 1 pts · 262d
PearOfJudes@lemmy.ml · 11 pts · 263d
Minecraft
t0fr@lemmy.ca · 10 pts · 263d
There are clearly more than two. In the top image that z-axis is pointing in the wrong direction.
grue@lemmy.world · 1 pts · 263d
Z pointing in the other direction is the same as the bottom image, just rotated.
davidagain@lemmy.world · 3 pts · 263d
No, the bottom image correctly follows the right hand rule (1,2,3=x, y, z on your thumb and two fingers at right angles), whereas the top one is wrong because it doesn't. It would be OK if the z axis in the top one pointed towards us. Top one would be a mirror image as well as rotation of the bottom one.
grue@lemmy.world · 2 pts · 263d
Right, that's what I said: if Z in the top image were pointing the opposite direction (i.e. if it followed the right hand rule), it would be the same as the bottom image. Rotation is irrelevant; only handedness matters.
davidagain@lemmy.world · 1 pts · 263d
Oh I'm so sorry, I misunderstood you completely; now that I reread it, I see I have been a dufus!
t0fr@lemmy.ca · 1 pts · 263d
I think the comic is trying to illustrate the difference between people who consider Y to be the vertical axis or z to be the vertical axis.
I think the right hand rule vs left hand rules coordinate systems was a mistake.
BallShapedMan@lemmy.world · 10 pts · 263d
My son and I have had this very argument. I think the top one is right as he thinks it's the bottom one. I have a coding background and he has a 3D printing background. I figure that's why we're different but I know nothing about 3D printing beyond the cool stuff I see on the Internet and things he's printed for me.
ccunning@lemmy.world · 10 pts · 263d
I have a looking-at-the-chalkboard-in-highschool background which I’m pretty sure defines my perspective(heh).
Axolotl_cpp@feddit.it · 5 pts · 263d
Probably because he uses Blender which invert Z and Y axes or maybe because it's related to the nozzle POV
BallShapedMan@lemmy.world · 1 pts · 263d
That makes sense!
wizzor@sopuli.xyz · 5 pts · 263d
Reading this I realized both are correct, for coding the top one, for 3d printing the bottom one.
Somehow the whole thing makes more sense in 3d printing when you move in xy dimension during the layer and z between them.
BallShapedMan@lemmy.world · 1 pts · 263d
That makes sense!
kn0wmad1c@programming.dev · 3 pts · 263d
I have been coding for over 20 years and the bottom one is more correct to me.
X and Y need to be on the same plane.
ramble81@lemmy.zip · 4 pts · 263d
X and Y are on the same plane in both examples.
kn0wmad1c@programming.dev · 9 pts · 263d
I'm the bottom person. X and Y need to be on the same plane.
jacksilver@lemmy.world · 9 pts · 263d
Technically, regardless of dimensions, x and y always make/share a plane.
But I agree with you, I always imagine Z as jutting out from the plane x and y make.
_stranger_@lemmy.world · 1 pts · 263d
🤯
zeca@lemmy.ml · 2 pts · 263d
In both cases X and Y are on the same plane. Any two axes that intersect in a point share a plane.
mad_lentil@lemmy.ca · 9 pts · 262d
Above and below the page/plane is the z-axis.
But some people "hold" the page up in front of them, or down on the table.
Buddahriffic@lemmy.world · 3 pts · 262d
My "page" is my monitor's screen, a window into many virtual worlds that extend past the plane of my screen.
Actually, my screen is a curved surface. So the 3d virtual world is projected onto a 2d plane which is then projected back onto a 3d curved screen. The math to make it look correct in the final projection is different from what makes it look correct on a flat screen, though I don't know if any renderers actually do this correction. Not that I think the difference is huge.
Brosplosion@lemmy.zip · 9 pts · 262d
Neither of these are right. X is forward, Y is to the right and Z is down.
Source: https://iansguides.com/tutorials/aircraft-coordinate-system-and-anatomy/
socsa@piefed.social · 9 pts · 263d
<i,j,k> vector master race.
dondelelcaro@lemmy.world · 9 pts · 263d
Unless you're into magnetic resonance and use rotating frames:
swagmoney@lemmy.ca · 8 pts · 262d
ah yes the correct way and the Minecraft way
KelvarCherry@lemmy.blahaj.zone · 3 pts · 262d
I clicked on this post to say Y is always elevation because I grew up playing Minecraft.
marcos@lemmy.world · 8 pts · 263d
Using left-handed coordinates systems is just mean!
PumpkinEscobar@lemmy.world · 2 pts · 263d
There are now four kinds of people
Postmortal_Pop@lemmy.world · 8 pts · 263d
I hate this so much in the 3d printing world. I want it to graph from the angle I'm watching it, not from the angle the nozzle is.
Spacehooks@reddthat.com · 8 pts · 262d
Weird didn't everyone learn XY on paper on a desk first? All they did was add z axis to that original concept for elevation which gives us the bottom image.
Top image is like if I held paper straight parallel to my face.
homura1650@lemmy.world · 10 pts · 262d
When working in 2 dimensions with gravity, it is common to treat Y as up. E.g, 2d video games, physics problems, computer screens.
squaresinger@lemmy.world · 8 pts · 262d
That's basically what it comes down to: Is your XY plane a piece of paper that you look at from the top, or is it the pixel coordinates of the screen you are looking through?
That's why X is usually not contested, because it's the same on a piece of paper that you view top-down and on a screen that you view from the front.
Y is then one of the two potential axies for either a top-down or a side-scrolling view, and Z is the remaining axis.
Spacehooks@reddthat.com · 1 pts · 262d
I not educated in 2d game design so I guess Y is used for up on side strollers is what I think is happening. Least thats what is going on in gadot based on anothet commenter.
squaresinger@lemmy.world · 2 pts · 261d
In 2D games X is right, Y is either up or down. I haven't seen any engine where X is inverted, but Y can be either direction. Interestingly, I haven't seen Y as down in any 3D environment yet.
jaupsinluggies@feddit.uk · 4 pts · 262d
Well no. First the teacher drew it on the board, hence Y pointing up at the ceiling.
Then we switched to paper and discovered Y pointing somewhere else was somehow the same thing.
So the right answer to the OP is probably that "they're the same picture" meme.
e0qdk@reddthat.com · 1 pts · 262d
No. I was plugging in crazy combinations of r, theta, x, y, z, t, and anything else shown in the built-in demo of that old Mac 3D graphing calculator app years before my teachers got to explaining coordinate systems. I had no idea what most of it meant, but I could make cool looking animated graphics as a third grader...
Also, I found GameMaker which introduced me to using X to the right and Y down in 2D (with the origin in the top-left corner) before algebra was taught to me in school...
Spacehooks@reddthat.com · 2 pts · 262d
Epic mate
SkunkWorkz@lemmy.world · 1 pts · 262d
Screens vs paper. It's why all the engineering software uses Z-up, since they came from a paper top-down view workflow. But many of the creative software uses y-up, since they exist to create art that gets consumed on a screen. Like animation and games.
Spacehooks@reddthat.com · 1 pts · 262d
Blender and UE4 uses z as up. Which was intuitive to me having been taught that in school but Looks like industry standard for 2d focused engines use Y up based on this comment from 2009. What a mess.
2022 comment:
hOrni@lemmy.world · 8 pts · 263d
I've never heard of Y pointing up. Z is always up. Unless you're talking about lathes, where Z points to the right and X points up. Whoever came up with that, I hope his frying in hell.
Klear@quokk.au · 7 pts · 263d
Screen coordinates work like this because they are 2D. X for horizontal, Y for vertical.
Oh, you need to sort your 2D graphics to figure out how to handle overlaps? Z it is!
Zwiebel@feddit.org · 1 pts · 263d
My dude there is no up down and right outside of the coordinate system, since the coordinate system defines where up and down is
pennomi@lemmy.world · 3 pts · 263d
Hadriscus@jlai.lu · 8 pts · 263d
x in red and z in blue please..., this is difficult to look at. My conventions !
iamdefinitelyoverthirteen@lemmy.world · 8 pts · 263d
I am the latter, because if I draw a X-Y plane and lay it on the ground, it aligns with that XYZ reference frame.
m0darn@lemmy.ca · 7 pts · 262d
Right handed and left handed? (Top image doesn't follow right hand rule, Z should point towards camera)
Dozzi92@lemmy.world · 2 pts · 262d
They said "people," not left handed.
ieatpwns@lemmy.world · 7 pts · 263d
X across, Y to the sky, Z towards me
Everything else is wrong fight me
mats@piefed.social · 7 pts · 263d
Right hand rule
TriangleSpecialist@lemmy.world · 6 pts · 263d
I have nothing against y pointing up, but I loathe the fact that left-handed coordinate systems are somehow considered an ok choice. This is probably the strongest I feel about something so inconsequential but I'll die on that hill.
solomonschuler@lemmy.zip · 6 pts · 262d
JigglySackles@lemmy.world · 2 pts · 262d
How big are you going to gauge them?
solomonschuler@lemmy.zip · 1 pts · 240d
JigglySackles@lemmy.world · 1 pts · 240d
Hey! I better not catch you touching my eyeholes!!
Buddahriffic@lemmy.world · 1 pts · 262d
No, it's w, s, j, d.
W for walking, you walk forward.
S for side-stepping.
J for jumping.
And d is for digging because you can't jump down into the ground.
DeathByBigSad@sh.itjust.works · 6 pts · 263d
Basically: Platformer vs Top-Down, which would you choose if you were forced to make/play a game 2D only
SaharaMaleikuhm@feddit.org · 4 pts · 263d
Top is also Visual Novel
DeathsEmbrace@lemmy.world · 2 pts · 263d
2.5D games actually lock on one way
HeyThisIsntTheYMCA@lemmy.world · 2 pts · 263d
Ah, the beautiful faux-isometric
squaresinger@lemmy.world · 5 pts · 262d
Technically, there's a lot more options. Any axis can have any name. The reason why these two main systems exist is because of 2D coordinates.
A 2D coordinate system can either be viewed top-down (piece of paper on a table) or from the front (pixels on a screen). So while X stays the same in both of these options (and thus isn't contested in 3D coordinates), Y is either up (on a screen) or ahead (on paper), and Z then gets whatever axis is left over.
Asfalttikyntaja@sopuli.xyz · 5 pts · 263d
This reminds me of the time when I was in an industry robotics, there were a right hand rule where Z was your thumb up and X and Y your index and middle fingers. So I think the second one is the right, but it should have been drawn other way round.
hardcoreufo@lemmy.world · 5 pts · 263d
Working with robots at work x is horizontal y is depth z is vertical.
nutbutter@discuss.tchncs.de · 5 pts · 263d
When using Godot, first.
When using Blender, second.
janus2@lemmy.zip · 4 pts · 262d
Z IS UP AND ALSO IT'S BLUE
zxqwas@lemmy.world · 4 pts · 263d
If I were to make a thing where I got to decide which one is which I'd pick the 2nd.
I don't have a strong opinion and I'll just pick whatever the default is.
ytg@sopuli.xyz · 4 pts · 263d
The upper system is left-handed, no way anything uses that. I’ve seen the same with the Z flipped in some video games and it’s not that bad
REDACTED@infosec.pub · 4 pts · 262d
Why would you represent Z with Y?
Metostopholes@midwest.social · 3 pts · 262d
cryoistalline@lemmy.ml · 3 pts · 263d
Am i weird for using Y down right chiral on all my projects?
Sunsofold@lemmings.world · 3 pts · 263d
Don't forget the third system, where y is inverted to come down from the origin at the upper left of the view as y increases.
jaybone@lemmy.zip · 3 pts · 263d
This always annoyed me about Minecraft.
mavu@discuss.tchncs.de · 3 pts · 262d
uff. this is very hard.
Miaou@jlai.lu · 3 pts · 263d
Wrong and right
Archangel1313@lemmy.ca · 3 pts · 263d
One of those people would be wrong.
neidu3@sh.itjust.works · 3 pts · 263d
I find that it depends on the context. If it's side view only it's essentially 2D in which case Y is up.
For anything where you get a proper 3D view, Z is up.
halvar@lemy.lol · 3 pts · 263d
minecraft taught me english and it damn well taught me the correct 3D axes as well
Hadriscus@jlai.lu · 5 pts · 263d
there are no correct axes, only conventions.
zeca@lemmy.ml · 1 pts · 263d
Its correct according to a convention. Just as any correctness is defined.
halvar@lemy.lol · 1 pts · 263d
but people who disagree with me are wrong, so being correct equals having the same "convention" (truth) as me
Hadriscus@jlai.lu · 2 pts · 263d
alright
KiwiTB@lemmy.world · 3 pts · 263d
No wonder Unreal Engine 5 is so slow. Its Z buffer is just a bunch of lines.
Berengaria_of_Navarre@lemmy.world · 3 pts · 263d
In a 2 dimensional graph y is vertical, adding z doesn't change that.
Windex007@lemmy.world · 3 pts · 263d
That's still just convention. In cartesian systems the only requirement is that x and y are orthogonal.
When you add a third dimension, and additional concern arises being what direction of z is the positive one. You'll notice the two examples are not the same, if you flip either one so the x/y line up, there is still disagreement about which direction z is pointing.
chronicledmonocle@lemmy.world · 2 pts · 262d
There are people who use the top way? WTF?
DreamlandLividity@lemmy.world · 3 pts · 262d
Minecraft ;)
Redex68@lemmy.world · 0 pts · 262d
Technically no, top is right handed but Minecraft uses left handed. Unity, however, is left handed and uses
zy as upSkunkWorkz@lemmy.world · 2 pts · 262d
No Unity uses Y as up. Unreal uses Z as up
Redex68@lemmy.world · 1 pts · 261d
Sorry, yes, that's what I meant to say
JelleWho@lemmy.world · 1 pts · 262d
Printers
moderatecentrist@feddit.uk · 2 pts · 262d
For me it's the top one. In a web browser, when using CSS and JavaScript, x is the horizontal axis, y is the vertical axis, and z is for depth. Hence the
z-indexCSS property which determines depth.I would say the bottom one only makes sense if the stick figure were to hover in the air and look downwards. Then the z axis would be depth for him.
dream_weasel@sh.itjust.works · 2 pts · 263d
The person is just in the wrong place on the bottom
rustydrd@sh.itjust.works · 2 pts · 263d
There are two kinds of people: x and x.
technocrit@lemmy.dbzer0.com · 2 pts · 262d
Can't we fix this by using a,b,c coordinates? \s
Treczoks@lemmy.world · 2 pts · 261d
There are others, where there are way more arrows, and they are not at all orthogonal...
blinfabian@feddit.nl · 2 pts · 263d
Y will always be up for me thanks to Minecraft
phaedrus@piefed.world · 2 pts · 263d
TIL: I'm a top, not a bottom
KokusnussRitter@discuss.tchncs.de · 1 pts · 263d
TIL: I'm a switch
Reygle@lemmy.world · 1 pts · 263d
If you think the top of the frame is correct, may I just say fuck you? Thank you have a nice day
JordanZ@lemmy.world · 8 pts · 263d
sem@lemmy.blahaj.zone · 3 pts · 263d
You're still the bottom one, just looking at the z axis head on.
JordanZ@lemmy.world · 2 pts · 261d
sem@lemmy.blahaj.zone · 1 pts · 260d
The thing about web pages though is they're primarily 2D, with height /depth as an extension. That stick figure is "standing" in the "flatland" xy plane in the top picture, and has no height or depth from my point of view, where Z is canonically height/depth.
It is all a matter of perspective.
Miaou@jlai.lu · 3 pts · 263d
Allowing people who couldn't pass highschool math to write software was a mistake tbh
monkeyslikebananas2@lemmy.world · 2 pts · 263d
But Z is depth… it makes the most sense.
ftbd@feddit.org · 1 pts · 263d
The top is a left-oriented coordinate system (because the axes follow the left-hand rule, not the right hand rule). Doing anything related to e.g. physics in such a coordinate system is a pain.
blockheadjt@sh.itjust.works · 2 pts · 263d
So you hate everyone who uses Unity huh
devfuuu@lemmy.world · 1 pts · 263d
It's all stupid. I remember a bunch of times a Physics teacher in university using her hand and saying some weird stuff and having no idea what she was talking about, without context or heaving ever heard about her "weird trick".
CyberEgg@discuss.tchncs.de · 4 pts · 263d
Was it about the Right-Hand-Rule?
devfuuu@lemmy.world · 1 pts · 263d
Feels that it's something about that yeah. I basically yeeted any memory from that traumatic class anyway.
Socialjusticewarrior@lemmy.world · -3 pts · 263d