Posts

more accurate graphics

Image
Here, I have upgraded find_circle.c, so that it starts with the desired initial and final values for the radius, and for the width of the string band.  The positions of the strings are calculated to evenly fit across these chosen radiuses.  So this figure is finally representative of something realistic.  In this case, I have chosen 1.75" width and 9.5" radius at the nut, 2.25" width and 2.5" radius at the bridge. I used 40 steps in this diagram.  Values I've seen for bass scale, in inches, range from about 35" - 41".  So, roughly speaking, each circle represents the radius at a spacing of 1 inch along the fingerboard. (Keep in mind that this diagram represents the full region between nut and bridge, but normally the fingerboard stops somewhere above the bridge.  With the Glarry bass (Ibanez-style), the existing fingerboard covers 2 octaves (24 frets), so this would encompass the first 75% of the diagram, i.e., the 30 radius circles starting at

how the pros do it (?)

I found this article online, which addresses some of the same concerns as I have been investigating: https://joeynaegerbasses.com/resources/fingerboard-geometry/ However, the author does not seem to fully understand the geometry of the situation.  There is no clear diagram showing what happens "in the middle", between the two defined radiuses at the nut and bridge.  This, of course, is the key issue!  But this author, with so many others, just digresses into a discussion of "scoop", which seems to be something that is just iteratively added until things play correctly. I found an even more clear confirmation of my suspicions about how the pros may handle this problem, reading some of the online discussion forums dedicated to the upright bass.  One maker said that his approach was to simply plane away the fingerboard until it followed the "lie of the strings".  This is conceptually brilliant, and should result in the same figure that I have created mat

a graphical representation

Image
Here's one way to visualize this shape.  I used find_circle.c to make 25 pairs of y-value, radius numbers.  Then I made a simple PostScript program to plot circles of the right radiuses at the specified offsets, in a staggered manner so that the resulting figure kind of resembles a 3-D representation (although the perspective isn't actually correct, the circles should be ellipses).  The fingerboard would be a narrow strip cut out of the top, relatively flat, portion of this shape.  (Maybe I'll put that into the diagram, too.) ...OK, try this: The curved lines can cause a bit of an optical illusion; but if you check with a straightedge, you can verify that each of the four rows of dots representing the path of a string, follows a straight line over the surface of the shape.  You can also see that my guesswork values for the string positions are not as realistic as I might have hoped: down at the bridge, the two middle strings are clearly too close together, compare

code

FWIW, here is the rest of the C program, to go with the definition of find_circle() I provided before ("well, what shape, then?").  I just change values and re-compile this program, to generate data sets.  Once I have a text file full of values produced by this program, I use "awk" to select columns to make subsets of the data for use with Gnuplot. Example: awk '{print $4}' < find_circle.out > yvals.txt (Others might prefer to use use perl, python, whatever...) #include <stdio.h> #include <stdlib.h> #include <math.h> #define SHOW_COORDS /**** #define SHOW_ADDTL ****/ #define NUM_STEPS 100 /*  position values in mm  */ #define X1_INIT (-22.5) #define Y1_INIT (-3.0) #define X1_FINAL (-33.0) #define Y1_FINAL (-25.0) #define X2_INIT (-7.5) #define Y2_INIT (0.0) #define X2_FINAL (-11.0) #define Y2_FINAL (0.0) #define X3_INIT (-(X2_INIT)) #define Y3_INIT (Y2_INIT) #define X3_FINAL (-(X2_FINAL)) #define Y3_FINAL (Y2_FINAL) /*  pos: [0.0

more results...

Image
Here's what the graph looks like, with more "realistic" values for the string positions: Notice that now, *both* of the functions "bend back around".  The radius reaches a minimum somewhere in the middle, and by the bridge end, it has started to go up again, very slightly.  Similarly, the center Y position is at its highest value (i.e., closest to the top surface of the fingerboard) in the same general region of the middle, and it has started to go down at the bridge end. The new, "more-realistic" values: /*  position values in mm  */ #define X1_INIT (-22.5) #define Y1_INIT (-3.0) #define X1_FINAL (-33.0) #define Y1_FINAL (-25.0) #define X2_INIT (-7.5) #define Y2_INIT (0.0) #define X2_FINAL (-11.0) #define Y2_FINAL (0.0) (And (X3,Y3) is the mirror of (X2,Y2), e.g., (7.5,0) <-> (-7.5,0).)  I think I need to create a graphical representation of the final shape...

first numerical results...

Image
Well, I guess maybe the code is OK; I'm not certain of that, but looking more closely at the values and the context, I think they might be correct.  Anyway, here's a graph of what I'm getting: (This plot was produced using GNU Octave, from data produced by the C function I showed in the last post.) This is depicting the Y-position of the circle centers (the X-position is always 0), and the radius values of the circles.  Y values are negative because everything is measured relative to the top surface of the fingerboard. Dimensions are in mm (not that it matters).  The horizontal axis (this would be the Z axis, the way we've been naming things), however, is just an abstract position number: 0 for the nut end, 100 for the bridge end.  In reality, this distance will be something more like 1000mm. Initial string positions (nut end):                (-10,0)  (10,0)    (-30,-3)                       (30,-3) Final string positions (bridge end):      (-44,0)     

well, what shape, then?

Image
So what is the correct, optimal theoretical shape for this item, then?  I don't know if there's a mathematical name for it or not, probably, but it's a "cone-oid" with a non-uniform rate of change of radius.  Additionally, the centers of the circles are not co-linear: if they were, this would lead to "Christmas-ornament" shapes or "onion" and "pear" kinds of shapes.  Here, the co-linear portion is basically one edge of the "cone-oid".  More precisely, the paths of the four strings, by definition, are co-linear; the radius at each point is simply the radius of the circle which touches all four strings (there will always be exactly one such circle).  The center of each circle wanders up and down in accordance with the radius, which itself changes in a smooth but non-linear way; but the circle centers are always on the centerline, left-to-right (assuming for now the bass is lying on its back), because the string band layout pat