Это кубоктаэдр, но его края острые.
Это было сделано с помощью новой функции PythonScad для рендеринга сферы с радиусом, зависящим от угла, которая уже доступна на GitHub.
Получите PythonSCAD наhttp://pythonscad.org/
Простой использованный код находится внизу.
Вы можете легко изменить резкость, изменив экспоненту pow или, по сути, создав что-нибудь другое вместо этого.
=============
Из OpenSCAD импортируем.
Из математики импортируем.
def dot(v1, v2):
Возвращаем v1[0].v2[0] + v1[1]v2[1] + v1[2]*v2[2]
def mydotmax(v, dirs):
Результат = 0
для dir в dirs:
Res = максимум(res, абсолютное значение(dot(v, dir)))
Вернуть результат.
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])
Дефолтная функция rfunc(v):
cf = mydotmax(v, dirs)
Возвращаем 10/pow(cf,1.5)
sphere(rfunc,fs=0.5,fn=10).show()
Fuente del modelo
