// 0-9 for animation trigger // SHIFT+0-9 for animation trigger once
Example1: Simple Sphere
RENDER3D(
[
["type" ],
["sphere"]
]
)
""
Example2: Simple Color
RENDER3D(
[
["type" ,"fill"],
["sphere", "indigo"]
]
)
""
Simple Color with Helper
RENDER3D(
[
["type" ,"fill", "helper"],
["sphere", "magenta", true]
]
)
""
==Example planets
RENDER3D(
[
["type" ,"fill"],
["sphere", "jupiter"]
]
)
""
// planets - better looking RENDER3D( [ ["type" ,"fill", "size"], ["sphere", "jupiter",[1,30,30]] ] ) ""
// sphere and cube - better looking RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["sphere", "jupiter",[1,30,30],[1,1,2]], ["cube", "jupiter",[1,30,30],[2,3,3]] ] ) ""
// sphere and cube flat earth - better looking // and move them around and autorotate RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["sphere", "jupiter",[1,30,30],[1,1,2]], ["cube", "earth",[1,30,30],[2,3,3]] ] ) ""
// and move them around and autorotate // on bg element RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["sphere", "jupiter",[1,30,30],[1,1,2]], ["cube", "earth",[1,30,30],[2,3,3]] ],"#bg" ) ""
// a set of spheres - color only for two - camera is not necessary RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [75 ,"auto" ,0.1 ,1000 , [50,50,50] , 3] ], , , , , ,],
["sphere" , , function t1(i){return([3*i,i*3,3])} ,5,50,50 , 0x00ff00 , ["yellow","red"] ,true, , 10] ] ) ""
// a set of spheres - color only for two - camera is not necessary RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [75 ,"auto" ,0.1 ,1000 , [50,50,50] , 3] ], , , , , ,],
["sphere" , , function t1(i){return([3*i,i*3,3])} ,5,50,50 , 0x00ff00 , "rainbow" ,true, , 10] ] ) ""
// colorsets to use (a few may need to be removed) - reference https://github.com/d3/d3-scale-chromatic 12: "Rgb" 13: "RgbBasis" 14: "RgbBasisClosed" 15: "Hsl" 16: "HslLong" 17: "Lab" 18: "Hcl" 19: "HclLong" 20: "Cubehelix" 21: "CubehelixLong" 22: "Category10" 23: "Accent" 24: "Dark2" 25: "Paired" 26: "Pastel1" 27: "Pastel2" 28: "Set1" 29: "Set2" 30: "Set3" 31: "BrBG" 32: "BrBG" 33: "PRGn" 34: "PRGn" 35: "PiYG" 36: "PiYG" 37: "PuOr" 38: "PuOr" 39: "RdBu" 40: "RdBu" 41: "RdGy" 42: "RdGy" 43: "RdYlBu" 44: "RdYlBu" 45: "RdYlGn" 46: "RdYlGn" 47: "Spectral" 48: "Spectral" 49: "BuGn" 50: "BuGn" 51: "BuPu" 52: "BuPu" 53: "GnBu" 54: "GnBu" 55: "OrRd" 56: "OrRd" 57: "PuBuGn" 58: "PuBuGn" 59: "PuBu" 60: "PuBu" 61: "PuRd" 62: "PuRd" 63: "RdPu" 64: "RdPu" 65: "YlGnBu" 66: "YlGnBu" 67: "YlGn" 68: "YlGn" 69: "YlOrBr" 70: "YlOrBr" 71: "YlOrRd" 72: "YlOrRd" 73: "Blues" 74: "Blues" 75: "Greens" 76: "Greens" 77: "Greys" 78: "Greys" 79: "Purples" 80: "Purples" 81: "Reds" 82: "Reds" 83: "Oranges" 84: "Oranges" 85: "CubehelixDefault" 86: "Rainbow" 87: "Warm" 88: "Cool" 89: "Sinebow" 90: "Viridis" 91: "Magma" 92: "Inferno" 93: "Plasma"
// a set of spheres - color only for two - camera is not necessary - same but simpler function RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [75 ,"auto" ,0.1 ,1000 , [50,50,50] , 3] ], , , , , ,], ["sphere" , , (i,j)=>[3*i,j*3,3] ,[[[5,50,50]]] , 0x00ff00 , "yellow","red" ,true, , |10,10|] ] ) ""
//working 2d // how to make 3d array layout work - get this repaired RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [75 ,"auto" ,0.1 ,1000 , [50,50,50] , 3] ], , , , , ,],
["sphere" , , (i,j)=>[3*i,j*3,3] ,[[[5,50,50]]] , 0x00ff00 , [[colorbrewer.Reds[9]]] ,true, , |5,5,5|] ] ) ""
// 10 spheres, with better segmentation on spheres RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [275/*60 */ ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , , ,],
["sphere" , , i=>[3*i+1,i*3+1,3] ,5,50,50 , 0x00ff00 , colorbrewer.Reds[9] ,true, , 10] //["sphere" , , [3,3,3] ,[5,50,50] , 0x00ff00 , "yellow" ,true , ,] ] ) ""
// trying lion with background - need to see why scene background is stil black. could see after we changed environment // needed to do ctrl+click but could not get the texture to change. maybe path? See why scene background did not work. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], [0xf0f0f0] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../objects3d/lion/lion.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// lion with scene grass background RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../objects3d/lion/lion.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// woman - need to work on selection etc // as well as naming the object RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], [0xf0f0f0] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/examples/models/obj/female02/female02.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// did not work // render 3d -need to figure this out noofpoints=50; pts=MAKEPOLYGONPOINTS(noofpoints,[100,100],[300,300],-90) start=pts[0]; circlesat= pts .map( p=>[p[0],p[1],SQRT(POWER(p[0]-start[0],2)+POWER(p[1]-start[1],2))] ) RENDER3D( [ ["type","cx","cy","r","stroke","fill","stroke-width","count"], ["cube",circlesat.column(0),circlesat.column(1),circlesat.column(2), i=>d3.interpolateInferno(i/circlesat.length) ,i=>d3.interpolateInferno(i/circlesat.length),1,circlesat.length] ] ) ""
// extrude RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","extrude" ], ["path" , [[1,3,3],[2,3,3],[3,2,1]],[5,5,5] ,[50,50,50] , 0x00ff00 , "yellow" ,false , "phong", [ ["extrudePath"], [[[1,2,0],[2,2,3],[3,3,0]]] ] ] ] );""
// extrude testing heart // did not work or moved into another one RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","extrude" ], ["heart" , , [[1,3,3],[2,3,3],[3,2,1]] ,[50,50,50] , 0x00ff00 , "yellow" ,false , "phong", [ ["extrudePath"], [[[1,2,0],[2,2,3],[3,3,0]]] ] ] ] );""
// extrude test // this worked with one curve /* RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","extrude" ], ["extrudetest" , , [[1,3,3],[2,3,3],[3,2,1]] ,[50,50,50] , 0x00ff00 , "yellow" ,false , "phong", [ ["extrudePath"], [[[1,2,0],[2,2,3],[3,3,0]]] ] ] ] );""
- /
// extrude RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","extrude" ], ["extruder" ,[[1,3,3],[2,3,3],[3,2,1]], ,[1,1,1] , 0x00ff00 , "yellow" ,false , "phong", [ ["extrudePath"], [[[1,2,0],[2,2,3],[33,3,0]]] ] ] ] );""
// did not work RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material"], ["curve" ,"helix", ,[1,1,1] , 0x00ff00 , "yellow" ,false , "phong" ] ] );"" // settings for curves can be any unique part of the name below // size has scale as first parameter. // curve gives you a line, know gives you a tube with material /* CinquefoilKnot DecoratedTorusKnot4a DecoratedTorusKnot4b DecoratedTorusKnot5a DecoratedTorusKnot5c FigureEightPolynomialKnot GrannyKnot HeartCurve HelixCurve KnotCurve TorusKnot TrefoilKnot TrefoilPolynomialKnot VivianiCurve
- /
// grannyknot RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material"], ["knot" ,"granny", ,[1,1,1] , 0x00ff00 , "yellow" ,false , "phong" ] ] );""
// trefoil knot and viviancurve RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material"], ["knot" ,"tre", ,[10,1,1] , 0x00ff00 , "yellow" ,false , "phong"], ["knot" ,"viv", ,[10,1,1] , 0x00ff00 , "red" ,false , "phong"] ] );""
// visible and invisible object - marking objects to be invisible RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","visible"], ["knot" ,"tre", ,[10,1,1] , 0x00ff00 , "yellow" ,false , "phong",false], ["knot" ,"viv", ,[10,1,1] , 0x00ff00 , "red" ,false , "phong",true] ] );""
// plane etc. may not work RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ], ["planexy" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10] ] );""
// with audio RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["audio" ,"../threefull/examples/sounds/376737_Skullbeatz___Bad_Cat_Maste.ogg" , [1,3,3] ,[["loop","volume"],[true,0.8]] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
// with positional audio
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["audio" ,"../threefull/examples/sounds/376737_Skullbeatz___Bad_Cat_Maste.ogg" , [1,3,3] ,[["loop","volume","type","refdistance"],[true,0.8,"positional",20]] , 0x00ff00 , "yellow" ,false , "phong"],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"]
]
);""
// simple sphere
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
//https://stackoverflow.com/questions/15558418/how-do-you-save-an-image-from-a-three-js-canvas // saving canvas to image ReverseCanvasToImage etc
// simple torusknot RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["torusknot" , , [1,3,3] ,[10,5,128,16,2,3] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
// simple lathe // has issue RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["lathe" , [[0,0,0],[1,2,30],[2,20,3],[3,12,3],[10,10,2]] , [1,3,3] ,[10,0,6.28] , 0x00ff00 , "yellow" ,false , "normal"] ] );""
// need to pick bothside mesh material. how to make it default?
or at least for tube lathe etc.
// simple tube
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["tube" , [[0,0,0],[1,2,3],[2,2,3],[3,3,3],[10,10,2]] , [1,3,3] ,[20,2,20] , 0x00ff00 , "yellow" ,false , "normal"]
]
);""
// simple icosahedron RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["icosahedron" , , [1,3,3] ,[10] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
// sphere with normals and tangents RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","normals","tangents" ], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong",true,true] ] );"" // tangents not showing with THREE.VertexTangentsHelper: geometry not an instance of THREE.BufferGeometry. error
// trying parametric geometry
// simple klein
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["parametricgeometry" , "klein" , [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"]
]
);""
// mobius strip
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["parametricgeometry" , "mobius" , [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"]
]
);""
// torus structure with mesh function
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["parametricgeometry" ,
function mf(u,v,target)
{
//a=3;
//b=1;
//c=1;
//d=1;
a=10;//*Math.Pi();
b=2;//*Math.Pi();//*Math.Pi()
var twopi=2*Math.PI;
var x=cos(u*twopi)*(a + b*cos(v*twopi)) var y=Math.sin(u*twopi)*(a + b*cos(v*twopi)) var z=b*Math.sin(v*twopi) target.set(x,y,z) }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(x,y,target) { var xMin=-10; var yMin=-10; var xMax=10; var yMax=10; var a=1; var b=1; var xRange = xMax - xMin; var yRange = yMax - yMin; var x = xRange * x + xMin; var y = yRange * y + yMin; var z=Math.sin(Math.sqrt (a*x^2 + b*y^2)) target.set(x,y,z) }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"] ] );"" // with zrange color RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(x,y,target) { var xMin=-10; var yMin=-10; var xMax=10; var yMax=10; var a=1; var b=1; var xRange = xMax - xMin; var yRange = yMax - yMin; var x = xRange * x + xMin; var y = yRange * y + yMin; var z=Math.sin(Math.sqrt(a*x^2 + b*y^2)) target.set(x,y,z) }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "zrange" ,false , "phong"] ] );"" // asbestoes https://sites.google.com/site/cgwith3js/home/parametric-geometry RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(u,v,target) { //a=3; //b=1; //c=1; //d=1; /* a=10;//*Math.Pi(); b=2;//*Math.Pi();//*Math.Pi() var twopi=2*Math.PI;
var x=cos(u*twopi)*(a + b*cos(v*twopi)) var y=Math.sin(u*twopi)*(a + b*cos(v*twopi)) var z=b*Math.sin(v*twopi) //target.set(x,y,z) */ target.set(-100 + 200 * u, 3 * Math.sin(20 * (u + v)), -100 + 200 * v); }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"] ] );""
// lissajous RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(u,v,target) { var A=1; var B=2; var a=2; var b=2; var delta=Math.PI/2;//2; var xi=2;
var x=A*Math.sin(a*(u)+delta)
//var y=B*Math.sin(b*(v)+xi)
var y=B*Math.sin(b*(v))
var z=0;//b*Math.sin (v*twopi)
target.set(x,y,z);
}
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );"" -not yet working
// Dinis Surface https://mathworld.wolfram.com/DinisSurface.html
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["parametricgeometry" ,
function mf(u,v,target)
{
var a=1;
var b=0.2;
u=u*4*(Math.PI)
v=v*2;
x = a*COS(u)*SIN(v)
y = a*SIN(u)*SIN(v)
z = MIN(MAX(a*(COS(v)+LN(TAN(1/2*v)))+b*u,-100),100);
target.set(x,y,z); }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"] ] );""
// Dinis Surface https://mathworld.wolfram.com/DinisSurface.html RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(u,v,target) { var a=1; var b=0.2; u=u*4*(Math.PI) v=v*2;
x = a*COS(u)*SIN(v)
y = a*SIN(u)*SIN(v)
z = MIN(MAX(a*(COS(v)+LN(TAN(1/2*v)))+b*u,-100),100);
target.set(x,y,z); }
, [1,3,3] ,[5,5,50,50] , 0x00ff00 , "yellow" ,false , "phong"] ] );"" // trying walt with background // need to see how the reflection etc. can be triggered // as in https://threejs.org/examples/#webgl_materials_cubemap RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], [0xf0f0f0] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/examples/models/obj/walt/WaltHead.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// walt disney with normals - did not seem to trigger // how to do this with obj async load? RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","normals" ,"tangents"], ["scene" , [ ["background"], [0xf0f0f0] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/examples/models/obj/walt/WaltHead.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong",5,15] ] ); ""
//todo // https://threejs.org/examples/#webgl_materials -blending just field blending with THREE.AdditiveBlending etc
materials.push( new THREE.MeshLambertMaterial( { map: texture, transparent: true } ) ); materials.push( new THREE.MeshLambertMaterial( { color: 0xdddddd } ) ); materials.push( new THREE.MeshPhongMaterial( { color: 0xdddddd, specular: 0x009900, shininess: 30, flatShading: true } ) ); materials.push( new THREE.MeshNormalMaterial() ); materials.push( new THREE.MeshBasicMaterial( { color: 0xffaa00, transparent: true, blending: THREE.AdditiveBlending } ) ); materials.push( new THREE.MeshLambertMaterial( { color: 0xdddddd } ) ); materials.push( new THREE.MeshPhongMaterial( { color: 0xdddddd, specular: 0x009900, shininess: 30, map: texture, transparent: true } ) ); materials.push( new THREE.MeshNormalMaterial( { flatShading: true } ) ); materials.push( new THREE.MeshBasicMaterial( { color: 0xffaa00, wireframe: true } ) ); materials.push( new THREE.MeshDepthMaterial() ); materials.push( new THREE.MeshLambertMaterial( { color: 0x666666, emissive: 0xff0000 } ) ); materials.push( new THREE.MeshPhongMaterial( { color: 0x000000, specular: 0x666666, emissive: 0xff0000, shininess: 10, opacity: 0.9, transparent: true } ) ); materials.push( new THREE.MeshBasicMaterial( { map: texture, transparent: true } ) );
-https://threejs.org/examples/#webgl_loader_gltf_extensions -ducks etc. -reflection steel balls etc.
// simple catmullromcurve3 with editor
// need to see how to remove the spline points on unselect etc.
// fit view does not work for spline points, with only position, not the actual center of the spline curve
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["curve" , ,
[
[1,3,3],
[2,3,3],
[3,1,3],
[1,3,3],
] ,
[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"
]
]
);""
// animations - rpm, tpm and opm (rotations, times and orbit) // simple cube rpm
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [["rpm"],[5]]] ] );""
// simple cube tpm animation on a path
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [ ["rpm","tpm","points" ], [5, 2, [[1,2,3],[2,3,4],[5,5,6]]] ] ] ] );""
// simple cube tpm animation on a path
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [["tpm","points"],[20,[[10,2,3],[20,3,4],[50,5,6]]]]] ] );""
// orbit per minute RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [ ["opm" ,"r" ], [20 ,10 ] ] ] ] );""
// orbit per minute and rpm RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [ ["opm" ,"r" ,"rpm"], [20 ,10 , 100] ] ] ] );""
// jupiter orbit per minute and rpm RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong", [ ["opm" ,"r" ,"rpm"], [20 ,100 , 100] ] ] ] );""
// jupiter orbit per minute and rpm title etc. scale and rotation (in degrees) RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" , "rotation","scale"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong", [ ["opm" ,"r" ,"rpm"], [20 ,100 , 100] ], [0 ,23 , 0] , [1 ,1 , 1]
] ] );"" // jupiter orbit per minute and rpm title etc. scale and rotation (in degrees) // camera animation RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , , , , [ ["rpm"], [ 100] ]
],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong", [ ["rpm"], [ 100] ] ] ] );""
// camera rotation RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , , , , [ ["rpm"], [ 10] ]
],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong", [ ["rpm"], [ 5] ] ] ] );""
// get the camera on the scene here RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , , , , [ ["rpm"], [ 10] ]
],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong",
] ] );""
// get the camera on the scene here
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ],
["camera" ,
[
["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"],
[60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3]
], , , , , , ,
[
["tpm","points"],
[2,[[1,2,3],[2,3,4],[5,5,6]]]
]
],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong",
] ] );"" // simple sphere and mirror cube RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "mirror"], ["sphere" , , [10,5,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
// circular mirror RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["circle" , , [1,3,3] ,[50,50,50] , 0x00ff00 , "yellow" ,false , "mirror"], ["sphere" , , [10,5,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
// grid and sphere RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ); ""
// grid and sphere - zrange color like https://stemkoski.github.io/Three.js/Graphulus-Function.html RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "zrange" ,false , "phong"] ] );""
//zrange is not kicking in. //zrange is not working on ParameterBufferGeometry. On https://stemkoski.github.io/Three.js/Graphulus-Function.html it was ParameterGeometry -need to follow up
// grid and sphere uv color RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "uv" ,false , "phong"] ] ); ""
// painting texture RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "painting" ,false , "phong"] ] ); ""
// jupiter, earth etc.
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong"],
["sphere" , , [12,3,3] ,[5,20,20] , 0x00ff00 , "earth" ,false , "phong"]
]
);
""
// physics not working due to ammo issues. see how to resolve. the threeful copy of example is not working // should we get from https://github.com/kripken/ammo.js? or should we try https://schteppe.github.io/cannon.js/? // should possibly switch to cannonjs
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ], ["physics"], ["floor" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [1,150,130] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [10,300,230] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ], ["physics"], ["floorxy" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["flooryz" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["floorxz" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [1,15,13] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [10,30,23] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["grid" , , [0,0,0] ,[50,50,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
// at least oriented right
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ],
["physics"],
["floor" , , [0,0,-3] ,[50,1,50] , 0x00ff00 , "yellow" ,false , "phong", 10],
["sphere" , , [1,15,13] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10],
["sphere" , , [10,30,23] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10],
["grid" , , [0,0,0] ,[50,50,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
["load" , "../threefull/examples/models/gltf/RobotExpressive/RobotExpressive.glb" , [1,3,3] ,[5,20,20] , 0x00ff00 , ,false , "phong"]
]
);
""
// xbot
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
["load" , "../threefull/examples/models/gltf/Xbot.glb" , [1,3,3] ,[5,20,20] , 0x00ff00 , ,false , "phong"]
]
);
""
// soldier test from config RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["load" , "soldier" , [1,3,3] ,[5,20,20] , 0x00ff00 , ,false , "phong"] ] ); "" // parrot RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["load" , "parrot" , [1,3,3] ,[5,20,20] , 0x00ff00 , ,false , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], ], ["ground" , [ ["type","width","height"], ["checkerboard",1000,1000] ], ] ] ); ""
//ground RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], ], ["ground" , [ ["type","width","height"], ["grass",1000,1000] ], ],
["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["light" , [ ["type" , "color", "intensity", "width", "height"], ["rectarealight" , "red", 0.6, 10, 10] ] , [1,1,-5] ,[5,2,20] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ) ""
//rect light RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], ],
["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["light" , [ ["type" , "color", "intensity", "width", "height"], ["rectarealight" , "red", 0.6, 10, 10] ] , [1,1,-5] ,[5,2,20] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ) ""
// fog RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], ],
["fog" , [ ["color","near","far"], ["red",10,2000] ], , , , , ,], /* ["fog" , [ ["color","density"], ["red",0.1] ], , , , , ,], */ ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["light" , [ ["type" , "color", "intensity", "distance", "decay"], ["pointlight" , "red", 0.6, 100, 2] ] , [1,1,-5] ,[5,2,20] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ) ""
//sphere and light works RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["light" , [ ["type" , "color", "intensity", "distance", "decay"], ["pointlight" , "red", 0.6, 100, 2] ] , [1,1,-5] ,[5,2,20] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ) ""
//text RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["text" , "ZCubes" , [3,3,3] ,[5,2,20] , 0x00ff00 , "yellow" ,true , "backgroundreflection"] ] ) ""
// bevelled text RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["text" , "ZCubes" , [3,3,3] ,[5,2,20,true] , 0x00ff00 , "yellow" ,true , "backgroundreflection"] ] ) ""
// background and sphere with reflection // did not seem to work RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["pisa"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
//["cube" , , [2,2,2] ,[0.5,0.1,0.1] , 0x00ff00 , "yellow" ,true , "backgroundreflection"], ["sphere" , , [3,3,3] ,[5,50,50] , 0x00ff00 , "yellow" ,true , "backgroundreflection"] ] ) ""
// svg load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["white"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["load" , "../threefull/examples/models/svg/tiger.svg" , [3,3,3] ,[5,50,50] , 0x00ff00 , , , ] ] ) "" // pdb load // it did not show the letters. did the css2d not work? // need to figure out how CSS2DObject works to show the labels RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["white"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["load" , "../threefull/examples/models/pdb/aspirin.pdb" , [3,3,3] ,[5,50,50] , 0x00ff00 , , , ] ] ) ""
// pdb load // it did not show the letters. did the css2d not work? // need to figure out how CSS2DObject works to show the labels RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["transparent"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["load" , "../threefull/examples/models/pdb/aspirin.pdb" , [3,3,3] ,[5,50,50] , 0x00ff00 , , , ] ] ) ""
// svg monalisa load //if monalisa svg was assigned, this was loaded, but was not visible until pisa was made background then could see it RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["white"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["load.svg" , monalisa , [3,3,3] ,[5,50,50] , 0x00ff00 , , , ] ] ) ""
-fbx load - had to change the path for mimetype allowed. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], /*["scene" , [ ["background"], ["pisa"] ], , , , , ,], */ ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [275/*60 */ ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
//["cube" , , [2,2,2] ,[0.5,0.1,0.1] , 0x00ff00 , "yellow" ,true , "backgroundreflection"], ["load" , "../threefull/examples/models/fbx/Samba Dancing.fbx" , [3,3,3] ,[5,50,50] , 0x00ff00 , "yellow" ,true , ] ] ) -fbx load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], /*["scene" , [ ["background"], ["pisa"] ], , , , , ,], */ ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [275/*60 */ ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
//["cube" , , [2,2,2] ,[0.5,0.1,0.1] , 0x00ff00 , "yellow" ,true , "backgroundreflection"], ["load" , "https://three.zcubes.com/examples/models/fbx/Samba Dancing.fbx" , [3,3,3] ,[5,50,50] , 0x00ff00 , "yellow" ,true , ] ] )
//RENDER3DDEV( RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["pisa"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
//["cube" , , [2,2,2] ,[0.5,0.1,0.1] , 0x00ff00 , "yellow" ,true , "backgroundreflection"], ["sphere" , , [3,3,3] ,[5,50,50] , 0x00ff00 , "yellow" ,true , "backgroundreflection"] ] ) ""
// multiple spheres RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [75 ,"auto" ,0.1 ,1000 , [50,50,50] , 3] ], , , , , ,],
["sphere" , , i=>[3*i,i*3,3] ,[5,50,50] , 0x00ff00 , ["yellow","red"] ,true, , 10] ] ) ""
// simpler multiple spheres - size gets confusing. check next one. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,[5,50,50] , 0x00ff00 , ["yellow","red"] ,true, , 10] ] ) ""
// simpler multiple spheres - size better RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[5,50,50] , 0x00ff00 , "yellow" ,true, , 10] ] ) "" // smaller sphere RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[1,50,50] , 0x00ff00 , "yellow" ,true, , 10] ] ) ""
// smaller sphere normal colors RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[1,50,50] , 0x00ff00 , "yellow" ,true, "normal", 10] ] ) ""
// smaller sphere normal colors - varying radii RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[1*i,50,50] , 0x00ff00 , "yellow" ,true, "normal", 10] ] ) ""
// smaller sphere normal colors - varying radii slight - 0 radius defaults to 1 RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[0.3*i,50,50] , 0x00ff00 , "yellow" ,true, "normal", 10] ] ) ""
// smaller sphere normal colors - varying radii slight - 0 radius defaults to 1 adjusted by a small amount RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[0.3*i+0.01,50,50] , 0x00ff00 , "yellow" ,true, "normal", 10] ] ) ""
// smaller sphere normal colors - varying colors from interpolate d3 RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[0.3*i+0.01,50,50] , 0x00ff00 , i=>d3.interpolateInferno(i/10) ,true, "phong", 10] ] ) ""
// smaller sphere normal colors - varying colors from interpolate d3 2d // looks like rocks RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , (i,j)=>[3*i,j*3,3] ,(i,j)=>[0.3*i+0,2*j+0.01,50,50] , 0x00ff00 , (i,j)=>d3.interpolateInferno((i+j)/10) ,true, "phong", |6,4|] ] ) ""
// varying size varying colors from interpolate d3 2d // looks like rocks // material can have other properties in subarray. how to loop this? RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , (i,j)=>[3*i,j*3,3] ,(i,j)=>[0.3*i+0.2*j+0.01,50,50] , 0x00ff00 , (i,j)=>d3.interpolateInferno((i+j)/10) ,true, "phong", |6,4|] ] ) "" // planets RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[10*i,0,0] ,(i,j)=>[5,50,50] , 0x00ff00 , PLANETS ,true, "phong", PLANETS.length] ] ) ""
// new items
//https://github.com/mrdoob/three.js/blob/master/examples/webgl_materials_video_webcam.html // webcam RENDER3D( [ ["type" ,"fill", "size"], ["sphere", "webcam",[1,30,30]] // user direction ] ) ""
// load objects with ferrari, and do this to rotate the wheels. on #bg
RENDER3D(
[
["type" , "name" , "animation" ],
["change" , "wheel_fl" , [["rpmx"],[-60]] ],
["change" , "wheel_fr" , [["rpmx"],[-60]] ],
["change" , "wheel_rl" , [["rpmx"],[-60]] ],
["change" , "wheel_rr" , [["rpmx"],[-60]] ]
],
"#bg"
);""
// rose 2
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
[0xf0f0f0]
], , , , ,],
["load" , "../threefull/other/rose 2.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "../threefull/other/rose/rose 2.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/female02.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose/rose 2.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// gave black RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/rose/rose 2.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "../threefull/other/female/female02.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/female02.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/female02.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"aut" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/rose.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// rose seems to work better // mtl file needs to be moved around for values like each line in mtl RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/rose.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// gave black RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose2/rose.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose3/rose 2.glb" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose3/rose 2.fbx" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
//glb shows rose right. really tiny and had to be scaled. why? // made scale to be 10 RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose3/rose 2.glb" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
//alien obj file
// why is it so far to the top?
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/alien/alien.obj" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
//cubes fbx file. did not work since this is old version
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/cubes/cubes.fbx" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
//cubes glb file. did not work since this is old version RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/cubes/cubes.glb" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
//glb rendered, flb had issues with transparency RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose/rose flower.glb" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose/rose flower 2.gltf" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose/rose flower 5.gltf" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
// physics started working after quaternion of plane was set 2:15 PM 12/8/2020
// basics work in this
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ],
["physics"],
["floor" , , [0,0,-3] ,[500,1,500] , 0x00ff00 , "yellow" ,false , "phong", 10],
["sphere" , , [0,10,0] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10],
["sphere" , , [10,10,0] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10],
["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
-still some axis confusion, or camera confusion. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ], ["physics"], ["floor" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [0,100,0] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [10,100,0] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["grid" , , [0,0,0] ,[50,50,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
-look better RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ], ["physics"], ["floor" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [0,10,0] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [10,20,0] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["grid" , , [0,0,0] ,[50,50,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
// fruits
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/fruits/apple and orange.glb" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// cups
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/cups/cup.glb" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// nightsky
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["nightsky" , , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// annotation test RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[0,0,-15]] ] , [0,0,0] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], //["nightsky" , , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// annotation test RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[-11,9,5]] ] , [0,0,0] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); "" // shows annotation test -wip RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[-11,9,5]] ] , [1,1,1] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); ""
// annotation test RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[0,0,-15]] ] , [0,0,0] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[4,4,-2]] ] , [5,5,0] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); ""
// html - these positioning did not seem correct. see why. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["html" ,
"
"
, [1,1,1] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["html" ,
"
"
, [2,2,2] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["html" ,
"
"
, [4,4,2] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); ""
// html - these positioning did not seem correct. see why. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["html" ,
"
"
, [1,1,1] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["html" ,
"
"
, [20,2,20] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["html" ,
"
"
, [40,4,42] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); ""
LOAD("elements"); els=ELEMENT(1..118) // html - these positioning did not seem correct. see why. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , els.map(e=>e.toString()), SPHERICALPOINTS(118,800), [1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong",118] ] ); ""
// this did not work correctly RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , els.map(e=>e.SYMBOL), SPHERICALPOINTS(118,800), [1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong",118] ] ); "" // this is too large as font. need to see what to do to make it right RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"],
["html" , els.map(e=>"
"), SPHERICALPOINTS(118,800), [1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong",118]
] ); ""
// this does not work find out why.
// el.add(elchild) seems to be undefined
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"],
["html" ,
"
"
, SPHERICALPOINTS(20,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 20] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" ,
"
"
, SPHERICALPOINTS(20,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 20] ] ); ""
// works RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , "TEST" , SPHERICALPOINTS(117,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 117] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , "TEST" , HELICALPOINTS(118,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118] ] ); ""
// element names in helical format LOAD("elements", function () { RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , ELEMENT(1..118).map(e=>e+"") , HELICALPOINTS(118,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118] ] ); "" }
)
// element names in double helical format with 90 deg rotation helix1=HELICALPOINTS(118,100); helix2=ROTATEPOINTS(helix1); LOAD("elements", function () { RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , ELEMENT(1..118).map(e=>e+""), helix1 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118], ["html" , ELEMENT(1..118).map(e=>e+""), helix2 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118] ] ); "" }
)
// element names in double helical format helix1=HELICALPOINTS(118,100); helix2=ROTATEPOINTS(helix1,Math.PI); LOAD("elements", function () { RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , ELEMENT(1..118).map(e=>e+""), helix1 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118], ["html" , ELEMENT(1..118).map(e=>e+""), helix2 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118] ] ); "" }
)
// dna in double helical format
// d1="ATCG";
// d2="TAGC";
// dna=(1..100@(function (){var r=RANDINT(4);return([d1[r],d2[r]])}) )~;
d1="ATCG"; d2="TAGC"; d=(1..100@(function (){var r=RANDINT(4);return([d1[r],d2[r]])}) )~; dna=(d[0]~);//.print()
helix1=HELICALPOINTS(118,100); helix2=ROTATEPOINTS(helix1,Math.PI); LOAD("elements", function () { RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , dna[0], helix1 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 100], ["html" , dna[1], helix2 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 100] ] ); "" }
)
// element names in helical format with conical angle
LOAD("elements",
function ()
{
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"],
["html" ,
ELEMENT(1..118).map(e=>e+"")
, SCALEPOINTS(HELICALPOINTS(118,100),1..118@(x=>x/118)) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118]
]
);
""
}
)
// annotation still wip // annotation test RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[0,0,-15]] ] , [0,0,0] ,[1.5,1,1] , 0x00ff00 , ,true , "phong"], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[4,4,-2]] ] , [5,5,0] ,[1.5,1,1] , 0x00ff00 , ,true , "phong"], ] ); "" // how to get rid of the yellow area etc. and get the camera to zoom in right
// point // sphere and cube - better looking RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["point", "red",[1,30,30], [ [1,1,2], [2,1,2], [3,1,2] ], [["size"],[0.1]] ] ] ) ""
// points
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material"],
["points", "red",[1,30,30],
1..100@(x=>[x,1,x]), [["size"],[0.05]] ]
]
)
""
// points RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["points", "red",[1,30,30], 1..100@(x=>[x,1,x]) .map(x=>x[0]) , [["size"],[0.5]] ] ] ) ""
// line test RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["line", "red",[1,30,30],[[0,0,0][1,1,1],[4,4,2]]] ] ) ""
// lines RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],[[[1,1,2],[2,3,4]],[12,3,4],[4,5,5]]], ["lines", "yellow",[4,30,30],[[[3,3,2],[4,4,4]],[1,3,4],[14,5,15]]] ] ) ""
// lines from stem to sphere RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],SPHERICALPOINTS(118,800).rays()] ] ) ""
// not showing anything. why? lines from stem to sphere // is it radius? The group is being made etc. RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],SPHERICALPOINTS(18,5).rays()] ] ) ""
// lines from stem to sphere
RENDER3D(
[
["type" ,"fill", "size", "coordinates"],
["lines", "red",[1,30,30],HELICALPOINTS(118,800).rays()]
]
)
""
// lines from conical tree with scale RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],SCALEPOINTS(HELICALPOINTS(118,800),1..118.map(x=>1/x)).rays()] ] ) ""
// try subpoints using add // lines from stem to sphere // did not work RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],ADDPOINTS(HELICALPOINTS(118,800),1..118.map(x=>-x)).rays()] ] ) ""
// try subpoints using add // lines from stem to sphere // did not work RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>-x))] ] ) ""
// rayscale etc RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>-x))] ] ) ""
// rayscale etc RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>1/x))] ] ) ""
// rayscale etc conical christmas tree
RENDER3D(
[
["type" ,"fill", "size", "coordinates"],
["lines", "red",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>x/118))]
]
)
""
// rayscale etc with many colors RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "rainbow",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>x/118))] ] ) ""
// rayscale etc with many colors like a fruit RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "rainbow",[1,30,30],SPHERICALPOINTS(118,800).raysscale(1..118.map(x=>x/118))] ] ) ""
// rayscale etc with many colors like a fruit with center // like a flower. note [[]] on material not to split settings array RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["lines", "rainbow",[1,30,30],SPHERICALPOINTS(118,800).raysscale(1..118.map(x=>x/118),"center"), [ [ ["type","linewidth"], ["line",3] ] ] ] ] ) ""
// rayscale etc with many colors like a fruit with center
// like a flower. note [[]] on material not to split settings array
// line2 is not working well
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material"],
["line2s", "rainbow",[1,30,30],SPHERICALPOINTS(118,800).raysscale(1..118.map(x=>x/118),"center"),
[
[
["linewidth"],
[3]
]
]
]
]
)
""
// points with lookat RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["points", "red",[1,30,30], SPHERICALPOINTS(118,10).rayslookat(), [["size"],[0.1]] ] ] ) ""
RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["points", "red",[1,30,30], SPHERICALPOINTS(118,10).rayslookat(), [["size"],[0.1]] ] ] ) ""
// place rectangles at spherical points with lookat defined pts=SPHERICALPOINTS(118,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat"], ["cube", "red",[1,1,1], pts, "phong",pts.rayslookat() ] ] ) ""
// sphere of cubes...
pts=SPHERICALPOINTS(118,10);
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material","lookat","count"],
["cube", "red",[1,1,1], pts, "phong",pts.rayslookat() ,pts.length ]
]
)
""
// small cubes did not seem to change pts=SPHERICALPOINTS(118,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "red",[0.1,0.1,0.1], pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// sphere from small balls pts=SPHERICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "red",[1,1,1], pts, "phong",pts.rayslookat() ,pts.length ] ] )
// random colors on spheres pts=SPHERICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "random",[1,1,1], pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// interesting shape like a cross with stuff in the middle pts=SPHERICALPOINTS(130,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "reds",[1,15,15], pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// interesting sphere pts=SPHERICALPOINTS(130,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "reds",1,15,15, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// random colors on spheres pts=SPHERICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "random",1,10,10, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// random colors on spheres pts=SPHERICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "random",1,1,1, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",0.1,0.10,0.10, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS(5,2); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",1,10,10, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS(5,20); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",0.1,1,1, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS(50,20); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",10,10,10, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes around center at same level pts=HELICALPOINTS(5,2,5,0); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",0.1,5,5, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes // (maxnumberofpoints,radius,thetasegments,cylinderstep,cylinderoffsetpercycle,startphi,startcylinderoffset) pts=HELICALPOINTS(50,2,5,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",0.1,5,5, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes in separate levels
pts=HELICALPOINTS(50,2,5,0,10);
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material","lookat","count"],
["cube", "random",0.1,5,5, pts, "phong",pts.rayslookat() ,pts.length ]
]
)
""
// helical cubes rainbow colors with lookat pts=HELICALPOINTS(50,20,5,0,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "rainbow",15.1,5,15, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS([50,100],20,5,0,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "rainbow",15.1,5,15, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes in concentric circles pts=HELICALPOINTS(20,[50,100],5,8,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "rainbow",5,1,5, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical sphere in concentric circles, with triangular shapes
pts=HELICALPOINTS(20,[5,15],5,8,10);
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material","lookat","count"],
["sphere", "rainbow",5,1,5, pts, "phong",pts.rayslookat() ,pts.length ]
]
)
""
// helical spheres with random radii pts=HELICALPOINTS(20,[50,100],5,8,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "rainbow",x=>[RANDOM(5),10,5], pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// simple sphere and viewport
// not working yet
// added controls and still has issues
RENDER3D(
[
["type" ],
["sphere"],
["viewport"]
]
)
""
// flower like helical sphere in concentric circles, with triangular shapes pts=HELICALPOINTS(20,5,20,0); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "rainbow",5,1,5, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
//HELICALPOINTS(maxnumberofpoints,radius,thetasegments,cylinderstep,cylinderoffsetpercycle,startphi,startcylinderoffset,requirednumberofpoints)
// flowerlike helical sphere in concentric circles, with triangular shapes pts=HELICALPOINTS(20,15,20,0); angles=radpiby20; RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count","rotation"], ["sphere", "rainbow",5,1,3, pts, "phong",pts.rayslookat() ,pts.length,i=>[angles[i],0,0] ] ] ) ""
//HELICALPOINTS(maxnumberofpoints,radius,thetasegments,cylinderstep,cylinderoffsetpercycle,startphi,startcylinderoffset,requirednumberofpoints)
// flowerlike helical sphere in concentric circles, with triangular shapes with rotation pts=HELICALPOINTS(20,15,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count","rotation"], ["sphere", "rainbow",5,1,3, pts, "phong",pts.rayslookat() ,pts.length,i=>[angles[i],0,0] ] ] ) ""
// flowerlike helical sphere in concentric tetrahedrons, with triangular shapes // note lookatdeactivated so that it does not affect the set rotations // could use this for the json object display from crockford pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookatdeactivated","count","rotation"], ["tetrahedron", "rainbow",5, pts, "phong",pts.rayslookat() ,pts.length,function (i){console.log(angles[i]);return([angles[i],0,0])} ] ] ) ""
// flowerlike helical sphere with tubes to get json emblem. note the use of settings to define tube pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","looka1t","count","rotation"], ["tube", "rainbow",[[[-10,-10],[10,10],[0,0]]], [5], pts, "phong",pts.rayslookat() ,pts.length,function (i){console.log(angles[i]);return([angles[i],0,0])} ] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes - try 2 pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","looka1t","count","rotation"], ["tube", "rainbow",[[[-10,-10],[10,10],[10,-10],[-10,10],[-10,-10]]], [5], pts, "phong",pts.rayslookat() ,pts.length,function (i){console.log(angles[i]);return([angles[i],0,0])} ] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes - try 3 // segments can be used for flower marigold pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","looka1t","count","rotation"], ["tube", "rainbow",[[[0,0],[6,0],[3,2.2427336738541745]]], [1], pts, "phong",pts.rayslookat() ,pts.length,function (i){console.log(angles[i]);return([angles[i],0,0])} ] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes try 4 pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","looka1t","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,6,0],[0,3,2.2427336738541745],[0,0,0]]], [15,10,10], pts, "phong",pts.rayslookat() ,pts.length,i=>[0,0,angles[i]]] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes try 5 pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","lookat","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,0,6],[0,3,2.2427336738541745],[0,0,0]]], [15,10,10], pts, "phong",pts.rayslookat() ,pts.length,i=>[0,angles[i],0]] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes try 5 // size should be in two d array if i loop pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","lookat","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,0,6],[0,3,2.2427336738541745],[0,0,0]]], 2,10,10, pts, "phong",pts.rayslookat() ,pts.length,i=>[0,angles[i],0]] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes try 6 thin edges of tube pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","lookat","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,0,6],[0,3,2.2427336738541745],[0,0,0]]], 5,0.1,5, pts, "phong",pts.rayslookat() ,pts.length,i=>[0,angles[i],0]] ] ) ""
// crayon like tubes pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","lookat","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,0,6],[0,3,2.2427336738541745]]], 2,1,50,true, pts, "phong",pts.rayslookat() ,pts.length,i=>[0,angles[i],0]] ] ) ""
// render download command RENDER( [ ["type","cx", "cy", "r","coordinates","label","fill","stroke","stroke-width","font-size","format"], ["circle",100,100,60,,,"purple","purple"], ["circle",100,100,30,,,"white","white"], ["text",,,,[90,65],"1",,"black",3,40], ["download",,,,[90,65],"1",,"black",3,40,"png"] ]); ""
//A forest of trees // RENDER3D( // [ // ["type" ,"fill", "size", "coordinates","material","count"], // ["tree", "red",[1,30,30], // 1..100@(x=>[x,1,x]), [["size"],[0.05]],15 ] // ] // ) // "" //1..100@(x=>[x,1,x]) would not work as it gives arrays within arrays
//A row of trees RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","count"], ["tree", "red",[1,30,30], (x=>[x,1,x]), [["size"],[0.05]],15 ] ] ) ""
// forest of trees. notice size RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",1,30,30, ((x,y)=>[x,0,y]),IM(15) ] ] ) ""
// forest of trees.trying different size // this did not work as well RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",((x,y)=>[RANDINT(100),x,y]), ((x,y)=>[x,0,y]),IM(15) ] ] ) "" // forest of trees. works. trying different size RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",((x,y)=>[RANDINT(10)]), ((x,y)=>[x*RANDINT(10),0,y*RANDINT(10)]),IM(15) ] ] ) ""
// one big tree
RENDER3D(
[
["type" ,"fill", "size", "coordinates","count"],
["tree", "red",((x,y)=>[RANDINT(100)]),
,IM(15) ]
]
)
""
// one big tree RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",((x,y)=>[RANDINT(100)]), ,50 ] ] ) ""
// one big tree - different height cover etc. RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",[1..5,(50..1..-10)]~, ,5 ] ] ) ""
// loading different formats // 3dm files // loads though looks rotated on x axis. can expand on idea as in https://threejs.org/examples/webgl_loader_3dm.html RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/3dm/Rhino_Logo.3dm" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// 3dm files
// loads though looks rotated on x axis. can expand on idea
// need to see if colors normal etc load right or else get it loaded
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["load" ,
[
["url","normal"],
[
"https://three.zcubes.com/examples/models/3ds/portalgun/portalgun.3ds" ,
"
"
]
]
,
[-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"]
]
);
""
// 3mf files
// loads though looks rotated on x axis. can expand on idea
// other links to use
//"https://three.zcubes.com/examples/models/3mf/facecolors.3mf"
//"https://three.zcubes.com/examples/models/3mf/multipletextures.3mf"
//"https://three.zcubes.com/examples/models/3mf/vertexcolors.3mf"
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["load" , "https://three.zcubes.com/examples/models/3mf/cube_gears.3mf" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"]
]
);
""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/3mf/multipletextures.3mf" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/3mf/truck.3mf" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// amf file load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/amf/rook.amf" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// assimp file load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/assimp/octaminator/Octaminator.assimp" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// bvh file load - needed fitting. did that break other loads? RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/bvh/pirouette.bvh" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// dae file load - needed fitting. did that break other loads? collada RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/collada/elf/elf.dae" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
//need to do kinematics //https://threejs.org/examples/webgl_loader_collada_kinematics.html
// dae file load - needed fitting. did that break other loads? collada with animation RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/collada/stormtrooper/stormtrooper.dae" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// draco drc file load
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["load" , "https://three.zcubes.com/examples/models/draco/bunny.drc" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"]
]
);
""
// fbxfile load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/fbx/Samba Dancing.fbx" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// fbxfile load - nurbs RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/fbx/nurbs.fbx" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// gcode load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/gcode/benchy.gcode" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// kmz load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/kmz/Box.kmz" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// lwo load - change background to see the text which is in black // or add screen background row RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], [0xf0f0f0] ], , , , ,], ["load" , "https://three.zcubes.com/examples/models/lwo/Objects/LWO3/Demo.lwo" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// nrrd and vtk load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/nrrd/I.nrrd" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/vtk/liver.vtk" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// pcd RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/pcd/binary/Zaghetto.pcd" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// ply RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/ply/ascii/dolphins.ply" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/ply/binary/Lucy100k.ply" , [-20,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// prwm RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/prwm/smooth-suzanne.le.prwm" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/prwm/faceted-nefertiti.le.prwm" , [10,10,5] ,[10,10,10] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/prwm/vive-controller.le.prwm" , [-20,10,5] ,[3,3,3] , 0x00ff00 , "yellow" ,true , "phong"]
] ); ""
// stl RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/stl/ascii/slotted_disk.stl" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/stl/binary/pr2_head_pan.stl" , [10,10,5] ,[10,10,10] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/stl/binary/pr2_head_tilt.stl" , [-20,10,5] ,[3,3,3] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/stl/binary/colored.stl" , [-20,10,5] ,[3,3,3] , 0x00ff00 , "yellow" ,true , "phong"]
] ); ""
//tilt RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/tilt/BRUSH_DOME.tilt" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
//tilt RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://github.com/mrdoob/three.js/blob/master/examples/models/tilt/BRUSH_DOME.tilt" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
// to test //vox RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/vox/monu10.vox" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
//vrm RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/vrm/Alicia/AliciaSolid.vrm" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
//vrml // other files to load https://three.zcubes.com/examples/models/vrml/creaseAngle.wrl https://three.zcubes.com/examples/models/vrml/crystal.wrl https://three.zcubes.com/examples/models/vrml/house.wrl https://three.zcubes.com/examples/models/vrml/elevationGrid1.wrl https://three.zcubes.com/examples/models/vrml/elevationGrid2.wrl https://three.zcubes.com/examples/models/vrml/extrusion1.wrl https://three.zcubes.com/examples/models/vrml/extrusion2.wrl https://three.zcubes.com/examples/models/vrml/extrusion3.wrl https://three.zcubes.com/examples/models/vrml/lines.wrl https://three.zcubes.com/examples/models/vrml/meshWithLines.wrl https://three.zcubes.com/examples/models/vrml/meshWithTexture.wrl https://three.zcubes.com/examples/models/vrml/pixelTexture.wrl https://three.zcubes.com/examples/models/vrml/points.wrl
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/vrml/house.wrl" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
// vtk and vtp RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/vtk/bunny.vtk" , [-10,10,5] ,[50,50,50] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/vtk/cube_ascii.vtp" , [3,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/vtk/cube_binary.vtp" , [10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/vtk/cube_no_compression.vtp" , [20,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
// x RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], //["load" , "https://three.zcubes.com/examples/models/xyz/helix_201.xyz" , [-10,10,5] ,[50,50,50] , 0x00ff00 , "yellow" ,true , "phong"] ["load" , "https://three.zcubes.com/examples/models/xfile/SSR06_model.x" , [-10,10,5] ,[50,50,50] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
// xyz RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], //["load" , "https://three.zcubes.com/examples/models/xyz/helix_201.xyz" , [-10,10,5] ,[50,50,50] , 0x00ff00 , "yellow" ,true , "phong"] ["load" , "../threefull/other/examples/helix_201.xyz" , [-10,10,5] ,[50,50,50] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , "klein" , [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"] ] );"" // mobius strip RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , "mobius" , [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"] ] );"" // torus structure with mesh function RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(u,v,target) { //a=3; //b=1; //c=1; //d=1; a=10;//*Math.Pi(); b=2;//*Math.Pi();//*Math.Pi() var twopi=2*Math.PI;
var x=cos(u*twopi)*(a + b*cos(v*twopi)) var y=Math.sin(u*twopi)*(a + b*cos(v*twopi)) var z=b*Math.sin(v*twopi) target.set(x,y,z) }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(x,y,target) { var xMin=-10; var yMin=-10; var xMax=10; var yMax=10; var a=1; var b=1; var xRange = xMax - xMin; var yRange = yMax - yMin; var x = xRange * x + xMin; var y = yRange * y + yMin; var z=Math.sin(Math.sqrt(a*x^2 + b*y^2)) target.set(x,y,z) }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"] ] );"" // with zrange color RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(x,y,target) { var xMin=-10; var yMin=-10; var xMax=10; var yMax=10; var a=1; var b=1; var xRange = xMax - xMin; var yRange = yMax - yMin; var x = xRange * x + xMin; var y = yRange * y + yMin; var z=Math.sin(Math.sqrt(a*x^2 + b*y^2)) target.set(x,y,z) }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "zrange" ,false , "phong"] ] );"" // asbestoes https://sites.google.com/site/cgwith3js/home/parametric-geometry RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(u,v,target) { //a=3; //b=1; //c=1; //d=1; /* a=10;//*Math.Pi(); b=2;//*Math.Pi();//*Math.Pi() var twopi=2*Math.PI;
var x=cos(u*twopi)*(a + b*cos(v*twopi)) var y=Math.sin(u*twopi)*(a + b*cos(v*twopi)) var z=b*Math.sin(v*twopi) //target.set(x,y,z) */ target.set(-100 + 200 * u, 3 * Math.sin(20 * (u + v)), -100 + 200 * v); }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"] ] );""
// lissajous RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(u,v,target) { var A=1; var B=2; var a=2; var b=2; var delta=Math.PI/2;//2; var xi=2;
var x=A*Math.sin(a*(u)+delta)
//var y=B*Math.sin(b*(v)+xi)
var y=B*Math.sin(b*(v))
var z=0;//b*Math.sin(v*twopi)
target.set(x,y,z);
}
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );"" -not yet working
// Dinis Surface https://mathworld.wolfram.com/DinisSurface.html
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["parametricgeometry" ,
function mf(u,v,target)
{
var a=1;
var b=0.2;
u=u*4*(Math.PI)
v=v*2;
x = a*COS(u)*SIN(v)
y = a*SIN(u)*SIN(v)
z = MIN(MAX(a*(COS(v)+LN(TAN(1/2*v)))+b*u,-100),100);
target.set(x,y,z); }
, [1,3,3] ,[5,5,20,20] , 0x00ff00 , "yellow" ,false , "normal"] ] );""
// Dinis Surface https://mathworld.wolfram.com/DinisSurface.html RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["parametricgeometry" , function mf(u,v,target) { var a=1; var b=0.2; u=u*4*(Math.PI) v=v*2;
x = a*COS(u)*SIN(v)
y = a*SIN(u)*SIN(v)
z = MIN(MAX(a*(COS(v)+LN(TAN(1/2*v)))+b*u,-100),100);
target.set(x,y,z); }
, [1,3,3] ,[5,5,50,50] , 0x00ff00 , "yellow" ,false , "phong"] ] );"" // trying walt with background // need to see how the reflection etc. can be triggered // as in https://threejs.org/examples/#webgl_materials_cubemap RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], [0xf0f0f0] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/examples/models/obj/walt/WaltHead.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// walt disney with normals - did not seem to trigger // how to do this with obj async load? RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","normals" ,"tangents"], ["scene" , [ ["background"], [0xf0f0f0] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/examples/models/obj/walt/WaltHead.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong",5,15] ] ); ""
//todo // https://threejs.org/examples/#webgl_materials -blending just field blending with THREE.AdditiveBlending etc
materials.push( new THREE.MeshLambertMaterial( { map: texture, transparent: true } ) ); materials.push( new THREE.MeshLambertMaterial( { color: 0xdddddd } ) ); materials.push( new THREE.MeshPhongMaterial( { color: 0xdddddd, specular: 0x009900, shininess: 30, flatShading: true } ) ); materials.push( new THREE.MeshNormalMaterial() ); materials.push( new THREE.MeshBasicMaterial( { color: 0xffaa00, transparent: true, blending: THREE.AdditiveBlending } ) ); materials.push( new THREE.MeshLambertMaterial( { color: 0xdddddd } ) ); materials.push( new THREE.MeshPhongMaterial( { color: 0xdddddd, specular: 0x009900, shininess: 30, map: texture, transparent: true } ) ); materials.push( new THREE.MeshNormalMaterial( { flatShading: true } ) ); materials.push( new THREE.MeshBasicMaterial( { color: 0xffaa00, wireframe: true } ) ); materials.push( new THREE.MeshDepthMaterial() ); materials.push( new THREE.MeshLambertMaterial( { color: 0x666666, emissive: 0xff0000 } ) ); materials.push( new THREE.MeshPhongMaterial( { color: 0x000000, specular: 0x666666, emissive: 0xff0000, shininess: 10, opacity: 0.9, transparent: true } ) ); materials.push( new THREE.MeshBasicMaterial( { map: texture, transparent: true } ) );
-https://threejs.org/examples/#webgl_loader_gltf_extensions -ducks etc. -reflection steel balls etc.
// simple catmullromcurve3 with editor
// need to see how to remove the spline points on unselect etc.
// fit view does not work for spline points, with only position, not the actual center of the spline curve
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["curve" , ,
[
[1,3,3],
[2,3,3],
[3,1,3],
[1,3,3],
] ,
[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"
]
]
);""
// animations - rpm, tpm and opm (rotations, times and orbit) // simple cube rpm
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [["rpm"],[5]]] ] );""
// simple cube tpm animation on a path
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [ ["rpm","tpm","points" ], [5, 2, [[1,2,3],[2,3,4],[5,5,6]]] ] ] ] );""
// simple cube tpm animation on a path
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [["tpm","points"],[20,[[10,2,3],[20,3,4],[50,5,6]]]]] ] );""
// orbit per minute RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [ ["opm" ,"r" ], [20 ,10 ] ] ] ] );""
// orbit per minute and rpm RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", [ ["opm" ,"r" ,"rpm"], [20 ,10 , 100] ] ] ] );""
// jupiter orbit per minute and rpm RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong", [ ["opm" ,"r" ,"rpm"], [20 ,100 , 100] ] ] ] );""
// jupiter orbit per minute and rpm title etc. scale and rotation (in degrees) RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" , "rotation","scale"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong", [ ["opm" ,"r" ,"rpm"], [20 ,100 , 100] ], [0 ,23 , 0] , [1 ,1 , 1]
] ] );"" // jupiter orbit per minute and rpm title etc. scale and rotation (in degrees) // camera animation RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , , , , [ ["rpm"], [ 100] ]
],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong", [ ["rpm"], [ 100] ] ] ] );""
// camera rotation RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , , , , [ ["rpm"], [ 10] ]
],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong", [ ["rpm"], [ 5] ] ] ] );""
// get the camera on the scene here RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , , , , [ ["rpm"], [ 10] ]
],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong",
] ] );""
// get the camera on the scene here
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "animation" ],
["camera" ,
[
["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"],
[60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3]
], , , , , , ,
[
["tpm","points"],
[2,[[1,2,3],[2,3,4],[5,5,6]]]
]
],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong",
] ] );"" // simple sphere and mirror cube RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["cube" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "mirror"], ["sphere" , , [10,5,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
// circular mirror RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["circle" , , [1,3,3] ,[50,50,50] , 0x00ff00 , "yellow" ,false , "mirror"], ["sphere" , , [10,5,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] );""
// grid and sphere RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ); ""
// grid and sphere - zrange color like https://stemkoski.github.io/Three.js/Graphulus-Function.html RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "zrange" ,false , "phong"] ] );""
//zrange is not kicking in. //zrange is not working on ParameterBufferGeometry. On https://stemkoski.github.io/Three.js/Graphulus-Function.html it was ParameterGeometry -need to follow up
// grid and sphere uv color RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "uv" ,false , "phong"] ] ); ""
// painting texture RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "painting" ,false , "phong"] ] ); ""
// jupiter, earth etc.
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "jupiter" ,false , "phong"],
["sphere" , , [12,3,3] ,[5,20,20] , 0x00ff00 , "earth" ,false , "phong"]
]
);
""
// physics not working due to ammo issues. see how to resolve. the threeful copy of example is not working // should we get from https://github.com/kripken/ammo.js? or should we try https://schteppe.github.io/cannon.js/? // should possibly switch to cannonjs
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ], ["physics"], ["floor" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [1,150,130] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [10,300,230] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ], ["physics"], ["floorxy" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["flooryz" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["floorxz" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [1,15,13] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [10,30,23] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["grid" , , [0,0,0] ,[50,50,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
// at least oriented right
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ],
["physics"],
["floor" , , [0,0,-3] ,[50,1,50] , 0x00ff00 , "yellow" ,false , "phong", 10],
["sphere" , , [1,15,13] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10],
["sphere" , , [10,30,23] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10],
["grid" , , [0,0,0] ,[50,50,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
["load" , "../threefull/examples/models/gltf/RobotExpressive/RobotExpressive.glb" , [1,3,3] ,[5,20,20] , 0x00ff00 , ,false , "phong"]
]
);
""
// xbot
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
["load" , "../threefull/examples/models/gltf/Xbot.glb" , [1,3,3] ,[5,20,20] , 0x00ff00 , ,false , "phong"]
]
);
""
// soldier test from config RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["load" , "soldier" , [1,3,3] ,[5,20,20] , 0x00ff00 , ,false , "phong"] ] ); "" // parrot RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"], ["load" , "parrot" , [1,3,3] ,[5,20,20] , 0x00ff00 , ,false , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], ], ["ground" , [ ["type","width","height"], ["checkerboard",1000,1000] ], ] ] ); ""
//ground RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], ], ["ground" , [ ["type","width","height"], ["grass",1000,1000] ], ],
["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["light" , [ ["type" , "color", "intensity", "width", "height"], ["rectarealight" , "red", 0.6, 10, 10] ] , [1,1,-5] ,[5,2,20] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ) ""
//rect light RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], ],
["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["light" , [ ["type" , "color", "intensity", "width", "height"], ["rectarealight" , "red", 0.6, 10, 10] ] , [1,1,-5] ,[5,2,20] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ) ""
// fog RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], ],
["fog" , [ ["color","near","far"], ["red",10,2000] ], , , , , ,], /* ["fog" , [ ["color","density"], ["red",0.1] ], , , , , ,], */ ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["light" , [ ["type" , "color", "intensity", "distance", "decay"], ["pointlight" , "red", 0.6, 100, 2] ] , [1,1,-5] ,[5,2,20] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ) ""
//sphere and light works RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["light" , [ ["type" , "color", "intensity", "distance", "decay"], ["pointlight" , "red", 0.6, 100, 2] ] , [1,1,-5] ,[5,2,20] , 0x00ff00 , "yellow" ,false , "phong"], ["sphere" , , [1,3,3] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong"] ] ) ""
//text RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["text" , "ZCubes" , [3,3,3] ,[5,2,20] , 0x00ff00 , "yellow" ,true , "backgroundreflection"] ] ) ""
// bevelled text RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["red"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["text" , "ZCubes" , [3,3,3] ,[5,2,20,true] , 0x00ff00 , "yellow" ,true , "backgroundreflection"] ] ) ""
// background and sphere with reflection // did not seem to work RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["pisa"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
//["cube" , , [2,2,2] ,[0.5,0.1,0.1] , 0x00ff00 , "yellow" ,true , "backgroundreflection"], ["sphere" , , [3,3,3] ,[5,50,50] , 0x00ff00 , "yellow" ,true , "backgroundreflection"] ] ) ""
// svg load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["white"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["load" , "../threefull/examples/models/svg/tiger.svg" , [3,3,3] ,[5,50,50] , 0x00ff00 , , , ] ] ) "" // pdb load // it did not show the letters. did the css2d not work? // need to figure out how CSS2DObject works to show the labels RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["white"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["load" , "../threefull/examples/models/pdb/aspirin.pdb" , [3,3,3] ,[5,50,50] , 0x00ff00 , , , ] ] ) ""
// pdb load // it did not show the letters. did the css2d not work? // need to figure out how CSS2DObject works to show the labels RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["transparent"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["load" , "../threefull/examples/models/pdb/aspirin.pdb" , [3,3,3] ,[5,50,50] , 0x00ff00 , , , ] ] ) ""
// svg monalisa load //if monalisa svg was assigned, this was loaded, but was not visible until pisa was made background then could see it RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["white"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
["load.svg" , monalisa , [3,3,3] ,[5,50,50] , 0x00ff00 , , , ] ] ) ""
-fbx load - had to change the path for mimetype allowed. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], /*["scene" , [ ["background"], ["pisa"] ], , , , , ,], */ ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [275/*60 */ ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
//["cube" , , [2,2,2] ,[0.5,0.1,0.1] , 0x00ff00 , "yellow" ,true , "backgroundreflection"], ["load" , "../threefull/examples/models/fbx/Samba Dancing.fbx" , [3,3,3] ,[5,50,50] , 0x00ff00 , "yellow" ,true , ] ] ) -fbx load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], /*["scene" , [ ["background"], ["pisa"] ], , , , , ,], */ ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [275/*60 */ ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
//["cube" , , [2,2,2] ,[0.5,0.1,0.1] , 0x00ff00 , "yellow" ,true , "backgroundreflection"], ["load" , "https://three.zcubes.com/examples/models/fbx/Samba Dancing.fbx" , [3,3,3] ,[5,50,50] , 0x00ff00 , "yellow" ,true , ] ] )
//RENDER3DDEV( RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ["pisa"] ], , , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [60 ,"auto" ,0.1 ,1000 , [0,0,5] , 3] ], , , , ,],
//["cube" , , [2,2,2] ,[0.5,0.1,0.1] , 0x00ff00 , "yellow" ,true , "backgroundreflection"], ["sphere" , , [3,3,3] ,[5,50,50] , 0x00ff00 , "yellow" ,true , "backgroundreflection"] ] ) ""
// multiple spheres RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ,"focallength"], [75 ,"auto" ,0.1 ,1000 , [50,50,50] , 3] ], , , , , ,],
["sphere" , , i=>[3*i,i*3,3] ,[5,50,50] , 0x00ff00 , ["yellow","red"] ,true, , 10] ] ) ""
// simpler multiple spheres - size gets confusing. check next one. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,[5,50,50] , 0x00ff00 , ["yellow","red"] ,true, , 10] ] ) ""
// simpler multiple spheres - size better RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[5,50,50] , 0x00ff00 , "yellow" ,true, , 10] ] ) "" // smaller sphere RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[1,50,50] , 0x00ff00 , "yellow" ,true, , 10] ] ) ""
// smaller sphere normal colors RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[1,50,50] , 0x00ff00 , "yellow" ,true, "normal", 10] ] ) ""
// smaller sphere normal colors - varying radii RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[1*i,50,50] , 0x00ff00 , "yellow" ,true, "normal", 10] ] ) ""
// smaller sphere normal colors - varying radii slight - 0 radius defaults to 1 RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[0.3*i,50,50] , 0x00ff00 , "yellow" ,true, "normal", 10] ] ) ""
// smaller sphere normal colors - varying radii slight - 0 radius defaults to 1 adjusted by a small amount RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[0.3*i+0.01,50,50] , 0x00ff00 , "yellow" ,true, "normal", 10] ] ) ""
// smaller sphere normal colors - varying colors from interpolate d3 RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[3*i,i*3,3] ,i=>[0.3*i+0.01,50,50] , 0x00ff00 , i=>d3.interpolateInferno(i/10) ,true, "phong", 10] ] ) ""
// smaller sphere normal colors - varying colors from interpolate d3 2d // looks like rocks RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , (i,j)=>[3*i,j*3,3] ,(i,j)=>[0.3*i+0,2*j+0.01,50,50] , 0x00ff00 , (i,j)=>d3.interpolateInferno((i+j)/10) ,true, "phong", |6,4|] ] ) ""
// varying size varying colors from interpolate d3 2d // looks like rocks // material can have other properties in subarray. how to loop this? RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , (i,j)=>[3*i,j*3,3] ,(i,j)=>[0.3*i+0.2*j+0.01,50,50] , 0x00ff00 , (i,j)=>d3.interpolateInferno((i+j)/10) ,true, "phong", |6,4|] ] ) "" // planets RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material","count" ], ["sphere" , , i=>[10*i,0,0] ,(i,j)=>[5,50,50] , 0x00ff00 , PLANETS ,true, "phong", PLANETS.length] ] ) ""
// new items
//https://github.com/mrdoob/three.js/blob/master/examples/webgl_materials_video_webcam.html // webcam RENDER3D( [ ["type" ,"fill", "size"], ["sphere", "webcam",[1,30,30]] // user direction ] ) ""
// load objects with ferrari, and do this to rotate the wheels. on #bg
RENDER3D(
[
["type" , "name" , "animation" ],
["change" , "wheel_fl" , [["rpmx"],[-60]] ],
["change" , "wheel_fr" , [["rpmx"],[-60]] ],
["change" , "wheel_rl" , [["rpmx"],[-60]] ],
["change" , "wheel_rr" , [["rpmx"],[-60]] ]
],
"#bg"
);""
// rose 2
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
[0xf0f0f0]
], , , , ,],
["load" , "../threefull/other/rose 2.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "../threefull/other/rose/rose 2.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/female02.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose/rose 2.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// gave black RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/rose/rose 2.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "../threefull/other/female/female02.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/female02.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/female02.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"aut" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/rose.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// rose seems to work better // mtl file needs to be moved around for values like each line in mtl RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "../threefull/other/female/rose.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// gave black RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose2/rose.obj" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose3/rose 2.glb" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose3/rose 2.fbx" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
//glb shows rose right. really tiny and had to be scaled. why? // made scale to be 10 RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose3/rose 2.glb" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
//alien obj file
// why is it so far to the top?
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/alien/alien.obj" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
//cubes fbx file. did not work since this is old version
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/cubes/cubes.fbx" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
//cubes glb file. did not work since this is old version RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/cubes/cubes.glb" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
//glb rendered, flb had issues with transparency RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose/rose flower.glb" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose/rose flower 2.gltf" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["scene" , [
["background"],
['../threefull/examples/textures/terrain/grasslight-big.jpg']
], , , , ,],
["camera" , [
["fov" ,"aspect" ,"near" ,"far", "position" ],
[90 ,"auto" ,0.1 ,1000 , [0,0,30] ]
], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/rose/rose flower 5.gltf" , [0,0,0] ,[10,10,10] , 0x00ff00 , ,true , "phong"] ] ); ""
// physics started working after quaternion of plane was set 2:15 PM 12/8/2020
// basics work in this
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ],
["physics"],
["floor" , , [0,0,-3] ,[500,1,500] , 0x00ff00 , "yellow" ,false , "phong", 10],
["sphere" , , [0,10,0] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10],
["sphere" , , [10,10,0] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10],
["grid" , , [0,0,0] ,[200,100,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
-still some axis confusion, or camera confusion. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ], ["physics"], ["floor" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [0,100,0] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [10,100,0] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["grid" , , [0,0,0] ,[50,50,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
-look better RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material", "mass" ], ["physics"], ["floor" , , [0,0,-3] ,[50,50,1] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [0,10,0] ,[5,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["sphere" , , [10,20,0] ,[3,20,20] , 0x00ff00 , "yellow" ,false , "phong", 10], ["grid" , , [0,0,0] ,[50,50,2] , 0x00ff00 , "yellow" ,false , "phong"],
] );""
// fruits
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/fruits/apple and orange.glb" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// cups
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], ['../threefull/examples/textures/terrain/grasslight-big.jpg'] ], , , , ,], ["camera" , [ ["fov" ,"aspect" ,"near" ,"far", "position" ], [90 ,"auto" ,0.1 ,1000 , [0,0,30] ] ], , , , ,],
["load" , "https://kappaomega.zcubes.com/threetest/threefull/other/cups/cup.glb" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// nightsky
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["nightsky" , , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// annotation test RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[0,0,-15]] ] , [0,0,0] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], //["nightsky" , , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// annotation test RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[-11,9,5]] ] , [0,0,0] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); "" // shows annotation test -wip RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[-11,9,5]] ] , [1,1,1] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); ""
// annotation test RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[0,0,-15]] ] , [0,0,0] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[4,4,-2]] ] , [5,5,0] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); ""
// html - these positioning did not seem correct. see why. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["html" ,
"
"
, [1,1,1] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["html" ,
"
"
, [2,2,2] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["html" ,
"
"
, [4,4,2] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); ""
// html - these positioning did not seem correct. see why. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["html" ,
"
"
, [1,1,1] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["html" ,
"
"
, [20,2,20] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["html" ,
"
"
, [40,4,42] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ] ); ""
LOAD("elements"); els=ELEMENT(1..118) // html - these positioning did not seem correct. see why. RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , els.map(e=>e.toString()), SPHERICALPOINTS(118,800), [1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong",118] ] ); ""
// this did not work correctly RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , els.map(e=>e.SYMBOL), SPHERICALPOINTS(118,800), [1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong",118] ] ); "" // this is too large as font. need to see what to do to make it right RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"],
["html" , els.map(e=>"
"), SPHERICALPOINTS(118,800), [1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong",118]
] ); ""
// this does not work find out why.
// el.add(elchild) seems to be undefined
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"],
["html" ,
"
"
, SPHERICALPOINTS(20,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 20] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" ,
"
"
, SPHERICALPOINTS(20,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 20] ] ); ""
// works RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , "TEST" , SPHERICALPOINTS(117,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 117] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , "TEST" , HELICALPOINTS(118,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118] ] ); ""
// element names in helical format LOAD("elements", function () { RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , ELEMENT(1..118).map(e=>e+"") , HELICALPOINTS(118,100) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118] ] ); "" }
)
// element names in double helical format with 90 deg rotation helix1=HELICALPOINTS(118,100); helix2=ROTATEPOINTS(helix1); LOAD("elements", function () { RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , ELEMENT(1..118).map(e=>e+""), helix1 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118], ["html" , ELEMENT(1..118).map(e=>e+""), helix2 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118] ] ); "" }
)
// element names in double helical format helix1=HELICALPOINTS(118,100); helix2=ROTATEPOINTS(helix1,Math.PI); LOAD("elements", function () { RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , ELEMENT(1..118).map(e=>e+""), helix1 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118], ["html" , ELEMENT(1..118).map(e=>e+""), helix2 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118] ] ); "" }
)
// dna in double helical format
// d1="ATCG";
// d2="TAGC";
// dna=(1..100@(function (){var r=RANDINT(4);return([d1[r],d2[r]])}) )~;
d1="ATCG"; d2="TAGC"; d=(1..100@(function (){var r=RANDINT(4);return([d1[r],d2[r]])}) )~; dna=(d[0]~);//.print()
helix1=HELICALPOINTS(118,100); helix2=ROTATEPOINTS(helix1,Math.PI); LOAD("elements", function () { RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"], ["html" , dna[0], helix1 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 100], ["html" , dna[1], helix2 ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 100] ] ); "" }
)
// element names in helical format with conical angle
LOAD("elements",
function ()
{
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ,"count"],
["html" ,
ELEMENT(1..118).map(e=>e+"")
, SCALEPOINTS(HELICALPOINTS(118,100),1..118@(x=>x/118)) ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong", 118]
]
);
""
}
)
// annotation still wip // annotation test RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[0,0,-15]] ] , [0,0,0] ,[1.5,1,1] , 0x00ff00 , ,true , "phong"], ["annotation" , [ ["title","description","camera"], ["Test" ,"Description Text",[4,4,-2]] ] , [5,5,0] ,[1.5,1,1] , 0x00ff00 , ,true , "phong"], ] ); "" // how to get rid of the yellow area etc. and get the camera to zoom in right
// point // sphere and cube - better looking RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["point", "red",[1,30,30], [ [1,1,2], [2,1,2], [3,1,2] ], [["size"],[0.1]] ] ] ) ""
// points
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material"],
["points", "red",[1,30,30],
1..100@(x=>[x,1,x]), [["size"],[0.05]] ]
]
)
""
// points RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["points", "red",[1,30,30], 1..100@(x=>[x,1,x]) .map(x=>x[0]) , [["size"],[0.5]] ] ] ) ""
// line test RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["line", "red",[1,30,30],[[0,0,0][1,1,1],[4,4,2]]] ] ) ""
// lines RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],[[[1,1,2],[2,3,4]],[12,3,4],[4,5,5]]], ["lines", "yellow",[4,30,30],[[[3,3,2],[4,4,4]],[1,3,4],[14,5,15]]] ] ) ""
// lines from stem to sphere RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],SPHERICALPOINTS(118,800).rays()] ] ) ""
// not showing anything. why? lines from stem to sphere // is it radius? The group is being made etc. RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],SPHERICALPOINTS(18,5).rays()] ] ) ""
// lines from stem to sphere
RENDER3D(
[
["type" ,"fill", "size", "coordinates"],
["lines", "red",[1,30,30],HELICALPOINTS(118,800).rays()]
]
)
""
// lines from conical tree with scale RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],SCALEPOINTS(HELICALPOINTS(118,800),1..118.map(x=>1/x)).rays()] ] ) ""
// try subpoints using add // lines from stem to sphere // did not work RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],ADDPOINTS(HELICALPOINTS(118,800),1..118.map(x=>-x)).rays()] ] ) ""
// try subpoints using add // lines from stem to sphere // did not work RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>-x))] ] ) ""
// rayscale etc RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>-x))] ] ) ""
// rayscale etc RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "red",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>1/x))] ] ) ""
// rayscale etc conical christmas tree
RENDER3D(
[
["type" ,"fill", "size", "coordinates"],
["lines", "red",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>x/118))]
]
)
""
// rayscale etc with many colors RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "rainbow",[1,30,30],HELICALPOINTS(118,800).raysscale(1..118.map(x=>x/118))] ] ) ""
// rayscale etc with many colors like a fruit RENDER3D( [ ["type" ,"fill", "size", "coordinates"], ["lines", "rainbow",[1,30,30],SPHERICALPOINTS(118,800).raysscale(1..118.map(x=>x/118))] ] ) ""
// rayscale etc with many colors like a fruit with center // like a flower. note [[]] on material not to split settings array RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["lines", "rainbow",[1,30,30],SPHERICALPOINTS(118,800).raysscale(1..118.map(x=>x/118),"center"), [ [ ["type","linewidth"], ["line",3] ] ] ] ] ) ""
// rayscale etc with many colors like a fruit with center
// like a flower. note [[]] on material not to split settings array
// line2 is not working well
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material"],
["line2s", "rainbow",[1,30,30],SPHERICALPOINTS(118,800).raysscale(1..118.map(x=>x/118),"center"),
[
[
["linewidth"],
[3]
]
]
]
]
)
""
// points with lookat RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["points", "red",[1,30,30], SPHERICALPOINTS(118,10).rayslookat(), [["size"],[0.1]] ] ] ) ""
RENDER3D( [ ["type" ,"fill", "size", "coordinates","material"], ["points", "red",[1,30,30], SPHERICALPOINTS(118,10).rayslookat(), [["size"],[0.1]] ] ] ) ""
// place rectangles at spherical points with lookat defined pts=SPHERICALPOINTS(118,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat"], ["cube", "red",[1,1,1], pts, "phong",pts.rayslookat() ] ] ) ""
// sphere of cubes...
pts=SPHERICALPOINTS(118,10);
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material","lookat","count"],
["cube", "red",[1,1,1], pts, "phong",pts.rayslookat() ,pts.length ]
]
)
""
// small cubes did not seem to change pts=SPHERICALPOINTS(118,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "red",[0.1,0.1,0.1], pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// sphere from small balls pts=SPHERICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "red",[1,1,1], pts, "phong",pts.rayslookat() ,pts.length ] ] )
// random colors on spheres pts=SPHERICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "random",[1,1,1], pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// interesting shape like a cross with stuff in the middle pts=SPHERICALPOINTS(130,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "reds",[1,15,15], pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// interesting sphere pts=SPHERICALPOINTS(130,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "reds",1,15,15, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// random colors on spheres pts=SPHERICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "random",1,10,10, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// random colors on spheres pts=SPHERICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "random",1,1,1, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS(30,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",0.1,0.10,0.10, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS(5,2); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",1,10,10, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS(5,20); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",0.1,1,1, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS(50,20); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",10,10,10, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes around center at same level pts=HELICALPOINTS(5,2,5,0); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",0.1,5,5, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes // (maxnumberofpoints,radius,thetasegments,cylinderstep,cylinderoffsetpercycle,startphi,startcylinderoffset) pts=HELICALPOINTS(50,2,5,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "random",0.1,5,5, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes in separate levels
pts=HELICALPOINTS(50,2,5,0,10);
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material","lookat","count"],
["cube", "random",0.1,5,5, pts, "phong",pts.rayslookat() ,pts.length ]
]
)
""
// helical cubes rainbow colors with lookat pts=HELICALPOINTS(50,20,5,0,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "rainbow",15.1,5,15, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes pts=HELICALPOINTS([50,100],20,5,0,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "rainbow",15.1,5,15, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical cubes in concentric circles pts=HELICALPOINTS(20,[50,100],5,8,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["cube", "rainbow",5,1,5, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// helical sphere in concentric circles, with triangular shapes
pts=HELICALPOINTS(20,[5,15],5,8,10);
RENDER3D(
[
["type" ,"fill", "size", "coordinates","material","lookat","count"],
["sphere", "rainbow",5,1,5, pts, "phong",pts.rayslookat() ,pts.length ]
]
)
""
// helical spheres with random radii pts=HELICALPOINTS(20,[50,100],5,8,10); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "rainbow",x=>[RANDOM(5),10,5], pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
// simple sphere and viewport
// not working yet
// added controls and still has issues
RENDER3D(
[
["type" ],
["sphere"],
["viewport"]
]
)
""
// flower like helical sphere in concentric circles, with triangular shapes pts=HELICALPOINTS(20,5,20,0); RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count"], ["sphere", "rainbow",5,1,5, pts, "phong",pts.rayslookat() ,pts.length ] ] ) ""
//HELICALPOINTS(maxnumberofpoints,radius,thetasegments,cylinderstep,cylinderoffsetpercycle,startphi,startcylinderoffset,requirednumberofpoints)
// flowerlike helical sphere in concentric circles, with triangular shapes pts=HELICALPOINTS(20,15,20,0); angles=radpiby20; RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count","rotation"], ["sphere", "rainbow",5,1,3, pts, "phong",pts.rayslookat() ,pts.length,i=>[angles[i],0,0] ] ] ) ""
//HELICALPOINTS(maxnumberofpoints,radius,thetasegments,cylinderstep,cylinderoffsetpercycle,startphi,startcylinderoffset,requirednumberofpoints)
// flowerlike helical sphere in concentric circles, with triangular shapes with rotation pts=HELICALPOINTS(20,15,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookat","count","rotation"], ["sphere", "rainbow",5,1,3, pts, "phong",pts.rayslookat() ,pts.length,i=>[angles[i],0,0] ] ] ) ""
// flowerlike helical sphere in concentric tetrahedrons, with triangular shapes // note lookatdeactivated so that it does not affect the set rotations // could use this for the json object display from crockford pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","lookatdeactivated","count","rotation"], ["tetrahedron", "rainbow",5, pts, "phong",pts.rayslookat() ,pts.length,function (i){console.log(angles[i]);return([angles[i],0,0])} ] ] ) ""
// flowerlike helical sphere with tubes to get json emblem. note the use of settings to define tube pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","looka1t","count","rotation"], ["tube", "rainbow",[[[-10,-10],[10,10],[0,0]]], [5], pts, "phong",pts.rayslookat() ,pts.length,function (i){console.log(angles[i]);return([angles[i],0,0])} ] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes - try 2 pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","looka1t","count","rotation"], ["tube", "rainbow",[[[-10,-10],[10,10],[10,-10],[-10,10],[-10,-10]]], [5], pts, "phong",pts.rayslookat() ,pts.length,function (i){console.log(angles[i]);return([angles[i],0,0])} ] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes - try 3 // segments can be used for flower marigold pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","looka1t","count","rotation"], ["tube", "rainbow",[[[0,0],[6,0],[3,2.2427336738541745]]], [1], pts, "phong",pts.rayslookat() ,pts.length,function (i){console.log(angles[i]);return([angles[i],0,0])} ] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes try 4 pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","looka1t","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,6,0],[0,3,2.2427336738541745],[0,0,0]]], [15,10,10], pts, "phong",pts.rayslookat() ,pts.length,i=>[0,0,angles[i]]] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes try 5 pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","lookat","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,0,6],[0,3,2.2427336738541745],[0,0,0]]], [15,10,10], pts, "phong",pts.rayslookat() ,pts.length,i=>[0,angles[i],0]] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes try 5 // size should be in two d array if i loop pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","lookat","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,0,6],[0,3,2.2427336738541745],[0,0,0]]], 2,10,10, pts, "phong",pts.rayslookat() ,pts.length,i=>[0,angles[i],0]] ] ) ""
// flowerlike helical sphere in concentric circles, with triangular shapes try 6 thin edges of tube pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","lookat","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,0,6],[0,3,2.2427336738541745],[0,0,0]]], 5,0.1,5, pts, "phong",pts.rayslookat() ,pts.length,i=>[0,angles[i],0]] ] ) ""
// crayon like tubes pts=HELICALPOINTS(20,25,20,0); angles=deg360by20; RENDER3D( [ ["type" ,"fill", "settings","size", "coordinates","material","lookat","count","rotation"], ["tube", "rainbow",[[[0,0,0],[0,0,6],[0,3,2.2427336738541745]]], 2,1,50,true, pts, "phong",pts.rayslookat() ,pts.length,i=>[0,angles[i],0]] ] ) ""
// render download command RENDER( [ ["type","cx", "cy", "r","coordinates","label","fill","stroke","stroke-width","font-size","format"], ["circle",100,100,60,,,"purple","purple"], ["circle",100,100,30,,,"white","white"], ["text",,,,[90,65],"1",,"black",3,40], ["download",,,,[90,65],"1",,"black",3,40,"png"] ]); ""
//A forest of trees // RENDER3D( // [ // ["type" ,"fill", "size", "coordinates","material","count"], // ["tree", "red",[1,30,30], // 1..100@(x=>[x,1,x]), [["size"],[0.05]],15 ] // ] // ) // "" //1..100@(x=>[x,1,x]) would not work as it gives arrays within arrays
//A row of trees RENDER3D( [ ["type" ,"fill", "size", "coordinates","material","count"], ["tree", "red",[1,30,30], (x=>[x,1,x]), [["size"],[0.05]],15 ] ] ) ""
// forest of trees. notice size RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",1,30,30, ((x,y)=>[x,0,y]),IM(15) ] ] ) ""
// forest of trees.trying different size // this did not work as well RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",((x,y)=>[RANDINT(100),x,y]), ((x,y)=>[x,0,y]),IM(15) ] ] ) "" // forest of trees. works. trying different size RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",((x,y)=>[RANDINT(10)]), ((x,y)=>[x*RANDINT(10),0,y*RANDINT(10)]),IM(15) ] ] ) ""
// one big tree
RENDER3D(
[
["type" ,"fill", "size", "coordinates","count"],
["tree", "red",((x,y)=>[RANDINT(100)]),
,IM(15) ]
]
)
""
// one big tree RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",((x,y)=>[RANDINT(100)]), ,50 ] ] ) ""
// one big tree - different height cover etc. RENDER3D( [ ["type" ,"fill", "size", "coordinates","count"], ["tree", "red",[1..5,(50..1..-10)]~, ,5 ] ] ) ""
// loading different formats // 3dm files // loads though looks rotated on x axis. can expand on idea as in https://threejs.org/examples/webgl_loader_3dm.html RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/3dm/Rhino_Logo.3dm" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// 3dm files
// loads though looks rotated on x axis. can expand on idea
// need to see if colors normal etc load right or else get it loaded
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["load" ,
[
["url","normal"],
[
"https://three.zcubes.com/examples/models/3ds/portalgun/portalgun.3ds" ,
"
"
]
]
,
[-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"]
]
);
""
// 3mf files
// loads though looks rotated on x axis. can expand on idea
// other links to use
//"https://three.zcubes.com/examples/models/3mf/facecolors.3mf"
//"https://three.zcubes.com/examples/models/3mf/multipletextures.3mf"
//"https://three.zcubes.com/examples/models/3mf/vertexcolors.3mf"
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["load" , "https://three.zcubes.com/examples/models/3mf/cube_gears.3mf" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"]
]
);
""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/3mf/multipletextures.3mf" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/3mf/truck.3mf" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// amf file load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/amf/rook.amf" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// assimp file load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/assimp/octaminator/Octaminator.assimp" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// bvh file load - needed fitting. did that break other loads? RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/bvh/pirouette.bvh" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// dae file load - needed fitting. did that break other loads? collada RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/collada/elf/elf.dae" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
//need to do kinematics //https://threejs.org/examples/webgl_loader_collada_kinematics.html
// dae file load - needed fitting. did that break other loads? collada with animation RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/collada/stormtrooper/stormtrooper.dae" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// draco drc file load
RENDER3D(
[
["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ],
["load" , "https://three.zcubes.com/examples/models/draco/bunny.drc" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"]
]
);
""
// fbxfile load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/fbx/Samba Dancing.fbx" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// fbxfile load - nurbs RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/fbx/nurbs.fbx" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// gcode load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/gcode/benchy.gcode" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// kmz load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/kmz/Box.kmz" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// lwo load - change background to see the text which is in black // or add screen background row RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["scene" , [ ["background"], [0xf0f0f0] ], , , , ,], ["load" , "https://three.zcubes.com/examples/models/lwo/Objects/LWO3/Demo.lwo" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// nrrd and vtk load RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/nrrd/I.nrrd" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/vtk/liver.vtk" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// pcd RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/pcd/binary/Zaghetto.pcd" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// ply RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/ply/ascii/dolphins.ply" , [-10,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/ply/binary/Lucy100k.ply" , [-20,10,5] ,[1.5,1,1] , 0x00ff00 , "yellow" ,true , "phong"] ] ); ""
// prwm RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/prwm/smooth-suzanne.le.prwm" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/prwm/faceted-nefertiti.le.prwm" , [10,10,5] ,[10,10,10] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/prwm/vive-controller.le.prwm" , [-20,10,5] ,[3,3,3] , 0x00ff00 , "yellow" ,true , "phong"]
] ); ""
// stl RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/stl/ascii/slotted_disk.stl" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/stl/binary/pr2_head_pan.stl" , [10,10,5] ,[10,10,10] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/stl/binary/pr2_head_tilt.stl" , [-20,10,5] ,[3,3,3] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/stl/binary/colored.stl" , [-20,10,5] ,[3,3,3] , 0x00ff00 , "yellow" ,true , "phong"]
] ); ""
//tilt RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/tilt/BRUSH_DOME.tilt" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
//tilt RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://github.com/mrdoob/three.js/blob/master/examples/models/tilt/BRUSH_DOME.tilt" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
// to test //vox RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/vox/monu10.vox" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
//vrm RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/vrm/Alicia/AliciaSolid.vrm" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
//vrml // other files to load https://three.zcubes.com/examples/models/vrml/creaseAngle.wrl https://three.zcubes.com/examples/models/vrml/crystal.wrl https://three.zcubes.com/examples/models/vrml/house.wrl https://three.zcubes.com/examples/models/vrml/elevationGrid1.wrl https://three.zcubes.com/examples/models/vrml/elevationGrid2.wrl https://three.zcubes.com/examples/models/vrml/extrusion1.wrl https://three.zcubes.com/examples/models/vrml/extrusion2.wrl https://three.zcubes.com/examples/models/vrml/extrusion3.wrl https://three.zcubes.com/examples/models/vrml/lines.wrl https://three.zcubes.com/examples/models/vrml/meshWithLines.wrl https://three.zcubes.com/examples/models/vrml/meshWithTexture.wrl https://three.zcubes.com/examples/models/vrml/pixelTexture.wrl https://three.zcubes.com/examples/models/vrml/points.wrl
RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/vrml/house.wrl" , [-10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
// vtk and vtp RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["load" , "https://three.zcubes.com/examples/models/vtk/bunny.vtk" , [-10,10,5] ,[50,50,50] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/vtk/cube_ascii.vtp" , [3,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/vtk/cube_binary.vtp" , [10,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"], ["load" , "https://three.zcubes.com/examples/models/vtk/cube_no_compression.vtp" , [20,10,5] ,[5,5,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
// x RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], //["load" , "https://three.zcubes.com/examples/models/xyz/helix_201.xyz" , [-10,10,5] ,[50,50,50] , 0x00ff00 , "yellow" ,true , "phong"] ["load" , "https://three.zcubes.com/examples/models/xfile/SSR06_model.x" , [-10,10,5] ,[50,50,50] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""
// teapot RENDER3D( [ ["type" , "settings" , "coordinates", "size" , "stroke" , "fill", "helper", "material" ], ["teapot" , , [-10,10,5] ,[20,5] , 0x00ff00 , "yellow" ,true , "phong"] ] );
""