Este es un cuboctaedro, pero sus bordes son afilados.
Se hizo con la nueva función de PythonScad para renderizar una esfera con un radio dependiente del ángulo, que ya está disponible en GitHub.
Obtén pythonscad enhttp://pythonscad.org/
El código simple utilizado está en la parte inferior.
Puedes cambiar fácilmente la nitidez cambiando el exponente del pow o, básicamente, creando otras cosas en su lugar.
=============
Desde OpenSCAD, importar.
Desde matemáticas importa
def dot(v1, v2):
Regresa v1[0]v2[0] + v1[1]v2[1] + v1[2]*v2[2]
def mydotmax(v, dirs):
Res = 0
para dir en dirs:
res = max(res, abs(dot(v, dir)))
Regresa res.
dirs=[]
dirs.append([0.0,0.0,1.0])
dirs.append([1.0,0.0,0.0])
dirs.append([0.0,1.0,0.0])
dirs.append([0.5,0.5,0.5])
dirs.append([0.5,0.5, -0.5])
dirs.append([0.5,-0.5,0.5])
dirs.append([0.5,-0.5,-0.5])
Def rfunc(v):
cf = mydotmax(v, dirs)
Regresa 10/pow(cf,1.5)
esfera(rfunc,fs=0.5,fn=10).show()
Model Source
