Skip to content

Commit

Permalink
Marching cubes
Browse files Browse the repository at this point in the history
  • Loading branch information
skremiec committed Oct 30, 2015
1 parent b27ee0d commit a505cf2
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
52 changes: 52 additions & 0 deletions examples/marching_cubes.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from k3d import K3D\n",
"from numpy import mgrid\n",
"\n",
"resolution = 30\n",
"X, Y, Z = mgrid[:resolution, :resolution, :resolution]\n",
"scalars_field = ((X-15.0)/15.0)**2 + ((Y-15.0)/15.0)**2 + ((Z-15.0)/15.0)**2\n",
"\n",
"view_matrix = (\n",
" 1.0, 0.0, 0.0, 0.2,\n",
" 0.0, 1.0, 0.0, 0.0,\n",
" 0.0, 0.0, 1.0, 27.5,\n",
" 0.0, 0.0, 0.0, 1.0\n",
")\n",
"\n",
"plot = K3D()\n",
"plot += K3D.marching_cubes(view_matrix, scalars_field, resolution, isolation=0.8)\n",
"plot.display()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
11 changes: 11 additions & 0 deletions k3d/factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,17 @@ def surface(cls, view_matrix, heights, resolution):
'resolution': resolution,
}

@classmethod
def marching_cubes(cls, view_matrix, scalars_field, resolution, isolation, color=0xFFFFFF):
return {
'type': 'MarchingCubes',
'modelViewMatrix': cls.__matrix_to_list(view_matrix),
'resolution': resolution,
'color': color,
'isolation': isolation,
'scalarsField': cls.__matrix_to_list(scalars_field),
}

@classmethod
def __to_list(cls, arg):
if not hasattr(arg, '__iter__'):
Expand Down

0 comments on commit a505cf2

Please sign in to comment.