12-11-2012, 03:03 PM
(This post was last modified: 12-11-2012, 10:40 PM by puzzledpaul.)
Another trig based approach - but pythagoras this time.
Above drawing shows what the wings workflow is based upon.
Black - Left + Right columns.
Blue - Diagonal block... dotted in finish position - I've deliberately made this wider for clarity reasons - the method works for any width of block.
Red arc - centred on p, radius pr
Yellow - radius of arc, intersecting r (and also c).
Triangle xpc (right angled triangle) is the important part of this approach.
Since there are 2 sides whose length is known (bold blue / yellow) - or easily established, it's easy to find the length of the one wanted, xc ... by using Pythagoras' theorem.
The length of XC determines where the dotted red line is positioned [C] from the top of the diagonal. This point [C] ends up at point [r] when the diagonal block is rotated to its final position using a 'Rotate to Target' command.
Pythagoras states - square of the hypotenuse = sum of the squares of the other 2 sides.
Here ...pc^2 = xp^2 + xc^2 ... therefore xc^2 = pc^2 - xp^2
and thus, xc = sqroot [ pc^2 -xp^2] ... which, in 'wings speak' ... in Tab input box, becomes ...
xc = sqrt(pow(pc,2)-pow(xp,2)) ... so, entering the relevant 2 dimensions (pc:bold yellow, xp:bold blue) during the appropriate command will give the required result.
1. Basic setup - select the 2 verts shown, note distance (pr) is also same as pc. (also measure column width ( not shown). Make the diagonal block a no-segmented object, long enough for the job - but length not critical.
2. Create a mid-way edgeloop.
3. Edge | Slide > Abs ... slide all the way to the block top.
4. Press D to restart slide command (from zero), press Tab, enter relevant numbers into the above expression ... note sign (probably (-) )
Wings will work out the answer to the expression, using the values you've entered ...and locate the eloop in the required position.
5. Select diagonal block, invoke Rotate > Rot to Target > MMB use edge shown for axis > 100%
6. Use same edge or vert on axis for origin.
7. Select target point
8. Specify plane - only 2 of the 3 verts needed are actually shown + either vert behind those shown - note that the thick yellow line in the diagram is a side view of this plane. Similarly, the dotted yellow line shows this plane in its final position after the rotate op.
9. After op.
Above drawing shows what the wings workflow is based upon.
Black - Left + Right columns.
Blue - Diagonal block... dotted in finish position - I've deliberately made this wider for clarity reasons - the method works for any width of block.
Red arc - centred on p, radius pr
Yellow - radius of arc, intersecting r (and also c).
Triangle xpc (right angled triangle) is the important part of this approach.
Since there are 2 sides whose length is known (bold blue / yellow) - or easily established, it's easy to find the length of the one wanted, xc ... by using Pythagoras' theorem.
The length of XC determines where the dotted red line is positioned [C] from the top of the diagonal. This point [C] ends up at point [r] when the diagonal block is rotated to its final position using a 'Rotate to Target' command.
Pythagoras states - square of the hypotenuse = sum of the squares of the other 2 sides.
Here ...pc^2 = xp^2 + xc^2 ... therefore xc^2 = pc^2 - xp^2
and thus, xc = sqroot [ pc^2 -xp^2] ... which, in 'wings speak' ... in Tab input box, becomes ...
xc = sqrt(pow(pc,2)-pow(xp,2)) ... so, entering the relevant 2 dimensions (pc:bold yellow, xp:bold blue) during the appropriate command will give the required result.
1. Basic setup - select the 2 verts shown, note distance (pr) is also same as pc. (also measure column width ( not shown). Make the diagonal block a no-segmented object, long enough for the job - but length not critical.
2. Create a mid-way edgeloop.
3. Edge | Slide > Abs ... slide all the way to the block top.
4. Press D to restart slide command (from zero), press Tab, enter relevant numbers into the above expression ... note sign (probably (-) )
Wings will work out the answer to the expression, using the values you've entered ...and locate the eloop in the required position.
5. Select diagonal block, invoke Rotate > Rot to Target > MMB use edge shown for axis > 100%
6. Use same edge or vert on axis for origin.
7. Select target point
8. Specify plane - only 2 of the 3 verts needed are actually shown + either vert behind those shown - note that the thick yellow line in the diagram is a side view of this plane. Similarly, the dotted yellow line shows this plane in its final position after the rotate op.
9. After op.