# Mathematically accurate curved surfaces

#21

What exactly are you physically trying to achieve/calculate Forster, and does it require the accuracy and if so is it within the tolerance of maximum sides?
Ture curves versus segmented arcs isn’t an issue in construction even when building a dome, I personally never need “real” curves in Sketchup, however,for mechanical engineering I would. If you are working to tolerances that are less than 1mm in typical construction then I believe Sketchup is more than sufficient, if you are doing detailed joinery, simply add more sides to the arc or circle and you are away.
I would not use Sketchup to figure out the trajectory when visiting another solar system, mainly because my spaceship is not finished …yet, more so because there are better tools to do this type of job.
I like Sketchup the way it is,so Sketchup team before you get into true curves can you do a little more with Layout and IFC? Thanks.

#22

It’s just a feature request. I don’t actually need it either because I usually just make conceptual art. SketchUp is already amazing. It’s my favorite CADD program by far, but I just think accurate curved surfaces might possibly improve SketchUp. Thank you for all the feedback!

#23

This is an interesting thread because the value of true arcs and circles probably divides people - those who can see the efficiency and simplicity of using approximations from those who want ultimate accuracy.

What I would like to see is a more sophisticated means of controlling the number of facets to a curve. SU seems to have a default but I would like the option to change the default so that it was more approriate to the scale of things I work on. I might also like it to be a bit “smarter” and for the default to relate to size of object, all things that would remain user definable.

It would also be useful to be alerted when an operation is about to change a curve into individual line segments. How annoying is it to come back to a circle you created and find that SU can no longer locate the focus?

#24

MOI 3D is just as good and very cheap (relatively that is) as compared to Rhino, \$295 USD.

http://moi3d.com/index.htm

If one needs this level of precision that is.

#25

a polygon kernel cannot simply be rewritten to support a spline-based surface/solid modeling.

Developing a NURBS kernel is extremely complex and also not required because other (big) companies did already have done this as e.g. Spatial (a Dassault company) w/ the ACIS kernel (incl. data interchange formats) and benefically do license to other companies developing CAx applications.

#26

SketchUp’s arcs and circles have mathematically correct lengths, but have inexact areas and inexact volumes when you push/pull or use follow me on them.

When you explode the circle, it changes the circumference from that of a circle to that of a polygon.

As I mentioned the circles area is incorrect. SketchUp calculates a circle’s area like it’s a polygon instead of a circle.

Personally, I don’t want SketchUp’s default tools to have all these control points on curves (NURBS), but I just want the arc & circle command to do what they suggest… Mathematically correct arcs and circles. I don’t want a complete redesign of SketchUp, I don’t want any new tools (same old SketchUp arc tool and stuff), I just want SketchUp’s pre-existing tools to be more accurate.

#27

Of course, it’s session by session, but if you activate the circle or arc tool and type, e.g., 96s before doing anything else, that sets the default number of segments that will be used for the rest of that session or until you change it again.

#28

Arcs/circles are hybrid entities being aware of their analytics until processed further which requires the used polygon kernel to slab the ‘true’ arc/circle into line segments for creating a polyline resp. polygon in the amount of user definable segments.

#29

Here’s another instance where mathematically accurate curved surfaces would be helpful. I think I need a perfectly curved lens to render a view through a telescope, otherwise the render will have faceting/distortion.

#30

For rendering purposes, smooth surfaces can be approximated to an amazingly effective degree by using techniques such as Phong shading. I’ve implemented this in a ray tracer 30 years ago. It works very well for reflection and refraction, as well as simple surface shading.

#31

The glass material in the render materials used smooth shading. I tried a variety of different lens shapes (to ensure only the rounded parts were smoothed) and smoothing degrees, but they all had distortion. Even when I set hard angles to >180º, the faceting remained. The only thing that reduced distortion was increasing the poly-count.

The distortion is reducible by increasing the poly count (just like how increasing polygons increases accuracy when measuring curved volumes), so I think part of the problem is the faceted surface that isn’t a true curve.

Maybe I’m doing something wrong while rendering that’s causing the distortion or maybe Twilight isn’t as accurate as other renderers. Who knows? But this is just my speculation.

#32

Interesting experiments! I have no idea how Twilight works. The low-poly-but-smoothed result is much worse than I would have guessed, had Phone shading been used by the renderer to interpolate surface normals across the face of a polygon. The fact that the “smoothed” result still has visible discontinuities suggests to me that the smoothing is being done by some other technique. /shrug.

#33

I played around a bit with a double-convex lens and a grid pattern:

In addition to locating the lens in the model relative to the grid, I found that the position of the viewer’s eye-point drastically affected the results as well as the Field of View setting for the camera in SketchUp. For example, here are five renderings (using KerkyThea with simple ray tracing) that are distinctively different. The only change in the settings was to move the camera in or out (dolly movement) in KerkyThea:

[added later] My fresnel lens doesn’t work as well

lens2.skp (1.3 MB)

#34

I think you solved my problem because your model rendered without distortion in Twilight too.

It just started working all of a sudden… like magic. And I have no idea why. Even my low poly lens has almost no distortion, unlike before.

I guess you don’t need mathematically accurate surfaces to render lenses after all.

#35

I think the difference is that your newer renders have the eye-point (camera) positioned further back from the lens. If you’re viewing the lens from somewhere near the focal point, everything goes screwy. The effects around the edge are due partly to spherical aberration and the planar approximation.

#36

@ Forestr wrote:

I just want the arc & circle command to do what they suggest… Mathematically correct arcs and circles.

I go back to what @AnotherMikey wrote (above). There is no such thing as “Mathematically correct arcs and circles”. (If I remember my calculus from 30+ years ago.)

Any calculation that involves pi is an estimate. The more digits of pi you use, the more precise your estimate, but it will never be exactly right. Finding the area under a curve involves summation of the areas of successive rectangles. Increase the number of rectangles, and you increase the precision of your estimate. Sketchup does the same thing on curves by allowing us to increase the number of segments. It all comes down to what level of precision you require (and what level of precision your hardware is able to produce in a reasonable amount of time).

So it is my belief that there is no software on planet earth that can give you exact areas & volumes. Only estimates that may be more precise than you usually see with SketchUp. But then what are you trading off for that extra precision? Speed of modeling, perhaps? Or overall complexity of the models you can build?

#37

Maybe a more accurate equation will come out one day that doesn’t use irrational numbers.

#38

an circle can of course be analytically described by center and radius, this has nothing to do with the interpolation of a circle by a polygon… even stretching the resolution = segementation to the infimum won’t change the entity type.

#39

#40

and how this would be made with SU: