To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cadOpen lugnet.cad in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / 11807
11806  |  11808
Subject: 
Re: on Collision, stop Movement
Newsgroups: 
lugnet.cad
Date: 
Wed, 18 Aug 2004 15:38:00 GMT
Viewed: 
1151 times
  
In lugnet.cad, Andrew Allan wrote:

To add my 2 cents worth, I've tried a few experements within MBC for making
parts clickable where I defined "male" and "female" connection points within the
brick (i.e. STUD = male). Ignoring the sheer number of ways even a brick as
simple as the ubiquious 2x4 can be connected the real barrier I ran into was
with geometry.

If the bricks are aligned then making them click is reasonably easy, but if the
one of the bricks needs to be rotated (through upto 3 axis) to make them align
and click the problem then seems to become very non-trivial.

If anybody has any ideas to solve geometrical alignment, I'd love to know so I
can continue my experiments.

You need to have the user pick more than just the "male" and "female" locations.

To get the two bricks on top of each other (instead of inside each other), the
"male" and "female" locations ought to have some concept for up and down.  For
parts that don't have an up and down (e.g. technic axle), you need a "flip"
button for the case when the part being oriented gets stuck on the axle "upside
down".

As for the roation issue (about the axes of the "male" and "female" locations),
one way to do this is to define a default vector perpendicular to the axis of
the "male" and "female" axes, then have the user specify a rotation angle to
use.  To make it easier on the user, you could define multiple vectors (e.g. for
a stud on a 2x4 brick, you'd have two vectors, one parallel with the short side
and one parallel with the long side), then have the user click a "rotate" icon
until the brick being moved is oriented correctly.

Again, some parts may only have one or zero ways to define an allignment vector
(e.g. round pieces), so things could get "hairy".  For parts with rotational
symmetry (e.g. 1x1 cylinder with solid stud), I'd still define the allignment
vector so that the lettering on the stud (assuming it's not hollow) can be
rotated correctly.  Even for something like a hollow stud 1x1 cylinder, having
default allignment vectors for the top (stud) and bottom (hole) would allow easy
allignment of pieces attached to the top and bottom.

All of this assumes that one part remains fixed, while the other is moving.  I'd
say the first location picked would identify the part to be moved and the second
location picked would be where to place the first part.  This seems natural
since that's the way real pieces work (you pick the part you want, then place it
on the model).

You'd have similar issues with sliding the pieces along the axes of connection.
That's to say, the default for stud type connections would have the pieces fully
mated (top of a brick touching the bottom of the other).  However, pieces like
technic axles can have parts like gears attached at any location along the
length.  Some sort of slider control, might work here.  It would have two modes,
one which would allow placement at certain increments (e.g. width of a 1x1
brick, 1/2 of that width, and etc.), or would allow you to slide it without any
sort of increment.

The piece being moved would remain selected for flipping, rotation, and sliding
on the length of a connection until the user did something to signify that
they're finished placing the piece.  Just what that would be, I'm not sure.

Jeff



Message has 1 Reply:
  Re: on Collision, stop Movement
 
(...) To clarify, my system consideres each connection point as a vector with a defined point of origin. The vectors are perpendicular to the stud axis. In this way a brick can rotate about the vector (or stud) and still be aligned just like real (...) (20 years ago, 18-Aug-04, to lugnet.cad)

Message is in Reply To:
  Re: on Collision, stop Movement
 
(...) To add my 2 cents worth, I've tried a few experements within MBC for making parts clickable where I defined "male" and "female" connection points within the brick (i.e. STUD = male). Ignoring the sheer number of ways even a brick as simple as (...) (20 years ago, 18-Aug-04, to lugnet.cad)

23 Messages in This Thread:








Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR