code cleaning + add sma_open.json
This commit is contained in:
parent
77f6ac7105
commit
9c014739c7
17
cad/sma_open.json
Normal file
17
cad/sma_open.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"parameterSets": {
|
||||
"lebedev26": {
|
||||
"neighbors": "[[14, 15, 16, 17], [14, 21, 22, 18], [15, 18, 23, 19], [16, 19, 24, 20], [17, 21, 25, 20], [22, 23, 24, 25], [14, 15, 18], [15, 16, 19], [16, 17, 20], [17, 14, 21], [22, 23, 18, 26], [23, 24, 19, 26], [24, 25, 20, 26], [21, 22, 25, 26], [0, 1, 6, 9], [0, 2, 6, 7], [0, 3, 7, 8], [0, 4, 8, 9], [1, 2, 6, 10], [2, 3, 7, 11], [3, 4, 8, 12], [4, 1, 9, 13], [1, 5, 10, 13], [2, 5, 10, 11], [3, 5, 11, 12], [4, 5, 12, 13], [10, 11, 12, 13]]",
|
||||
"phi": "[0, 0, 90, 180, 270, 0, 45, 135, 225, 315, 45, 135, 225, 315, 0, 90, 180, 270, 45, 135, 225, 315, 0, 90, 180, 270, 0]",
|
||||
"r": "[150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 270]",
|
||||
"theta": "[0, 90, 90, 90, 90, 180, 54.7356, 54.7356, 54.7356, 54.7356, 125.264, 125.264, 125.264, 125.264, 45, 45, 45, 45, 90, 90, 90, 90, 135, 135, 135, 135, 180]"
|
||||
},
|
||||
"tetrahedron5": {
|
||||
"neighbors": "[[1, 2, 3, 4], [2, 3, 0, 4, 5], [3, 0, 1, 4, 5], [0, 1, 2, 5], [0, 1, 2], [1, 2, 3]]",
|
||||
"phi": "[0, 240, 120, 0, 180, 0]",
|
||||
"r": "[100, 100, 100, 100, 34, 150]",
|
||||
"theta": "[0, 109.471, 109.471, 109.471, 70.5284, 180]"
|
||||
}
|
||||
},
|
||||
"fileFormatVersion": "1"
|
||||
}
|
@ -5,44 +5,23 @@ include <threads.scad>;
|
||||
// Last parameter is for support attach.
|
||||
|
||||
// sphere radius (mm):
|
||||
r = [150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 270];
|
||||
r = [100, 100, 100, 100, 34, 150];
|
||||
|
||||
// microphones zenith coordinates (°):
|
||||
theta = [0., 90., 90., 90., 90., 180., 54.7356, 54.7356, 54.7356, 54.7356, 125.264, 125.264, 125.264, 125.264, 45., 45., 45., 45., 90., 90., 90., 90., 135., 135., 135., 135., 180];
|
||||
theta = [0, 109.471, 109.471, 109.471, 70.5284, 180];
|
||||
|
||||
// microphone azimuth coordinates (°):
|
||||
phi = [0., 0., 90., 180., 270., 0., 45., 135., 225., 315., 45., 135., 225., 315., 0., 90., 180., 270., 45., 135., 225., 315., 0., 90., 180., 270., 0];
|
||||
phi = [0, 240, 120, 0, 180, 0];
|
||||
|
||||
// connection matrix
|
||||
neighbors =
|
||||
[
|
||||
[14, 15, 16, 17], //0
|
||||
[14, 21, 22, 18], //1
|
||||
[15, 18, 23, 19], //2
|
||||
[16, 19, 24, 20], //3
|
||||
[17, 21, 25, 20], //4
|
||||
[22, 23, 24, 25], //5
|
||||
[14, 15, 18], //6
|
||||
[15, 16, 19], //7
|
||||
[16, 17, 20], //8
|
||||
[17, 14, 21], //9
|
||||
[22, 23, 18, 26], //10
|
||||
[23, 24, 19, 26], //11
|
||||
[24, 25, 20, 26], //12
|
||||
[21, 22, 25, 26], //13
|
||||
[0, 1, 6, 9], //14
|
||||
[0, 2, 6, 7], //15
|
||||
[0, 3, 7, 8], //16
|
||||
[0, 4, 8, 9], //17
|
||||
[1, 2, 6, 10], //18
|
||||
[2, 3, 7, 11], //19
|
||||
[3, 4, 8, 12], //20
|
||||
[4, 1, 9, 13], //21
|
||||
[1, 5, 10, 13], //22
|
||||
[2, 5, 10, 11], //23
|
||||
[3, 5, 11, 12], //24
|
||||
[4, 5, 12, 13], //25
|
||||
[10, 11, 12, 13], // support
|
||||
[1, 2, 3, 4], //0
|
||||
[2, 3, 0, 4, 5], //1
|
||||
[3, 0, 1, 4, 5], //2
|
||||
[0, 1, 2, 5], //3
|
||||
[0, 1, 2], //4
|
||||
[1, 2, 3], // support
|
||||
];
|
||||
|
||||
module attach(id_mic, rmic=3.82, rstud=1.75, color="yellow"){
|
||||
@ -105,7 +84,7 @@ module support(stud=1.75){
|
||||
phi[neighbors[id_mic][i]]
|
||||
]
|
||||
);
|
||||
rtp2=cart2sph(neighbor-center);
|
||||
rtp2=cart2sph(neighbor-center);
|
||||
translate(center)
|
||||
rotate([0, rtp2[1], rtp2[2]]){
|
||||
cylinder(r=stud+2,h=22);
|
||||
@ -161,105 +140,8 @@ module studs(id_mic, rstud=1.75){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function cart2sph(vec)
|
||||
= [norm(vec), acos(vec[2]/norm(vec)), atan2(vec[1],vec[0])];
|
||||
|
||||
function sph2cart(vec)
|
||||
= [vec[0]*sin(vec[1])*cos(vec[2]), vec[0]*sin(vec[1])*sin(vec[2]), vec[0]*cos(vec[1])];
|
||||
|
||||
|
||||
|
||||
// Support for mic stand
|
||||
|
||||
// Mic pointing at center
|
||||
//center = supp;
|
||||
//rtp = cart2sph(center);
|
||||
//echo(rtp);
|
||||
//rotate([0, -rtp[1], 0])
|
||||
//rotate([0, 0,-rtp[2]])
|
||||
//attach(
|
||||
//center=supp,neighbourgs=[
|
||||
//[x[0],y[0],z[0]],
|
||||
//[x[1],y[1],z[1]],
|
||||
//[x[2],y[2],z[2]]
|
||||
//]);
|
||||
|
||||
// Support attach
|
||||
|
||||
//attach3(center = support, neighbourgs=[
|
||||
//[x[1], y[1], z[1]],
|
||||
//[x[2], y[2], z[2]],
|
||||
//[x[3], y[3], z[3]]
|
||||
//]);
|
||||
|
||||
|
||||
// Mic #0
|
||||
//attach(
|
||||
//center=[x[0], y[0], z[0]],neighbourgs=[
|
||||
//supp,
|
||||
//[x[1],y[1],z[1]],
|
||||
//[x[2],y[2],z[2]],
|
||||
//[x[3],y[3],z[3]]
|
||||
//]);
|
||||
|
||||
// Mic #1
|
||||
//center = [x[1],y[1],z[1]];
|
||||
//rtp = cart2sph(center);
|
||||
//echo(rtp);
|
||||
//rotate([0, -rtp[1], 0])
|
||||
//rotate([0, 0,-rtp[2]])
|
||||
//attach(
|
||||
//center=[x[1], y[1], z[1]],neighbourgs=[
|
||||
//supp,
|
||||
//support,
|
||||
//[x[0],y[0],z[0]],
|
||||
//[x[2],y[2],z[2]],
|
||||
//[x[3],y[3],z[3]],
|
||||
//]);
|
||||
|
||||
module dist(i,j){
|
||||
echo(
|
||||
sqrt(
|
||||
pow((x[i]-x[j]),2) +
|
||||
pow((y[i]-y[j]),2) +
|
||||
pow((z[i]-z[j]),2)
|
||||
)
|
||||
- 2 * 16
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Mic #2
|
||||
//center = [x[2],y[2],z[2]];
|
||||
//rtp = cart2sph(center);
|
||||
//echo(rtp);
|
||||
//rotate([0, -rtp[1], 0])
|
||||
//rotate([0, 0,-rtp[2]])
|
||||
//attach(
|
||||
//center=[x[2], y[2], z[2]],neighbourgs=[
|
||||
//support,
|
||||
//supp,
|
||||
//[x[0],y[0],z[0]],
|
||||
//[x[1],y[1],z[1]],
|
||||
//[x[3],y[3],z[3]],
|
||||
//]);
|
||||
|
||||
|
||||
// Mic #3
|
||||
//center = [x[3],y[3],z[3]];
|
||||
//rtp = cart2sph(center);
|
||||
//echo(rtp);
|
||||
//rotate([0, -rtp[1], 0])
|
||||
//rotate([0, 0,-rtp[2]])
|
||||
//attach(
|
||||
//center=[x[3], y[3], z[3]],neighbourgs=[
|
||||
//support,
|
||||
//[x[0],y[0],z[0]],
|
||||
//[x[1],y[1],z[1]],
|
||||
//[x[2],y[2],z[2]],
|
||||
//]);
|
||||
= [vec[0]*sin(vec[1])*cos(vec[2]), vec[0]*sin(vec[1])*sin(vec[2]), vec[0]*cos(vec[1])];
|
Loading…
Reference in New Issue
Block a user