Flatten curved surface?
 1-13  14-30

Previous
Next
 From:  Michael Gibson
3042.14 In reply to 3042.13 
Hi Burr, just another example - you can generally use Perp/Perp to find things like closest or furthest points between things.

Here for example I'm drawing a line and using it to find the shortest line available between these 2 curves:



To use it you need to have picked the initial point somewhere in the general neighborhood of the actual spot, something like within 100 pixels or so.

Then there will be a target snap location calculated on the second curve, and if you move your mouse to target that one, it will get the special "Perp/Perp" snap.

Usually the perp/perp target point is just a little bit past the "single perp" one. There will usually be several different snap points available in that area, so move your mouse a bit slowly around there to see all the different ones.

The single perp one is the perpendicular from the initial point location dropped to the target curve. The double perp/perp one is the shared perpendicular between 2 curves.

There is also a Tan/Tan that works in the same way for tangents.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3042.15 In reply to 3042.14 
Oh the Perp/Perp is the one for me. Way cool, and thank you for the time on that.

As for the Conic. I did do the "use the tool to click the existing points and read the value" method. I was wondering about if you didnt have those points? Do all conic curves have only those three points. I'm trying to read up on this area and wanted to start using it somemore in my work to be proficient. I was reading a post from a guy who said you can create G2 using it (Slightly uncommon but doable) and also get some better results with it for Class A. I was more asking as a means to understand it's value and derivation. The big long math rules are going to be beyond me, and the value itself seems "relative" as a 0 to 1 ratio of "Whatever"? The whatever being what I was asking if it can be defined with some other trig or something.

I'm just starting in this area so I dont fully understand what I'm asking yet. I may have to study the whole equation to understand. Always led to someone doing conic math for nano precision optics and talking about the precision of their curves.

It may be beyond what I could expect from a short Forum answer. Was just wondering if there was an "Expression" that would read that value without the tool. Then I may understand it better.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3042.16 In reply to 3042.15 
Hi Burr,

> Do all conic curves have only those three points.

Well, all ones made with the conic tool do...

It's possible to have a curve that is a "conic section" that has more points in it though, for things like an ellipse or a circle. But those are actually the equivalent of several 3-point conic beziers that are glued together into a longer curve.

Also it is possible to have a conic sections that are defined by other ways than how the conic command happens to do it, so there is not necessarily an automatic Rho value to associate with every kind of possible conic curve, because the Rho only applies to the particular construction method of the "Conic" command. I don't think it is a thing that is universal that applies to every possible conic section if that is what you were thinking. There is something else called "eccentricity" that is like that - that is an inherent property of all conic sections. But that is different than the Rho value.


> I was more asking as a means to understand it's value and derivation.

I think it was historically used as a convenient way to describe a curve in compact form for use in airfoil tables or something like that.


If you want some more technical information, you could try The NURBS Book, 2nd edition, Les Piegl and Wayne Tiller, pg. 294, "Conics and Circles".


But basically it is just a way to control a shape by manipulating a parameter value.

If Rho < 0.5, the shape is an ellipse
If Rho = 0.5, the shape is a parabola
If Rho> 0.5 and < 1.0 the shape is a hyperbola


> and the value itself seems "relative" as a 0 to 1 ratio of "Whatever"?

If I remember right, it actually ends up as a percentage of the distance from the midpoint between the 2 endpoints being 0.0, and the point at the corner being 1.0. That's for a location of where the curve will pass through.

So for example say you've got these 3 shoulder points, where the distance from the corner to the line between the ends is 10 units like this:



If you make a conic there and type in 0.25 for the Rho value, that will place the high point of the curve at 25% of the distance, so in this case the high point of the curve will be at 2.5 units tall (25% of 10 units), like this:



Does that help?

Note that this also involves setting a special "weight" value on the control points of the curves to get the particular conic section shape.

Just because you see any curve that happens to be made up of 3 points does not necessarily mean it is a conic section curve.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3042.17 In reply to 3042.16 
Hi Burr,

Actually now that I think about it, this part that I wrote:

> Just because you see any curve that happens to be
> made up of 3 points does not necessarily mean it is a
> conic section curve.

is wrong I guess, because if you have a 3 point curve, that makes it a quadratic bezier and that will have the shape of a parabola I guess even if it does not have weights set.

Something like that anyway...

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3042.18 In reply to 3042.17 
Thanks Michael!
That was the answer I was looking to find. The percentage of the conic height thing. I can now continue.

I very much appreciate your help on this.

BTW: As I was fooling around with this, The Conic Curve in MoI, at an rho of less than .5, will produce a curve with 3 points across the top. The middle point being "on" the curve (Not always). If I follow the tan of the first two in relation to the top outer 2, it meets at the point of the usual third one. This threw me for a second but your explanation has lightened the room a bit :O

EDITED: 19 Jun 2012 by BURRMAN

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3042.19 In reply to 3042.18 
Could that be a bug? It doesnt seem to be the same curve as if I delet the 2 top outer ones, then move the center one up to the point.???
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3042.20 In reply to 3042.18 
Hi Burr,

> BTW: As I was fooling around with this, The Conic Curve in
> MoI, at an rho of less than .5, will produce a curve with 3
> points across the top.

Yeah, that will happen when you generate an ellipse segment that is longer than a certain size.

It's somewhat traditional to break up circles / arcs / ellipses of more than 90 degrees into chunks like that, for semi-arcane reasons.

You'll also find with those ones (Rho < 0.5) will have a center point snap for them way off to the side where the center of the ellipse actually is.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3042.21 In reply to 3042.19 
Hi Burr,

> Could that be a bug? It doesnt seem to be the same
> curve as if I delet the 2 top outer ones, then move the
> center one up to the point.???

Sorry, I'm not following this - it does not seem to be the same curve as what?

But remember, the Conic command also works by setting a "weight" value in addition to placing the points.

If you just drag the points around it is not changing the weight so you will not get the exact same result as the conic command is doing.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3042.22 In reply to 3042.21 
>>>Sorry, I'm not following this - it does not seem to be the same curve as what?
>>>

My Bad Michael, I just dont understand what I'm looking at yet. I meant a curve with only three points as opposed to the one created with 5. I was wondering if because it had more than the 3 points if it was doing something wrong.

But I understand your explanation so I'm good to go. :)

Thanks again
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3042.23 In reply to 3042.22 
Hi Burr, no you're not doing anything wrong there.

It would be technically possible for those ones to have only 3 points, it's just kind of a convention that circular and elliptical arcs are broken into multiple sub-segments if they span more than 90 degrees or so.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3042.24 In reply to 3042.22 
Hi Burr, also I see that I confused the situation when I said earlier that all the curves created by the Conic command are made up of 3 points.

That was wrong for ellipse segments unless it is a small sized ellipse piece.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3042.25 In reply to 3042.24 
No worries Michael,
We got it squared away and I'm off and running in my quest....:O

It was just a very small rho of my confusion on the subject.....Hehe.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Dan (LICHENROCK)
3042.26 
Hi folks,
This is what I have so far with regard to “flattening” a cylindrical surface. The multitude of illustrations and the detailed step-by-step are for the sake of any newcomers to MoI. I create a form according to the method described above. In this example I wanted to use a form with a dramatic curve which changes direction:
I move to the side all surfaces except the one containing the original generating curve (the one I extruded in order to create the surface in the above description). :

I draw a line of any length along the Y axis. Then, using the Curve Length script from <http://kyticka.webzdarma.cz/3d/moi/#CurveLength>, (Thank you Burrman and whoever wrote this awesome script!) I pick up the length of the original curve. Selecting the straight line just drawn on the Y axis, I edit the length in the upper right of the UI,

and position it with one endpoint on the origin (no reason for this move, just for the sake of it):

I then draw a point on the endpoint of the original curve and another on the corresponding endpoint of the straight line of the same length.
Next I select the point on the endpoint of the curve and array it along the curve. For this example I chose 15 as the item count in the Array Along Curve dialog. And I do the same with the straight line. This marks the curve and the line with 15 points of correspondence.
In Front View I draw a series of line segments, snapping one end on each point along the curve, and parallel to the X axis, snapping to the point of intersection on the edge of the surface:

I move the surface back to its position on the form and position 3D View to easily see the each line drawn along the curve and its corresponding position along the straight line.

Then one by one I select each line and move it to its corresponding position on the straight line:


Next I draw a curve using Freeform Curve / Through points, snapping in succession on the endpoints of the line segments as shown:
I select the top and bottom segment and this new curve and Mirror them along the Y axis:

And the result here:

should be a close enough approximation of the flattened surface I was going for and would be used to create a template for cutting a shape out of flat stock. As I see it, the points, intersections and endpoints are all true. The only approximation is with the curve through points. Then again, How many smooth curves can be drawn through 15 points? If I needed greater accuracy I could use 150 points of correspondence. The whole process doesn't take very long at all. As it is, once the sawdust starts flying and I’m straining to see the cutline through badly scratched safety goggles, tiny fractions of a millimeter are not going to matter.
I think I will be able to develop a similar method to “flatten” a surface derived from the surface of a cone.
By the way, Michael, earlier in this thread you described the Perp/Perp snap and the Tan/Tan snap. Incredible! I will be using these all the time. Thanks!
- Dan

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3042.27 In reply to 3042.26 
Dan,
What I think I found was that the curve length is not equating to the height of the unfolded surface. For instance, you unfilded your curve length and made it planar, but what nis the length of the new curve created with the through points tools? This is where I was stuck. If you could "clip that original piece" out of the vase from a paper model, that curve length of the edge would be the same laid flat, wouldnt it?

If you refer to the model I posted in this thread:

http://moi3d.com/forum/index.php?webtag=MOI&msg=3042.11

You'll find a surface in there marked as Rhino. This surface is the result of rhino unfolding it. The resultant height of the unfolded surface is different than the curve length extracted. When I created my surface using the original curve length to unfold it, I ended up with an edge curve much longer than the original edge curve, which when trying to bend it back up, doesnt work.

I want to revisit this, as I went through a thread with Michael before regarding unfolding and was given the tools. I just need to figure out how to apply them in a different type model. It involves converting our numbers to Radians for the unfolding. THis number conversion will be critical to the unfolding process. However, My example I did was done with a cone and it may prove beyond me to do with a curved surface like this.

MoI has added expressions for doing the Cone Unfold now which will help with conversion, but we must know the math. View this thread to refer to the expressions using a simple cone for unfolding it quickly using MoI. The million dollar question will be if you can apply it to the Vase!

http://moi3d.com/forum/index.php?webtag=MOI&msg=2558.1
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Dan (LICHENROCK)
3042.28 In reply to 3042.27 
Burrman,
I had looked at your post in which you included results from Rhino's UnrollSrf command.
(MoI's edge = 18.7470243394886 / Rhino's unrolled edge = 18.7500218509622) I guess I looked at that and decided it was close enough for me. But I don’t want to imply that I don’t appreciate people who strive for more precision.
In the model which I posted earlier, I used 15 points of correspondence: The results were:
38.1236928 for the edge of the solid and
38.1219458 for the curve derived by the Curve Through Points method.
In the next model using the same form, I simply increased the number of points of correspondence to 30:
The results were closer:
38.1236928 for the edge of the solid and
38.1235415 for the curve derived by the Curve Through Points method.
I also laid the first curve (derived from 15 points) over the second curve (derived from 30 points) and zoomed in close to examine to amount of divergence. I snapped a few lines from various points on one line to the other resulting in lengths of:
0.006009, 0.0005429, 0.0010549
I would assume that if one increased the number of points of correspondence towards infinity (a true curve) the length of the derived curve would approach the true length of the curved surface’s edge. That gets into calculus which makes my head hurt.
Those tools describing the relationship of length to radians to degrees are interesting. I will have to examine them when I get a chance. To be honest I never understood why there should be another way of measuring angles besides degrees. I dismissed radians without really trying to understand their practical use. Thanks
- Dan
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3042.29 In reply to 3042.28 
Dan, Those results are close enough for me too. I will explore your post more later. I laid the curves length out flat as you did and my surfaces curve edge came out in the 20's. Way off.

Since yours came out so close, I will explore and digress to what you've done there.

Thanks for getting back to me.

By pointing out the difference in the Rhino edge and the original, really miniscule, I was just pointing out that it is not an exacting thing, from what I have read and tried to learn on it. Your results are great too. I was assuming since you laid your line straight as did I that your curve would be way off like mine. But NOOOoooo. Mucho gracias for the post!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  BurrMan
3042.30 In reply to 3042.29 
Here's a script Michael put together that you can run while in any of the curve,arc or line commands that will show the length in realtime.


script: /* Show length of current curve being drawn */ try { moi.ui.commandUI.setInterval( 'var crvs = moi.geometryDatabase.getObjects().getCurves(); var len = 0.0; if ( crvs.length > 0 ) { len = crvs.item(crvs.length-1).getLength(); } if ( !window["_crvdistlabel"] ) { document.body.insertAdjacentHTML( "beforeEnd", "
" ); } _crvdistlabel.innerText = len.toFixed(4);', 250 ); } catch(e) {}


Start any of the commands, like arc or freeform or line, and pick your first point. Then hit the script and a label displaying the length will appear in the active command window. I wanted to ask for this label to be an editable field (Click and change the value) like the other EditSize boxes and such, but it just didnt seem that prominent of a function. I can get it other way's. I would be the guy who puts 10,000 tools on the front end. :O
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
 
Show messages:  1-13  14-30