I have a diagonal line that's been subdivided, so it has a point in the middle. I want to move this point so that it vertically aligns with other another point along the global Y axis, but so that, and this is the most important aspect, it still stays perfectly aligned with the rest of the diagonal line segment it lies on.


have you tried selecting both vertices and pressing S, Y, 0?

also, if you have any doubt that blender can do what you need it to do, just watch the blender open movies!

  • $\begingroup$ I have, but unfortunately it only aligns to what it projects is perpendicular to that point along the local axis, not the global Y axis. If only the snapping tool would work on vertex slide, that would solve it in literally a second, but luckily (or unluckily rather) I just came up with a complicated series of steps that can do it so I can post the answer. $\endgroup$ – cheesemonkey102 Aug 8 '19 at 20:51
  • $\begingroup$ Actually never mind, it almost works but when I zoom in I find it's not aligned. Geometrically, there must be a point such that if you scale to 0 along the local Y, then the diagonal point does align with the vertical point along the global Y, so you're on the right track, but the question is finding the exact right point which isn't simple. I suspect if I sat down and actually worked through the geometry I could come up with a closed formula. $\endgroup$ – cheesemonkey102 Aug 8 '19 at 20:58
  • $\begingroup$ Alright got it, now I just need to figure out how to upload a safe image file. $\endgroup$ – cheesemonkey102 Aug 8 '19 at 21:10
  • $\begingroup$ glad you found an answer, with some stuff, I think, you have to arrange your vertices manually. but if you found an easier way it would be great to hear about for future reference. $\endgroup$ – Millard Aug 8 '19 at 22:41

The shortest distance between two lines in Euclidean space is a linear segment, so this technique is essentially just minimizing the distance along the local Y axis by forcing the diagonal point to be perpendicular to the vertical segment by first constructing the point upon which applying that operation yields the alignment in the global basis.

Below is the series of steps.

Step 0: Identify the points you want to be aligned

Step 1: Extrude the Global-Y aligned point until it intersects with your diagonal line.

Step 2: Use one of the answers from here to move the cursor to the edge intersection How can I add vertices to intersection of two edges?

Step 2.5: You may need to enable the "add mesh: extra objects" addon on your user preferences

Step3: Create a new axis with an orthogonal basis containing the diagonal line, basically just select any two points on the diagonal line, then hit CTRL+ALT+SPACE to create an axis for that line.

Step4: Make sure your pivot is set to 3D cursor, make sure your transform orientation is the newly created axis. Select the diagonal point and hit "s" then press "Y" and then "Y" again to scale along the local Y axis you just created, and then the vertex should now be alinged both with your diagonal line as with as with the global Y of the other point.

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.