Platform
Resources
Pricing
Sign in
Contact us
Sumant Pattanaik
Workspace
Fork
Public
CAP 4720 2021
By
Sumant Pattanaik
Edited
Oct 31, 2023
ISC
Fork of
Model Loaders
•
6 forks
Importers
7
CAP 4720 2021
Parametric curve
CAP 4720: Introduction to Observable
Useful Javascript Array functions.
Vectors and vector Algebra
Example Use of TWGL Math Library
Intro to WebGL Programming using twgl.
Point In front or back of A Plane
Rasterization & Interpolation
Barycentric Coordinates
Model Loaders using ThreeJS
Diffuse lighting: Lambert Cosine Model.
Shade Due to Diffuse Lighting
Orbit Camera
SpotLight and its effect in Lighting.
Normal Matrix
Specular lighting Model
Diffuse + Specular + Ambient Lighting
WebGL Texturing using twgl.
WebGL/twgl Rendering of Multipart Model with Texture
Skybox rendering using Cubemap.
Stenciling Example
Silhouette Edge
Shadow Projection of 3D Objects
Fragment Inside/Outside Volume
Inbeweening using Tween.js: 1
Rotations
Ray-Scene (2D) intersection
Rotor Quaternion
SLERP: Spherical Linear Interpolation
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
loadModelFromURL
(
rayman_url
,
"obj"
)
Insert cell
armadillo
=
loadModelFromURL
(
await
FileAttachment
(
"armadillo@1.obj"
)
.
url
(
)
,
"obj"
)
Insert cell
computeModelExtent
(
armadillo
)
Insert cell
DOM
.
download
(
serialize
(
{
positions
:
Array
.
from
(
armadillo
[
0
]
.
sc
.
positions
)
,
normals
:
Array
.
from
(
armadillo
[
0
]
.
sc
.
normals
)
}
)
,
"armadillo"
,
"Download JSON"
)
Insert cell
Insert cell
cameraSCs
=
createSCs
(
cameraObject
)
Insert cell
cameraObject
=
loadObjObject
(
camera_url
)
Insert cell
camera_url
=
await
FileAttachment
(
"video_camera.obj"
)
.
url
(
)
Insert cell
flamingoObject
=
loadGLTFobject
(
Flamingo_url
)
;
Insert cell
Flamingo_url
=
await
FileAttachment
(
"Flamingo.glb"
)
.
url
(
)
Insert cell
Insert cell
Insert cell
Insert cell
elfSCs
=
createSCs
(
elfObject
)
Insert cell
Insert cell
elf_url
=
"https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/models/collada/elf/elf.dae"
Insert cell
arterySCs
=
createSCs
(
arteryObject
)
Insert cell
arteryObject
=
loadSTLobject
(
artery_url
)
Insert cell
artery_url
=
await
FileAttachment
(
"artery-model2.stl"
)
.
url
(
)
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.
Insert cell
Insert cell
loadTDSObject
=
(
url
)
=>
loadObject
(
url
,
new
THREE
.
TDSLoader
(
)
)
Insert cell
Insert cell
mtls
=
loadMaterial
(
await
FileAttachment
(
"rayman_2_mdl.mtl"
)
.
url
(
)
)
Insert cell
loadObjObject
(
await
FileAttachment
(
"rayman_2_mdl.obj"
)
.
url
(
)
)
Insert cell
loadModelFromURL
(
await
FileAttachment
(
"Boulder.obj"
)
.
url
(
)
,
"obj"
)
Insert cell
Insert cell
Insert cell
loadSTLobject
=
(
url
)
=>
loadObject
(
url
,
new
THREE
.
STLLoader
(
)
)
Insert cell
loadGLTFobject
=
(
url
)
=>
loadObject
(
url
,
new
THREE
.
GLTFLoader
(
)
)
Insert cell
ModelSupported
=
(
{
collada
:
loadCOLLADAobject
,
obj
:
loadObjObject
,
stl
:
loadSTLobject
,
gltf
:
loadGLTFobject
,
tds
:
loadTDSObject
}
)
Insert cell
Insert cell
//computeMatrix(arteryObject)
Insert cell
Insert cell
Insert cell
Insert cell
test
=
computeModelExtent
(
raymanSCs
)
Insert cell
Insert cell
Insert cell
import
{
serialize
}
from
"@palewire/saving-json"
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Compare fork
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
loadModelFromURL
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
armadillo
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
cameraSCs
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
cameraObject
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
camera_url
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
flamingoObject
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Flamingo_url
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
raymanSCs
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
raymanObject
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
rayman_url
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
elfSCs
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
elfObject
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
elf_url
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
arterySCs
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
arteryObject
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
artery_url
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
loadTDSObject
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
loadObjObject
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
mtls
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
loadMaterial
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
loadCOLLADAobject
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
loadSTLobject
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
loadGLTFobject
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
ModelSupported
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
computeMatrix
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
createSCs
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
createSC
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
loadObject
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
test
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
computeModelExtent
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
mat4
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
vec3
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
twgl
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
THREE
Edit
Show 2 comments
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML