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 / 11843
11842  |  11844
Subject: 
Re: on Collision, stop Movement
Newsgroups: 
lugnet.cad
Date: 
Sun, 22 Aug 2004 21:16:58 GMT
Viewed: 
1776 times
  
In lugnet.cad, Martijn Zwaal wrote:
I am a programmer with an interest in implementing something like
clickablibity. I think te best way to do it is to assign connecection
rules to primitives or combinations of primitives.

That assumes that you have primitives made for both the male and female
connector, which I very much doubt is always the case.  Studs are pretty much
always going to be one of two types (solid or hollow, though many of the
BIONICLE masks use various stud-equivalent mounting points), but the underside
of bricks, plates, and tiles varies dramatically, as does the shape of other
parts or part-sections that can accept a stud or two, but aren't traditional
bricks.  The loops on the TECHNIC socket joint always come to my mind, as do the
cross-hatched portions of certain fences.

That way you may be able to derive most possible connections from parts.
This should be faster and more accurate than assigning the connectable
positions by hand like LCD.

It could be quicker getting started, but you also have to be concerned about
long-term simplicity.  Once/if LCD becomes fully implemented with the current
part list, it will just be a matter of making sure that every new part has a
matching LCD file before it gets approved, rather than having to track down all
of the relevent LCD primitives and make sure you've figured out which
connections have already been built in and which need special treatment.

Special cases may be added in a file. The only problem is to think up a
smart algoritm to do it

How many special cases would you need?  Primitives aren't worth making if they
aren't able to be used on a wide variety of parts.  There are parts out there
that are only intended to connect to one other part and have uniquely designed
connectors (such as the slanted cockpit that's only intended to work with a 6x6
octagonal cockpit).  There are parts that are designed for very generic
connectibility, but that have very unique geometry (consider the wedge shapes,
which have slopes of at least 1:1, 1:2, 3:7, 1:3, 1:4, & 1:6).  I doubt all of
those wedge shapes have primitives built for the angled edges, so each
individual part (left, right, or double) would require its own special file.
Besides, LCD doesn't seem all that complex for the vast majority of parts.  All
of the various connection types will be individually defined as a sort of
"connection primitive", and all you need to do afterwards is make an add-on file
that maps their locations.

I don't think there is a need for very accurate collision detection.

I don't either.  It seems simpler on paper to just make sure that parts can't
overlap, but I see it as a more complicated way of combining center/vector
allignment.  My previous post was merely intended to show how the two were
possibly related, at least in my mind, since I appeared not to have made myself
clear to Travis on that point earlier.



Message is in Reply To:
  Re: on Collision, stop Movement
 
(...) I am a programmer with an interest in implementing something like clickablibity. I think te best way to do it is to assign connecection rules to primitives or combinations of primitives. That way you may be able to derive most possible (...) (20 years ago, 22-Aug-04, to lugnet.cad)

23 Messages in This Thread:








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

Custom Search

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