|
In lugnet.cad.dat.parts, Niels Karsdorp wrote:
> In lugnet.cad.dat.parts, Lars C. Hassing wrote:
>
> > In lugnet.cad.dat.parts, Steve Bliss wrote:
> >
> > > I'm pretty sure that's going to be the problem with *any* partition of this
> > > surface into polygons. Having a mathematical description of the surface would
> > > be good, because then we could potentially create a primitive for the surface,
> > > and rendering programs could substitute a smooth-curve construct for the
> > > primitive.
> >
> > I have made a 43720.inc for the test of the coming L3PPARTS.
> > The mathematical description of the surface is:
> > 80x + 40y + yz = 0
> > and I have used the POV primitive quadric:
> > quadric {
> > <0,0,0>, <0,0,1>, <80,40,0>, 0
> > clipped_by { box { <-20,0,-40>, <0,20,40> } }
> > }
>
>
> Looks good.
> Should we create a new primitive with the next dimensions:?
> 2 24 0 0 1 0 1 1
> 2 24 1 0 -1 0 1 -1
> 2 24 0 0 1 1 0 -1
> 2 24 0 1 1 0 1 -1
> and a POV-quadric version in the coming L3PPARTS.
>
> As the outer twisted surface of the parts with this shape are
> pretty the same size, the inner surface differs among these parts
> (in 43720/43721 the inner surface has a z-size of 72,
> in 45407 the inner suface has a z-size of 76).
> With a general primitive it can be stretched to any dimension.
Good idea with a twist primitive (twist.dat ?).
Perhaps it would be simpler if it were only in one octant:
2 24 0 0 0 0 0 1
2 24 0 0 1 1 1 1
2 24 1 1 1 0 1 0
2 24 0 1 0 0 0 0
POV code would be:
//x - yz = 0
quadric {
<0,0,0>, <0,0,-1>, <1,0,0>, 0
clipped_by { box { <0,0,0>, <1,1,1> } }
}
/Lars
|
|
|
In lugnet.cad.dat.parts, Lars C. Hassing wrote:
> > > I have made a 43720.inc for the test of the coming L3PPARTS.
> > > The mathematical description of the surface is:
> > > 80x + 40y + yz = 0
> > > and I have used the POV primitive quadric:
> > > quadric {
> > > <0,0,0>, <0,0,1>, <80,40,0>, 0
> > > clipped_by { box { <-20,0,-40>, <0,20,40> } }
> > > }
> >
> >
> > Looks good.
> > Should we create a new primitive with the next dimensions:?
> > 2 24 0 0 1 0 1 1
> > 2 24 1 0 -1 0 1 -1
> > 2 24 0 0 1 1 0 -1
> > 2 24 0 1 1 0 1 -1
> > and a POV-quadric version in the coming L3PPARTS.
> >
> > As the outer twisted surface of the parts with this shape are
> > pretty the same size, the inner surface differs among these parts
> > (in 43720/43721 the inner surface has a z-size of 72,
> > in 45407 the inner suface has a z-size of 76).
> > With a general primitive it can be stretched to any dimension.
>
> Good idea with a twist primitive (twist.dat ?).
> Perhaps it would be simpler if it were only in one octant:
> 2 24 0 0 0 0 0 1
> 2 24 0 0 1 1 1 1
> 2 24 1 1 1 0 1 0
> 2 24 0 1 0 0 0 0
> POV code would be:
> //x - yz = 0
> quadric {
> <0,0,0>, <0,0,-1>, <1,0,0>, 0
> clipped_by { box { <0,0,0>, <1,1,1> } }
> }
> /Lars
Ok so it's been a few years, but I took another look at this.
Did anybody ever make a twist primitive? It appears like all
you need to do is something like this.
Don
0 Wedge 4 x 2 Sloped Left
0 Name: 43721.dat
0 Author: Donald Sutter
0 LDRAW_ORG Part UPDATE 2004-04
0 Unofficial hack for testing purposes.
0
1 16 0 0 0 -1 0 0 0 1 0 0 0 1 s\43720s01.dat
0
1 16 -10 0 30 0 0 1 0 1 0 -1 0 0 stud.dat
1 16 -10 0 10 0 0 1 0 1 0 -1 0 0 stud.dat
1 16 -10 0 -10 0 0 1 0 1 0 -1 0 0 stud.dat
1 16 -10 0 -30 0 0 1 0 1 0 -1 0 0 stud.dat
0
0 // Begin 4 quadrant twist patch.
0 // Is each quadrant actually the same part?
0 // Scale down to 1x1 for reuse in other parts.
0 // Can break each quadrant into 4 parts for
0 // an even finer mesh.
3 16 11.25 15 20 5 10 0 10 20 0
3 16 11.25 15 20 10 20 0 20 20 40
3 16 11.25 15 20 20 20 40 10 10 40
3 16 11.25 15 20 10 10 40 5 10 0
0
3 16 3.75 5 20 0 0 0 5 10 0
3 16 3.75 5 20 5 10 0 10 10 40
3 16 3.75 5 20 10 10 40 0 0 40
3 16 3.75 5 20 0 0 40 0 0 0
0
3 16 1.25 5 -20 0 0 -40 0 10 -40
3 16 1.25 5 -20 0 10 -40 5 10 0
3 16 1.25 5 -20 5 10 0 0 0 0
3 16 1.25 5 -20 0 0 0 0 0 -40
0
3 16 3.75 15 -20 0 10 -40 0 20 -40
3 16 3.75 15 -20 0 20 -40 10 20 0
3 16 3.75 15 -20 10 20 0 5 10 0
3 16 3.75 15 -20 5 10 0 0 10 -40
0 // End 4 quadrant twist patch.
0
|
|
|
|
Ok so its been a few years, but I took another look at this.
Did anybody ever make a twist primitive? It appears like all
you need to do is something like this.
|
Very interesting!
I am not so much comvinced by the improvement for flat shading. Looks like we
trade triangular artefacts in one direction with artefacts in the other one.
But it drastically improves the very ugly condlines artefacts!
Not sure there are so many parts that would benefit from this rectangular
twisted primitive (apart from those mentionned in this thread), but its worth
creating it nonetheless. Don, would you submit it to PT?
Philo
PS: Attached your code with triangles merged to quads (removes LDView artifacts
in smooth shading) and condlines added. (I hope that ftx only messes up code in
preview...)
0 // Begin 4 quadrant twist patch.
0 // Is each quadrant actually the same part?
0 // Scale down to 1x1 for reuse in other parts.
0 // Can break each quadrant into 4 parts for
0 // an even finer mesh.
4 16 10 20 0 11.25 15 20 5 10 0 3.75 15 -20
3 16 11.25 15 20 10 20 0 20 20 40
3 16 11.25 15 20 20 20 40 10 10 40
4 16 5 10 0 11.25 15 20 10 10 40 3.75 5 20
0
4 16 5 10 0 3.75 5 20 0 0 0 1.25 5 -20
3 16 3.75 5 20 10 10 40 0 0 40
3 16 3.75 5 20 0 0 40 0 0 0
0
3 16 1.25 5 -20 0 0 -40 0 10 -40
4 16 5 10 0 1.25 5 -20 0 10 -40 3.75 15 -20
3 16 1.25 5 -20 0 0 0 0 0 -40
0
3 16 3.75 15 -20 0 10 -40 0 20 -40
3 16 3.75 15 -20 0 20 -40 10 20 0
0 // End 4 quadrant twist patch.
0
0 // Added lines/Condlines
5 24 11.25 15 20 5 10 0 10 20 0 10 10 40
5 24 10 20 0 11.25 15 20 5 10 0 20 20 40
5 24 20 20 40 11.25 15 20 10 20 0 10 10 40
5 24 10 10 40 11.25 15 20 20 20 40 5 10 0
5 24 3.75 5 20 0 0 0 5 10 0 0 0 40
5 24 5 10 0 3.75 5 20 0 0 0 10 10 40
5 24 10 10 40 3.75 5 20 5 10 0 0 0 40
5 24 0 0 40 3.75 5 20 10 10 40 0 0 0
5 24 1.25 5 -20 0 0 -40 0 10 -40 0 0 0
5 24 0 10 -40 1.25 5 -20 0 0 -40 5 10 0
5 24 5 10 0 1.25 5 -20 0 10 -40 0 0 0
5 24 0 0 0 1.25 5 -20 5 10 0 0 0 -40
5 24 3.75 15 -20 0 10 -40 0 20 -40 5 10 0
5 24 0 20 -40 3.75 15 -20 0 10 -40 10 20 0
5 24 10 20 0 3.75 15 -20 0 20 -40 5 10 0
5 24 5 10 0 3.75 15 -20 10 20 0 0 10 -40
|
|
|
In lugnet.cad.dat.parts, Philippe Hurbain wrote:
|
PS: Attached your code with triangles merged to quads (removes LDView
artifacts in smooth shading) and condlines added. (I hope that ftx only
messes up code in preview...)
|
Unfortunately it messes up unless you inlude FTX line breaks, or fixed code box
characters (pipe). Unfortunately, both make it harder for people using email or
newsreaders, so probably best to do it as you did, browsers can just click View
Raw Message to get the nicely formatted version.
(Hmmm I thought there was a FTX group woulda set FUT there)
ROSCO
0 // Begin 4 quadrant twist patch.
0 // Is each quadrant actually the same part?
0 // Scale down to 1x1 for reuse in other parts.
0 // Can break each quadrant into 4 parts for
0 // an even finer mesh.
4 16 10 20 0 11.25 15 20 5 10 0 3.75 15 -20
3 16 11.25 15 20 10 20 0 20 20 40
3 16 11.25 15 20 20 20 40 10 10 40
4 16 5 10 0 11.25 15 20 10 10 40 3.75 5 20
0
4 16 5 10 0 3.75 5 20 0 0 0 1.25 5 -20
3 16 3.75 5 20 10 10 40 0 0 40
3 16 3.75 5 20 0 0 40 0 0 0
0
3 16 1.25 5 -20 0 0 -40 0 10 -40
4 16 5 10 0 1.25 5 -20 0 10 -40 3.75 15 -20
3 16 1.25 5 -20 0 0 0 0 0 -40
0
3 16 3.75 15 -20 0 10 -40 0 20 -40
3 16 3.75 15 -20 0 20 -40 10 20 0
0 // End 4 quadrant twist patch.
0
0 // Added lines/Condlines
5 24 11.25 15 20 5 10 0 10 20 0 10 10 40
5 24 10 20 0 11.25 15 20 5 10 0 20 20 40
5 24 20 20 40 11.25 15 20 10 20 0 10 10 40
5 24 10 10 40 11.25 15 20 20 20 40 5 10 0
5 24 3.75 5 20 0 0 0 5 10 0 0 0 40
5 24 5 10 0 3.75 5 20 0 0 0 10 10 40
5 24 10 10 40 3.75 5 20 5 10 0 0 0 40
5 24 0 0 40 3.75 5 20 10 10 40 0 0 0
5 24 1.25 5 -20 0 0 -40 0 10 -40 0 0 0
5 24 0 10 -40 1.25 5 -20 0 0 -40 5 10 0
5 24 5 10 0 1.25 5 -20 0 10 -40 0 0 0
5 24 0 0 0 1.25 5 -20 5 10 0 0 0 -40
5 24 3.75 15 -20 0 10 -40 0 20 -40 5 10 0
5 24 0 20 -40 3.75 15 -20 0 10 -40 10 20 0
5 24 10 20 0 3.75 15 -20 0 20 -40 5 10 0
5 24 5 10 0 3.75 15 -20 10 20 0 0 10 -40
|
|
|
|
|