|
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.
Niels Karsdorp
|
|
|
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.
Nice, I like the idea of the quadric primitive, but we want to
add some curvature to the LDRAW version, right? I fiddled a bit
with the part a few days ago, starting with the two triangles
outlined by your primitive. I didn't exactly finish, but I think
if you take this and make a surface that follows the green X and
also follows the red stripes, you end up with something pretty
decent where the optional lines work.
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 -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
2 4 5 20 -20 0 0 -20
2 4 10 20 0 0 0 0
2 4 15 20 20 0 0 20
0
2 2 0 20 -40 3.75 15 -20
2 2 3.75 15 -20 5 10 0
2 2 5 10 0 3.75 5 20
2 2 3.75 5 20 0 0 40
0
2 2 0 0 -40 1.25 5 -20
2 2 1.25 5 -20 5 10 0
2 2 5 10 0 11.25 15 20
2 2 11.25 15 20 20 20 40
0
3 46 0 0 -40 0 20 -40 3.75 15 -20
3 46 0 0 -40 3.75 15 -20 5 10 0
3 46 0 0 -40 5 10 0 3.75 5 20
3 46 0 0 -40 3.75 5 20 0 0 40
0
3 45 20 20 40 0 20 -40 3.75 15 -20
3 45 20 20 40 3.75 15 -20 5 10 0
3 45 20 20 40 5 10 0 3.75 5 20
3 45 20 20 40 3.75 5 20 0 0 40
0
1 16 0 0 0 -1 0 0 0 1 0 0 0 1 s\43720s01.dat
0
|
|
|
In lugnet.cad.dat.parts, Don Heyse wrote:
> Nice, I like the idea of the quadric primitive, but we want to
> add some curvature to the LDRAW version, right? I fiddled a bit
> with the part a few days ago, starting with the two triangles
> outlined by your primitive. I didn't exactly finish, but I think
> if you take this and make a surface that follows the green X and
> also follows the red stripes, you end up with something pretty
> decent where the optional lines work.
>
> 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 -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
> 2 4 5 20 -20 0 0 -20
> 2 4 10 20 0 0 0 0
> 2 4 15 20 20 0 0 20
> 0
> 2 2 0 20 -40 3.75 15 -20
> 2 2 3.75 15 -20 5 10 0
> 2 2 5 10 0 3.75 5 20
> 2 2 3.75 5 20 0 0 40
> 0
> 2 2 0 0 -40 1.25 5 -20
> 2 2 1.25 5 -20 5 10 0
> 2 2 5 10 0 11.25 15 20
> 2 2 11.25 15 20 20 20 40
> 0
> 3 46 0 0 -40 0 20 -40 3.75 15 -20
> 3 46 0 0 -40 3.75 15 -20 5 10 0
> 3 46 0 0 -40 5 10 0 3.75 5 20
> 3 46 0 0 -40 3.75 5 20 0 0 40
> 0
> 3 45 20 20 40 0 20 -40 3.75 15 -20
> 3 45 20 20 40 3.75 15 -20 5 10 0
> 3 45 20 20 40 5 10 0 3.75 5 20
> 3 45 20 20 40 3.75 5 20 0 0 40
> 0
> 1 16 0 0 0 -1 0 0 0 1 0 0 0 1 s\43720s01.dat
> 0
The following are the appropriate conditionals for Don's surface. Playing with
it you can have angles where the conditionals seem to go too far, but it's
certainly much better than the current ones.
(Note that the last 4 conditionals are only there to keep the surface smooth in
LDView. I'm not sure if that's appropriate or not, but it looks a whole lot
better in LDView with them present. It looks positively wretched without
them.)
0
5 24 0 0 -40 3.75 15 -20 0 20 -40 5 10 0
5 24 0 0 -40 5 10 0 3.75 15 -20 3.75 5 20
5 24 0 0 -40 3.75 5 20 5 10 0 0 0 40
0
5 24 20 20 40 3.75 15 -20 0 20 -40 5 10 0
5 24 20 20 40 5 10 0 3.75 15 -20 3.75 5 20
5 24 20 20 40 3.75 5 20 5 10 0 0 0 40
0
5 24 0 20 -40 3.75 15 -20 0 0 -40 20 20 40
5 24 3.75 15 -20 5 10 0 0 0 -40 20 20 40
5 24 5 10 0 3.75 5 20 0 0 -40 20 20 40
5 24 3.75 5 20 0 0 40 0 0 -40 20 20 40
0
|
|
|
In lugnet.cad.dat.parts, Travis Cobbs wrote:
> In lugnet.cad.dat.parts, Don Heyse wrote:
> > Nice, I like the idea of the quadric primitive, but we want to
> > add some curvature to the LDRAW version, right? I fiddled a bit
> > with the part a few days ago, starting with the two triangles
> > outlined by your primitive. I didn't exactly finish, but I think
> > if you take this and make a surface that follows the green X and
> > also follows the red stripes, you end up with something pretty
> > decent where the optional lines work.
>
> The following are the appropriate conditionals for Don's surface.
> Playing with it you can have angles where the conditionals seem to
> go too far, but it's certainly much better than the current ones.
Hey, thanks testing it out. You're right about the conditionals
zig-zagging a bit. I still have the feeling that if the surface
were pinned down to the concave green line those zig-zags would
go away. But I couldn't decide whether to divvy it up with cuts
sorta parallel to the convex green line (like the torus primitives)
or with another fan outta one (or two) of the other corners. I
was kinda hoping that maybe with your superior math intuition, you'd
just know the right answer... ;^)
> (Note that the last 4 conditionals are only there to keep the surface
> smooth in LDView. I'm not sure if that's appropriate or not, but it
> looks a whole lot better in LDView with them present. It looks
> positively wretched without them.)
I'd keep 'em for now. But maybe this weekend I'll try and scale it
down to the 1x1x1 primitive size and pin the surfaces down to that
concave curve. Then it'll need a whole new set of conditionals.
Don
|
|
|
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
|
|
|
|
|