Spyke
lime!reply
feddit.nu

unreal georg is an anomaly and should not be counted

28
cepelinasreply
sopuli.xyz

Z up all the way because my 3d printer but why is Minecraft y-up D:

16
JPAKx4reply
piefed.blahaj.zone

I may be wrong, but I believe mc Java is left handed and bedrock is right handed, both with Y as height

3

I don't really play bedrock and on Java I don't really pay attention to the coords.

1

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

1

Personally I feel limited if I'm working in anything else than a non-euclidean coordinate system

4
dustyDatareply
lemmy.world

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.”

11
dustyDatareply
lemmy.world

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.

4

Ace is a decent watch. Shit post quality video energy, that's information dense. Always gonna second an Acerola suggestion.

2
someguy3reply
lemmy.world

I'm not getting left handed vs right handed. Right handed means negative values go right? Why would anyone do that?

3

Right handed means that when you curl the fingers on your right hand from +X towards +Y, your thumb points towards +Z.

7

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.

3
Pennomireply
lemmy.world

Eh sort of? It’s all a matter of perspective. In Blender which uses a right hand system, when you view from the side, right is positive Y, up is positive Z, and towards the user is positive X.

But looking from above, positive X is right, positive Y is up, and positive Z is towards the camera. Obviously if you rotate the camera to be viewing from the negative side of the axis some directions get flipped.

Basically if you’re axis aligned, things work out the way you would expect.

2
jaybonereply
lemmy.zip

But then should the little axis depictions in OP be swapped?

2
saltescreply
lemmy.world

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?"

16
Pennomireply
lemmy.world

Only in a top-down perspective. Most screens are vertically oriented though, meaning the reference 2D plane is left-right-up-down.

4
saltescreply
lemmy.world

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.

1
Pennomireply
lemmy.world

By your own logic there is no “up”, only x/y/z, so what’s your complaint?

There is NO mathematical or physical reason why XY should be the floor, that is your own bias.

3
saltescreply
lemmy.world

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.

-2

By that logic the only non-arbitrary dimension is defined by gravity, so the primary axis (X) should be up and down.

Math is not rigid like you are saying: 3D coordinates can be oriented in any direction because they are fundamentally arbitrary. A lot of people a damn lot smarter than you have damn good reasons for using different coordinate systems, and they are mathematically correct.

1
piefed.social

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.

3

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.

1
sh.itjust.works

The top one is wrong because it violates the right hand rule.

40
cmhereply
lemmy.world

Z should be inverted in the top picture.

9

Vector mathematics as we use it and code it is based on the right hand rule.

2
sopuli.xyz

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.

38
programming.dev

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

22

Yeah, and for a top-down game depth is up/down. You know, like depth being... Deep down.

3

As someone who looks at this from a GIS / cartographic view, the top option being possible is horrific to me.

6
lemmy.world

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.

32
SkunkWorkzreply
lemmy.world

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.

7
boonhetreply
sopuli.xyz

But in top down 2D games you also use X and Y but now neither is up

5

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.

1
lemmy.world

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.

1

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.

2
unphazedreply
lemmy.world

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)

5

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.

3

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.

2
lemmy.world

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.

32

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?

1

Thanks to 3D printing Z is firmly “up” in my brain even if the modeler I use does it differently.

26
lemmy.eco.br

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

16

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.

1
lemmy.world

Yeah... As a Blender 3D artist, Z axis has been baked into my brain as the up/down axis.

23
lemmy.world

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.

21
lemmy.zip

In 2D Y is up, in 3D Z is up.
X is always red🤷‍♂️

20
4amreply
lemmy.zip

I’m from a computer graphics background.

Y is down. z is depth. Fight me.

11
sh.itjust.works

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.

19

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?

5
isarreply

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.

3
deHagareply
feddit.uk

Invert y axis is the first option I tick in every game

1

Spent most my life working in a 3d environment... need to reverse that thing for a controller every single time

2

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.

1
lemmy.world

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.

18
zecareply
lemmy.ml

Yes, but please just make it follow the right hand rule...

0
zecareply

The first? I dont know... They all look weird since the finger axes dont intersect properly.

2
sopuli.xyz

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

15

Except when you are working on top-down game/3D environment. In which case you are constantly changing between Z and Y...

4
Victorreply
lemmy.world

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.

2

I'm came here to talk shit about y-up but now I'm mad at you instead.

2

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.

2
lemmy.world

I'll leave this here for context (bottom right is the only sane one)

13

Minecraft being the most influential of them all

1
lemmy.world

Z is depth, full stop, and I have my fists raised, Queensbury-style, to anyone who contends otherwise.

11
lemmy.ca

There are clearly more than two. In the top image that z-axis is pointing in the wrong direction.

10
gruereply
lemmy.world

Z pointing in the other direction is the same as the bottom image, just rotated.

1
lemmy.world

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.

3
gruereply
lemmy.world

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.

2

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.

1
lemmy.world

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.

10

I have a looking-at-the-chalkboard-in-highschool background which I’m pretty sure defines my perspective(heh).

10
wizzorreply
sopuli.xyz

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.

5
Axolotlreply
feddit.it

Probably because he uses Blender which invert Z and Y axes or maybe because it's related to the nozzle POV

5
kn0wmad1creply
programming.dev

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.

3
jacksilverreply
lemmy.world

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.

9
zecareply

In both cases X and Y are on the same plane. Any two axes that intersect in a point share a plane.

2
lemmy.ca

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.

9

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.

3
lemmy.world

Using left-handed coordinates systems is just mean!

8

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.

8

x in red and z in blue please..., this is difficult to look at. My conventions !

8
reddthat.com

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.

8

When working in 2 dimensions with gravity, it is common to treat Y as up. E.g, 2d video games, physics problems, computer screens.

10
lemmy.world

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.

8
Spacehooksreply
reddthat.com

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.

1

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.

2

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.

4
e0qdkreply
reddthat.com

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...

1
SkunkWorkzreply
lemmy.world

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.

1

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.

1
lemmy.world

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.

8

I’ve never heard of Y pointing up.

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!

7
Zwiebelreply
feddit.org

My dude there is no up down and right outside of the coordinate system, since the coordinate system defines where up and down is

1
lemmy.ca

Right handed and left handed? (Top image doesn't follow right hand rule, Z should point towards camera)

7

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.

1

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.

6

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.

5

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.

5

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.

4

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

4
lemy.lol

minecraft taught me english and it damn well taught me the correct 3D axes as well

3
Hadriscusreply
jlai.lu

there are no correct axes, only conventions.

5
zecareply

Its correct according to a convention. Just as any correctness is defined.

1
halvarreply
lemy.lol

but people who disagree with me are wrong, so being correct equals having the same "convention" (truth) as me

1

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.

3

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.

3

No wonder Unreal Engine 5 is so slow. Its Z buffer is just a bunch of lines.

3

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.

3
Redexreply
lemmy.world

Technically no, top is right handed but Minecraft uses left handed. Unity, however, is left handed and uses z y as up

0

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.

2

There are others, where there are way more arrows, and they are not at all orthogonal...

2
lemmy.world

If you think the top of the frame is correct, may I just say fuck you? Thank you have a nice day

1
semreply
lemmy.blahaj.zone

You're still the bottom one, just looking at the z axis head on.

3

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.

1
Miaoureply

Allowing people who couldn't pass highschool math to write software was a mistake tbh

3

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.

1
lemmy.world

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".

1

Feels that it's something about that yeah. I basically yeeted any memory from that traumatic class anyway.

1