Geometry typesΒΆ
[1]:
from pythreejs import *
from IPython.display import display
from math import pi
[2]:
# Reduce repo churn for examples with embedded state:
from pythreejs._example_helper import use_example_model_ids
use_example_model_ids()
[3]:
BoxGeometry(
width=5,
height=10,
depth=15,
widthSegments=5,
heightSegments=10,
depthSegments=15)
[3]:
[4]:
BoxBufferGeometry(
width=5,
height=10,
depth=15,
widthSegments=5,
heightSegments=10,
depthSegments=15)
[4]:
[5]:
CircleGeometry(
radius=10,
segments=10,
thetaStart=0.25,
thetaLength=5.0)
[5]:
[6]:
CircleBufferGeometry(
radius=10,
segments=10,
thetaStart=0.25,
thetaLength=5.0)
[6]:
[7]:
CylinderGeometry(
radiusTop=5,
radiusBottom=10,
height=15,
radialSegments=6,
heightSegments=10,
openEnded=False,
thetaStart=0,
thetaLength=2.0*pi)
[7]:
[8]:
CylinderBufferGeometry(
radiusTop=5,
radiusBottom=10,
height=15,
radialSegments=6,
heightSegments=10,
openEnded=False,
thetaStart=0,
thetaLength=2.0*pi)
[8]:
[9]:
dodeca_geometry = DodecahedronGeometry(radius=10, detail=0, _flat=True)
dodeca_geometry
[9]:
[10]:
LineSegments(
EdgesGeometry(dodeca_geometry),
LineBasicMaterial(parameters=dict(color='ffffff'))
)
[10]:
[ ]:
# TODO:
# ExtrudeGeometry(...)
[11]:
IcosahedronGeometry(radius=10, _flat=True)
[11]:
[12]:
LatheBufferGeometry(
points=[
[ 0, -10, 0 ],
[ 10, -5, 0 ],
[ 5, 5, 0 ],
[ 0, 10, 0 ]
],
segments=16,
phiStart=0.0,
phiLength=2.0*pi, _flat=True)
[12]:
[13]:
OctahedronGeometry(radius=10, detail=0, _flat=True)
[13]:
[14]:
ParametricGeometry(
func="""function(u,v,out) {
var x = 5 * (0.5 - u);
var y = 5 * (0.5 - v);
out.set(10 * x, 10 * y, x*x - y*y);
}""",
slices=5,
stacks=10, _flat=True)
[14]:
[15]:
PlaneGeometry(
width=10,
height=15,
widthSegments=5,
heightSegments=10)
[15]:
[16]:
PlaneBufferGeometry(
width=10,
height=15,
widthSegments=5,
heightSegments=10)
[16]:
[ ]:
# TODO
# PolyhedronGeometry(...)
[17]:
# TODO: issues when radius is 0...
RingGeometry(
innerRadius=10,
outerRadius=25,
thetaSegments=8,
phiSegments=12,
thetaStart=0,
thetaLength=6.283185307179586)
[17]:
[18]:
# TODO: issues when radius is 0...
RingBufferGeometry(
innerRadius=10,
outerRadius=25,
thetaSegments=8,
phiSegments=12,
thetaStart=0,
thetaLength=6.283185307179586)
[18]:
[ ]:
# TODO
# ShapeGeometry(...)
[19]:
SphereGeometry(
radius=20,
widthSegments=8,
heightSegments=6,
phiStart=0,
phiLength=1.5*pi,
thetaStart=0,
thetaLength=2.0*pi/3.0)
[19]:
[20]:
SphereBufferGeometry(
radius=20,
widthSegments=8,
heightSegments=6,
phiStart=0,
phiLength=1.5*pi,
thetaStart=0,
thetaLength=2.0*pi/3.0)
[20]:
[21]:
TetrahedronGeometry(radius=10, detail=1, _flat=True)
[21]:
[ ]:
# TODO: font loading
# TextGeometry(...)
[22]:
TorusGeometry(
radius=20,
tube=5,
radialSegments=20,
tubularSegments=6,
arc=1.5*pi)
[22]:
[23]:
TorusBufferGeometry(radius=100)
[23]:
[24]:
TorusKnotGeometry(
radius=20,
tube=5,
tubularSegments=64,
radialSegments=8,
p=2,
q=3)
[24]:
[25]:
TorusKnotBufferGeometry(
radius=20,
tube=5,
tubularSegments=64,
radialSegments=8,
p=2,
q=3)
[25]:
[ ]:
# TODO: handling THREE.Curve
TubeGeometry(
path=None,
segments=64,
radius=1,
radialSegments=8,
close=False)
[26]:
WireframeGeometry(geometry=TorusBufferGeometry(
radius=20,
tube=5,
radialSegments=6,
tubularSegments=20,
arc=2.0*pi
))
[26]:
[ ]: