sinc function

by ordaos, published

sinc function by ordaos Apr 12, 2011

Featured Thing!

7 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps



Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

4180Views 1635Downloads


This is the surface generated by a sinc function (http://en.wikipedia.org/wiki/Sinc_function). It was inspired by some of the other work done on knots, specifically emmett who was using matlab.

The openSCAD file contains the matlab code to generate the surface which was then imported into openSCAD. openSCAD offers a very simple method for turning height data into an object.


print and marvel at the makerbotable mind-bending math.

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

It reminds me of the 'hi res' display image that it seems all the old computer systems of the late 70's would use.. it would have one of those as the picture.

You can go straight from Matlab to an STL file without OpenSCAD.



I know it doesn't help much here, cause you've already done it, but its an easy approach to get an arbitrary surface. There's also a version for doing it with polar co-ordinates, which allows you to vary the shape, e.g., to do a circular version of the above.


That's great! Making the surface solid was the issue I ran into. I saw the surf2stl but not your surf2solid. Thanks.

Fantastic! I guess this means someone needs to add surface to the OpenSCAD wiki manual. I never even knew those example files existed; those are a great resource.

Is there a "sincTest.dat" file that should go with this?

Sorry, just uploaded it, "sincTest.dat"

Is the surface function you are using described anywhere? I couldn't see it on the OpenSCAD User Manual Wiki.

Sorry for the confusion, openSCAD doesn't have a sinc function, I just commented the matlab code in the openscad file for demonstration purposes. I'm not very familiar with openscad but there probably is a way to generate the height data in openscad. It's pretty simple math. You just need to generate an array of points, or mesh, then calculate the height for each point.

Yeah I got that, but how did you know about the surface() function? I don't see it in the openscad docs.

See example10 that comes with OpenSCAD. It has been there for as long as I can remember. :)

yep, that's how I found it too. Just browsing through the examples and found exactly what I was looking for! I started by trying to extrude a matlab generated stl then performing a boolean operation to create a flat bottom. This is much more elegant.

Wow, I didn't know openscad had a surface function either! By the way, since I don't have matlab and I wanted to try this out, I installed Octave on OSX (using brew install octave) and this was the octave code I used to generate the dat file:

graphics_toolkit ("fltk");
[X,Y] = meshgrid(-12:.5:12);
R = sqrt(X.^2 + Y.^2) + eps;
Z = 20*sin(R)./(R);
save sincTest.dat -ascii Z