1
$\begingroup$

enter image description here

I want to generate a cylinder (which I apply some modifiers to) which goes to the centre of the mirror (which I then bool difference to get rid of the intersecting part), and then generate another cylinder from the centre of that mirrror that extends outwards. What's the quickest/neatest way to do it without having to manually drag the cylinders into alignment?

I have ended up extruding the same cylinder instead of generating another one.

I want to generate a cylinder at the centre of the mirror's position (OK, if the cursor is there): enter image description here

Extrude a face of that cylinder so that it goes to the centre of the mirrors position (just send the cylinder there by setting the cursor to the centre of the mirror): enter image description here

This is now the incoming beam: enter image description here

I bool difference this with the mirror to give me this face which I can extrude along X/Y/Z, giving me the desired result: enter image description here

I'd now like to make the end of this beam, 'flat' and not angled. How can I do this?

I'd also like the option to break the cylinder into multiple objects after it's reflected. Is this possible?

$\endgroup$
2
  • 1
    $\begingroup$ If none of here ... Please draw a sketch to illustrate desired result. Thank you $\endgroup$
    – vklidu
    Mar 28 at 7:26
  • $\begingroup$ I have updated the question to add clarity. $\endgroup$
    – smollma
    Mar 29 at 1:01
0
$\begingroup$

I don't know what is purpose of the final model, but I think you can start with Curve object, type 2D. By adding Depth you can get tube shape ... easy to model and readjust laser ray direction, angle to hit surface.

enter image description here

You don't even need to create real "contact" face since tip of beam is hidden in "mirror" object.

enter image description here

$\endgroup$
0
$\begingroup$

It looks like the cylinder is coming off the mirror along the y axis. If this is so, you can rotate the face by scaling y to zero for the vertices at the end you want to be a 90deg cross section of the cylinder.

$\endgroup$
0
$\begingroup$

So you want to generate a reflection vector, dynamically, right? Clearly, from the other answers, there's more than one way to do it, although some of those are less dynamic than others.

My way to do it would be to use constraints:

enter image description here

This armature contains five bones, but they're not all necessary. Source, Reflector, and Reflected are all root-level. The armature itself is parented to the reflector dish, such that Source, Reflector, and Reflected all aim out from it, their Y axes aligned with the normal of the reflector dish.

Source simply copies the location (world->world) of an empty. This is the source of the laser beam.

The bulk of the work is done by Reflected, which by copying the inverted XZ of Source, local->local, automatically reflects over the center of the armature.

FromSource and ToReflected have simple stretch-to constraints targeting the root-level Reflector bone.

Meshes can be parented to these bones as desired. You might consider disabling inherit rotation on FromSource and ToReflected if using low poly cylinders, as otherwise these bones can inherit some tilt/twist from the reflector (there's not really a right solution to what their tilt should be.)

Object constraints could be used instead, but I find it easier to work with bones, and find that structures like this are organized more nicely for future work when contained in a single, tidy package.

$\endgroup$
-2
$\begingroup$

To quickly align the cylinders, I would recommend deleting them all except for 1. Which cylinder, is your choice. Now you are left with one cylinder, now add an array modifier. In the modifier, enable Relative offset, next, set the relative offset displacement to anything you like. Here's a little something to help you:

First row (Z-axis): Positive integer upward, negative integer downward.

Second row (Y-axis): Positive integer left, negative integer right.

Third row (X-axis): seems to do nothing for some reason.

Note: If you increase the number in the second row, the distance between each cylinder will increase, and decreasing will result in the cylinders being closer. The opposite is true for negative integers.

Lastly, you can set the count to whatever you like depending on how many cylinders you want. Hope it helps.

$\endgroup$
3
  • $\begingroup$ Hmmm, this may not be helpful? I am looking to have the beam appear as though it's 'bouncing' off the mirror. As such, it must have the same entry and exit points. The method you're recommending just seems to create an equally-spaced set of cylinders, all pointing in the same direction. $\endgroup$
    – smollma
    Mar 28 at 6:08
  • $\begingroup$ Well, then I don't know what to say, because your question isn't clear at all. $\endgroup$
    – Aster17
    Mar 28 at 12:16
  • $\begingroup$ I have updated the question to add clarity. $\endgroup$
    – smollma
    Mar 29 at 1:01

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.