1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #VRML V2.0 utf8 DEF star Transform { children Shape { geometry PointSet { coord DEF cd Coordinate{ point [ ] } } appearance Appearance { material DEF cc Material { emissiveColor 1 1 1 } } }} DEF time TimeSensor{ cycleInterval 10 loop TRUE} DEF sc Script { field SFNode cc USE cc field SFNode cd USE cd field SFVec3f position 0 0 0 eventOut MFVec3f pos eventIn SFTime time field SFBool light TRUE url "javascript: function initialize() { var j = 10 ; var k =0 ; for ( i = 0 ; i < 4000 ; i ++){ position.x = Math.random()*1000 ; position.y = Math.random()*280 ; position.z = Math.random()*600 ; l = i%j ; if ( l== 0){ pos[i].x = position.x ; pos[i].y = position.y ; pos[i].z=position.z ; } if ( l == 1){ pos[i].x = -position.x ; pos[i].y = position.y ; pos[i].z=position.z ; } if ( l == 2){ pos[i].x = position.x ; pos[i].y = -position.y ; pos[i].z=position.z ; } if ( l == 3){ pos[i].x = position.x ; pos[i].y = position.y ; pos[i].z=-position.z ; } if ( l == 4){ pos[i].x = -position.x ; pos[i].y = -position.y ; pos[i].z=position.z ; } if ( l == 5){ pos[i].x = position.x ; pos[i].y = -position.y ; pos[i].z=-position.z ; } if ( l == 6){ pos[i].x =-position.x ; pos[i].y = position.y ; pos[i].z=-position.z ; } if ( l == 7){ pos[i].x = -position.x ; pos[i].y = -position.y ; pos[i].z=-position.z ; } if ( l == 9){ if ( k == 0 ){ pos[i].x = position.x ; pos[i].y = position.y ; pos[i].z=position.z ; k++;} if ( k == 1 ){ pos[i].x = -position.x ; pos[i].y = position.y ; pos[i].z=position.z ; k++;} if ( k == 2 ){ pos[i].x = position.x ; pos[i].y = -position.y ; pos[i].z=position.z ; k++;} if ( k == 3 ){ pos[i].x = position.x ; pos[i].y = position.y ; pos[i].z=-position.z ; k++;} if ( k == 4 ){ pos[i].x = -position.x ; pos[i].y = -position.y ; pos[i].z=position.z ; k++;} if ( k == 5 ){ pos[i].x = position.x ; pos[i].y = -position.y ; pos[i].z=-position.z ; k++;} if ( k == 6 ){ pos[i].x =- position.x ; pos[i].y = position.y ; pos[i].z=-position.z ; k++;} if ( k == 7 ){ pos[i].x = -position.x ; pos[i].y = -position.y ; pos[i].z=-position.z ; k=0;} } if ( l == 10){ if ( k == 0 ){ pos[i].x = position.x ; pos[i].y = position.y ; pos[i].z=position.z ; k++;} if ( k == 1 ){ pos[i].x = -position.x ; pos[i].y = position.y ; pos[i].z=position.z ; k++;} if ( k == 2 ){ pos[i].x = position.x ; pos[i].y = -position.y ; pos[i].z=position.z ; k++;} if ( k == 3 ){ pos[i].x = position.x ; pos[i].y = position.y ; pos[i].z=-position.z ; k++;} if ( k == 4 ){ pos[i].x = -position.x ; pos[i].y = -position.y ; pos[i].z=position.z ; k++;} if ( k == 5 ){ pos[i].x = position.x ; pos[i].y = -position.y ; pos[i].z=-position.z ; k++;} if ( k == 6 ){ pos[i].x =- position.x ; pos[i].y = position.y ; pos[i].z=-position.z ; k++;} if ( k == 7 ){ pos[i].x = -position.x ; pos[i].y = -position.y ; pos[i].z=-position.z ; k=0;} } } cd.point = pos ; } function time (){ if ( light == TRUE ){ cc.emissiveColor = new SFColor( .65, .65, .65) ; light = FALSE ;} else { cc.emissiveColor = new SFColor( .43, .43, .43); light= TRUE ; } } " } ROUTE time .cycleTime TO sc. time |
'Study > VRML' 카테고리의 다른 글
3D 프로그래밍 프로젝트 - 천왕성 구현 (0) | 2011.11.15 |
---|---|
3D 프로그래밍 프로젝트 - 태양 구현 (0) | 2011.11.15 |
3D 프로그래밍 프로젝트 - 토성 구현 (0) | 2011.11.15 |
3D 프로그래밍 프로젝트 - 명왕성 구현 (0) | 2011.11.15 |
3D 프로그래밍 프로젝트 - 해왕성 구현 (0) | 2011.11.15 |