C'est un cuboctaèdre, mais ses bords sont tranchants.
Cela a été fait avec la nouvelle fonctionnalité de PythonScad pour rendre une sphère avec un rayon dépendant de l'angle, qui est déjà disponible sur GitHub.
Obtenez PythonScad à l'adresse suivante :http://pythonscad.org/
Le code simple utilisé est en bas.
Vous pouvez facilement changer la netteté en modifiant l'exposant de la puissance ou en créant simplement d'autres choses à la place.
=============
de openscad import
de mathématiques importe
def dot(v1, v2):
retourne v1[0]v2[0] + v1[1]v2[1] + v1[2]*v2[2]
def mydotmax(v, dirs):
res = 0
pour dir dans dirs :
res = max(res, abs(dot(v, dir)))
retourne 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])
définition de la fonction rfunc(v) :
cf = mydotmax(v, dirs)
retournez 10/pow(cf,1.5)
sphere(rfunc,fs=0.5,fn=10).show()
모델 소스
