Class: Surface3D
Defined in: mobjects/three-d/Surface3D.ts:68
Surface3D - A parametric 3D surface
Creates a parametric surface using Three.js ParametricGeometry. The surface is defined by a function that maps (u, v) parameters to 3D points.
Example
// Create a paraboloid
const paraboloid = new Surface3D({
func: (u, v) => {
const x = u * 2 - 1;
const y = v * 2 - 1;
const z = x * x + y * y;
return [x, y, z];
},
uRange: [0, 1],
vRange: [0, 1]
});
// Create a sphere using parametric equations
const sphere = new Surface3D({
func: (u, v) => {
const theta = u * Math.PI * 2;
const phi = v * Math.PI;
return [
Math.sin(phi) * Math.cos(theta),
Math.sin(phi) * Math.sin(theta),
Math.cos(phi)
];
}
});
Extends
Extended by
Constructors
Constructor
new Surface3D(
options):Surface3D
Defined in: mobjects/three-d/Surface3D.ts:79
Parameters
options
Returns
Surface3D
Overrides
Properties
__savedMobjectState
__savedMobjectState:
unknown=null
Defined in: core/Mobject.ts:82
JSON-serializable saved state (used by restoreState()).
Inherited from
_centerPoint
protected_centerPoint:Vector3Tuple
Defined in: mobjects/three-d/Surface3D.ts:76
_checkerboardColors?
protectedoptional_checkerboardColors: [string,string]
Defined in: mobjects/three-d/Surface3D.ts:77
_color
protected_color:string='#ffffff'
Defined in: core/Mobject.ts:57
Inherited from
_dirty
_dirty:
boolean=true
Defined in: core/Mobject.ts:75
Inherited from
_disableChildZLayering
protected_disableChildZLayering:boolean=false
Defined in: core/Mobject.ts:72
When true, children skip the 2D z-layering offset in _syncToThree.
Inherited from
Mobject._disableChildZLayering
_doubleSided
protected_doubleSided:boolean
Defined in: mobjects/three-d/Surface3D.ts:75
_func()
protected_func: (u,v) =>Vector3Tuple
Defined in: mobjects/three-d/Surface3D.ts:69
Parameters
u
number
v
number
Returns
_opacity
protected_opacity:number=1
Defined in: core/Mobject.ts:68
Inherited from
_style
protected_style:MobjectStyle
Defined in: core/Mobject.ts:73
Inherited from
_threeObject
_threeObject:
Object3D<Object3DEventMap> =null
Defined in: core/Mobject.ts:74
Inherited from
_uRange
protected_uRange: [number,number]
Defined in: mobjects/three-d/Surface3D.ts:70
_uResolution
protected_uResolution:number
Defined in: mobjects/three-d/Surface3D.ts:72
_vRange
protected_vRange: [number,number]
Defined in: mobjects/three-d/Surface3D.ts:71
_vResolution
protected_vResolution:number
Defined in: mobjects/three-d/Surface3D.ts:73
_wireframe
protected_wireframe:boolean
Defined in: mobjects/three-d/Surface3D.ts:74
children
children:
Mobject[] =[]
Defined in: core/Mobject.ts:52
Inherited from
createdAtBeginning
createdAtBeginning:
boolean=false
Defined in: core/Mobject.ts:56
Inherited from
fillOpacity
fillOpacity:
number=0
Defined in: core/Mobject.ts:70
Inherited from
id
readonlyid:string
Defined in: core/Mobject.ts:50
Inherited from
parent
parent:
Mobject=null
Defined in: core/Mobject.ts:51
Inherited from
position
position:
Vector3
Defined in: core/Mobject.ts:53
Inherited from
rotation
rotation:
Euler
Defined in: core/Mobject.ts:54
Inherited from
savedState
savedState:
Mobject=null
Defined in: core/Mobject.ts:78
Saved mobject copy (used by Restore animation). Set by saveState().
Inherited from
scaleVector
scaleVector:
Vector3
Defined in: core/Mobject.ts:55
Inherited from
strokeWidth
strokeWidth:
number=4
Defined in: core/Mobject.ts:69
Inherited from
targetCopy
targetCopy:
Mobject=null
Defined in: core/Mobject.ts:80
Target copy used by generateTarget() / MoveToTarget animation.
Inherited from
Accessors
color
Get Signature
get color():
string
Defined in: core/Mobject.ts:58
Returns
string
Set Signature
set color(
value):void
Defined in: core/Mobject.ts:61
Parameters
value
string
Returns
void
Inherited from
fillColor
Get Signature
get fillColor():
string
Defined in: core/Mobject.ts:171
Returns
string
Set Signature
set fillColor(
color):void
Defined in: core/Mobject.ts:175
Parameters
color
string
Returns
void
Inherited from
isDirty
Get Signature
get isDirty():
boolean
Defined in: core/Mobject.ts:448
Returns
boolean
Inherited from
opacity
Get Signature
get opacity():
number
Defined in: core/Mobject.ts:101
Returns
number
Set Signature
set opacity(
value):void
Defined in: core/Mobject.ts:105
Parameters
value
number
Returns
void
Inherited from
style
Get Signature
get style():
MobjectStyle
Defined in: core/Mobject.ts:109
Returns
Inherited from
submobjects
Get Signature
get submobjects():
Mobject[]
Defined in: core/Mobject.ts:123
Returns
Mobject[]
Inherited from
Methods
_createCopy()
protected_createCopy():Surface3D
Defined in: mobjects/three-d/Surface3D.ts:394
Create a copy of this Surface3D
Returns
Surface3D
Overrides
_createThreeObject()
protected_createThreeObject():Object3D
Defined in: mobjects/three-d/Surface3D.ts:117
Create the Three.js parametric surface mesh
Returns
Object3D
Overrides
_getBoundingBox()
_getBoundingBox():
object
Defined in: core/Mobject.ts:367
Returns
object
depth
depth:
number
height
height:
number
width
width:
number
Deprecated
Use getBoundingBox() instead.
Inherited from
_getEdgeInDirection()
_getEdgeInDirection(
direction):Vector3Tuple
Defined in: core/Mobject.ts:360
Parameters
direction
Returns
Inherited from
_markDirty()
_markDirty():
void
Defined in: core/Mobject.ts:438
Returns
void
Inherited from
_markDirtyUpward()
_markDirtyUpward():
void
Defined in: core/Mobject.ts:442
Returns
void
Inherited from
_syncMaterialToThree()
protected_syncMaterialToThree():void
Defined in: mobjects/three-d/Surface3D.ts:193
Sync material properties to Three.js object
Returns
void
Overrides
_syncToThree()
_syncToThree():
void
Defined in: core/Mobject.ts:416
Returns
void
Inherited from
_updateGeometry()
protected_updateGeometry():void
Defined in: mobjects/three-d/Surface3D.ts:213
Update the geometry with current function and parameters
Returns
void
add()
add(...
mobjects):this
Defined in: core/Mobject.ts:247
Parameters
mobjects
...Mobject[]
Returns
this
Inherited from
addUpdater()
addUpdater(
updater,callOnAdd):this
Defined in: core/Mobject.ts:474
Parameters
updater
callOnAdd
boolean = false
Returns
this
Inherited from
alignTo()
alignTo(
target,direction):this
Defined in: core/Mobject.ts:345
Parameters
target
direction
Returns
this
Inherited from
applyFunction()
applyFunction(
fn):this
Defined in: core/Mobject.ts:504
Parameters
fn
(point) => number[]
Returns
this
Inherited from
applyToFamily()
applyToFamily(
func):this
Defined in: core/Mobject.ts:462
Parameters
func
(mobject) => void
Returns
this
Inherited from
become()
become(
other):this
Defined in: core/Mobject.ts:294
Parameters
other
Returns
this
Inherited from
center()
center():
this
Defined in: core/Mobject.ts:397
Returns
this
Inherited from
clearUpdaters()
clearUpdaters():
this
Defined in: core/Mobject.ts:486
Returns
this
Inherited from
copy()
copy():
Mobject
Defined in: core/Mobject.ts:276
Returns
Inherited from
dispose()
dispose():
void
Defined in: core/Mobject.ts:532
Returns
void
Inherited from
evaluate()
evaluate(
u,v):Vector3Tuple
Defined in: mobjects/three-d/Surface3D.ts:386
Evaluate the surface at given parameters
Parameters
u
number
U parameter
v
number
V parameter
Returns
flip()
flip(
axis):this
Defined in: core/Mobject.ts:225
Parameters
axis
Vector3Tuple = ...
Returns
this
Inherited from
generateTarget()
generateTarget():
Mobject
Defined in: core/Mobject.ts:516
Returns
Inherited from
getBottom()
getBottom():
Vector3Tuple
Defined in: core/Mobject.ts:376
Returns
Inherited from
getBoundingBox()
getBoundingBox():
object
Defined in: core/Mobject.ts:363
Returns
object
depth
depth:
number
height
height:
number
width
width:
number
Inherited from
getBounds()
getBounds():
object
Defined in: core/Mobject.ts:310
Returns
object
max
max:
object
max.x
x:
number
max.y
y:
number
max.z
z:
number
min
min:
object
min.x
x:
number
min.y
y:
number
min.z
z:
number
Inherited from
getCenter()
getCenter():
Vector3Tuple
Defined in: core/Mobject.ts:306
Returns
Inherited from
getEdge()
getEdge(
direction):Vector3Tuple
Defined in: core/Mobject.ts:370
Parameters
direction
Returns
Inherited from
getFamily()
getFamily():
Mobject[]
Defined in: core/Mobject.ts:468
Returns
Mobject[]
Inherited from
getFunc()
getFunc(): (
u,v) =>Vector3Tuple
Defined in: mobjects/three-d/Surface3D.ts:272
Get the parametric function
Returns
(
u,v):Vector3Tuple
Parameters
u
number
v
number
Returns
getLeft()
getLeft():
Vector3Tuple
Defined in: core/Mobject.ts:379
Returns
Inherited from
getRight()
getRight():
Vector3Tuple
Defined in: core/Mobject.ts:382
Returns
Inherited from
getThreeObject()
getThreeObject():
Object3D
Defined in: core/Mobject.ts:452
Returns
Object3D
Inherited from
getTop()
getTop():
Vector3Tuple
Defined in: core/Mobject.ts:373
Returns
Inherited from
getUpdaters()
getUpdaters():
UpdaterFunction[]
Defined in: core/Mobject.ts:493
Returns
Inherited from
getURange()
getURange(): [
number,number]
Defined in: mobjects/three-d/Surface3D.ts:288
Get the U parameter range
Returns
[number, number]
getUResolution()
getUResolution():
number
Defined in: mobjects/three-d/Surface3D.ts:320
Get the U resolution
Returns
number
getVRange()
getVRange(): [
number,number]
Defined in: mobjects/three-d/Surface3D.ts:304
Get the V parameter range
Returns
[number, number]
getVResolution()
getVResolution():
number
Defined in: mobjects/three-d/Surface3D.ts:336
Get the V resolution
Returns
number
hasUpdaters()
hasUpdaters():
boolean
Defined in: core/Mobject.ts:490
Returns
boolean
Inherited from
isDoubleSided()
isDoubleSided():
boolean
Defined in: mobjects/three-d/Surface3D.ts:368
Get whether double-sided rendering is enabled
Returns
boolean
isWireframe()
isWireframe():
boolean
Defined in: mobjects/three-d/Surface3D.ts:352
Get whether wireframe mode is enabled
Returns
boolean
moveTo()
moveTo(
target,alignedEdge?):this
Defined in: core/Mobject.ts:192
Parameters
target
alignedEdge?
Returns
this
Inherited from
moveToAligned()
moveToAligned(
target,alignedEdge?):this
Defined in: core/Mobject.ts:355
Parameters
target
alignedEdge?
Returns
this
Inherited from
nextTo()
nextTo(
target,direction,buff):this
Defined in: core/Mobject.ts:328
Parameters
target
direction
Vector3Tuple = RIGHT
buff
number = 0.25
Returns
this
Inherited from
prepareForNonlinearTransform()
prepareForNonlinearTransform(
numPieces):this
Defined in: core/Mobject.ts:509
Parameters
numPieces
number = 50
Returns
this
Inherited from
Mobject.prepareForNonlinearTransform
remove()
remove(...
mobjects):this
Defined in: core/Mobject.ts:260
Parameters
mobjects
...Mobject[]
Returns
this
Inherited from
removeUpdater()
removeUpdater(
updater):this
Defined in: core/Mobject.ts:480
Parameters
updater
Returns
this
Inherited from
replace()
replace(
target,stretch):this
Defined in: core/Mobject.ts:299
Parameters
target
stretch
boolean = false
Returns
this
Inherited from
restoreState()
restoreState():
boolean
Defined in: core/Mobject.ts:526
Returns
boolean
Inherited from
rotate()
rotate(
angle,axisOrOptions?):this
Defined in: core/Mobject.ts:213
Rotate the mobject around an axis. Delegates to rotateMobject for the heavy lifting.
Parameters
angle
number
axisOrOptions?
Vector3Tuple | { aboutPoint?: Vector3Tuple; axis?: Vector3Tuple; }
Returns
this
Inherited from
rotateAboutOrigin()
rotateAboutOrigin(
angle,axis):this
Defined in: core/Mobject.ts:221
Parameters
angle
number
axis
Vector3Tuple = ...
Returns
this
Inherited from
saveState()
saveState():
this
Defined in: core/Mobject.ts:521
Returns
this
Inherited from
scale()
scale(
factor):this
Defined in: core/Mobject.ts:233
Parameters
factor
number | Vector3Tuple
Returns
this
Inherited from
setColor()
setColor(
color):this
Defined in: core/Mobject.ts:127
Parameters
color
string
Returns
this
Inherited from
setDoubleSided()
setDoubleSided(
value):this
Defined in: mobjects/three-d/Surface3D.ts:375
Set double-sided rendering
Parameters
value
boolean
Returns
this
setFill()
setFill(
color?,opacity?):this
Defined in: core/Mobject.ts:165
Parameters
color?
string
opacity?
number
Returns
this
Inherited from
setFillOpacity()
setFillOpacity(
opacity):this
Defined in: core/Mobject.ts:155
Parameters
opacity
number
Returns
this
Inherited from
setFunc()
setFunc(
func):this
Defined in: mobjects/three-d/Surface3D.ts:279
Set the parametric function
Parameters
func
(u, v) => Vector3Tuple
Returns
this
setOpacity()
setOpacity(
opacity):this
Defined in: core/Mobject.ts:135
Parameters
opacity
number
Returns
this
Inherited from
setStrokeWidth()
setStrokeWidth(
width):this
Defined in: core/Mobject.ts:145
Parameters
width
number
Returns
this
Inherited from
setStyle()
setStyle(
style):this
Defined in: core/Mobject.ts:113
Parameters
style
Partial<MobjectStyle>
Returns
this
Inherited from
setURange()
setURange(
range):this
Defined in: mobjects/three-d/Surface3D.ts:295
Set the U parameter range
Parameters
range
[number, number]
Returns
this
setUResolution()
setUResolution(
value):this
Defined in: mobjects/three-d/Surface3D.ts:327
Set the U resolution
Parameters
value
number
Returns
this
setVRange()
setVRange(
range):this
Defined in: mobjects/three-d/Surface3D.ts:311
Set the V parameter range
Parameters
range
[number, number]
Returns
this
setVResolution()
setVResolution(
value):this
Defined in: mobjects/three-d/Surface3D.ts:343
Set the V resolution
Parameters
value
number
Returns
this
setWireframe()
setWireframe(
value):this
Defined in: mobjects/three-d/Surface3D.ts:359
Set wireframe mode
Parameters
value
boolean
Returns
this
setX()
setX(
x):this
Defined in: core/Mobject.ts:385
Parameters
x
number
Returns
this
Inherited from
setY()
setY(
y):this
Defined in: core/Mobject.ts:389
Parameters
y
number
Returns
this
Inherited from
setZ()
setZ(
z):this
Defined in: core/Mobject.ts:393
Parameters
z
number
Returns
this
Inherited from
shift()
shift(
delta):this
Defined in: core/Mobject.ts:184
Parameters
delta
Returns
this
Inherited from
toCorner()
toCorner(
direction,buff,frameDimensions?):this
Defined in: core/Mobject.ts:406
Parameters
direction
Vector3Tuple = ...
buff
number = 0.5
frameDimensions?
[number, number]
Returns
this
Inherited from
toEdge()
toEdge(
direction,buff,frameDimensions?):this
Defined in: core/Mobject.ts:401
Parameters
direction
buff
number = 0.5
frameDimensions?
[number, number]
Returns
this
Inherited from
update()
update(
dt):void
Defined in: core/Mobject.ts:497
Parameters
dt
number
Returns
void