Редактирование: Система блоков (38.31)
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 3: | Строка 3: | ||
[[File:Mesher.png|150px|thumb|Система блоков с грузами (A - груз 1, B - груз 2, C - подвижный блок, D - неподвижный блок.)]] | [[File:Mesher.png|150px|thumb|Система блоков с грузами (A - груз 1, B - груз 2, C - подвижный блок, D - неподвижный блок.)]] | ||
== Реализация при помощи JS == | == Реализация при помощи JS == | ||
− | {{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Drepin/mesherskiy/38.31.html|width= | + | {{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Drepin/mesherskiy/38.31.html|width=880 |height=625 |border=0 }} |
− | Программа: [ | + | Программа: [[Медиа:Mesherskiy3831.zip|Скачать]] |
<div class="mw-collapsible mw-collapsed"> | <div class="mw-collapsible mw-collapsed"> | ||
Строка 41: | Строка 41: | ||
webGLRenderer.shadowMapEnabled = true; | webGLRenderer.shadowMapEnabled = true; | ||
// create the ground plane | // create the ground plane | ||
− | var textureGrass = THREE.ImageUtils.loadTexture("grasslight-big.jpg"); | + | var textureGrass = THREE.ImageUtils.loadTexture("../assets/textures/ground/grasslight-big.jpg"); |
textureGrass.wrapS = THREE.RepeatWrapping; | textureGrass.wrapS = THREE.RepeatWrapping; | ||
textureGrass.wrapT = THREE.RepeatWrapping; | textureGrass.wrapT = THREE.RepeatWrapping; | ||
Строка 135: | Строка 135: | ||
document.getElementById("WebGL-output").appendChild(webGLRenderer.domElement); | document.getElementById("WebGL-output").appendChild(webGLRenderer.domElement); | ||
var controls = new function () { | var controls = new function () { | ||
− | this. | + | this.КИРПИЧИ = 25; |
− | this. | + | this.БЛОКИ = 1; |
− | this. | + | this.ДЕРЕВО = 1; |
− | this. | + | this.ВРАЩЕНИЕ = false; |
this.redraw = function () { | this.redraw = function () { | ||
− | M1=controls. | + | M1=controls.КИРПИЧИ; |
− | M2=controls. | + | M2=controls.БЛОКИ; |
− | M3=controls. | + | M3=controls.ДЕРЕВО; |
− | moving=controls. | + | moving=controls.ВРАЩЕНИЕ; |
}; | }; | ||
}; | }; | ||
var gui = new dat.GUI(); | var gui = new dat.GUI(); | ||
− | gui.add(controls, ' | + | gui.add(controls, 'КИРПИЧИ', 1, 50).onChange(controls.redraw); |
− | gui.add(controls, ' | + | gui.add(controls, 'БЛОКИ', 1, 50).onChange(controls.redraw); |
− | gui.add(controls, ' | + | gui.add(controls, 'ДЕРЕВО', 1, 50).onChange(controls.redraw); |
− | gui.add(controls, ' | + | gui.add(controls, 'ВРАЩЕНИЕ', 0, 1).onChange(controls.redraw); |
gui.domElement.style.position = 'absolute'; | gui.domElement.style.position = 'absolute'; | ||
gui.domElement.style.left = '0px'; | gui.domElement.style.left = '0px'; | ||
Строка 162: | Строка 162: | ||
render(); | render(); | ||
function createMesh(geom, imageFile) { | function createMesh(geom, imageFile) { | ||
− | var texture = THREE.ImageUtils.loadTexture(imageFile); | + | var texture = THREE.ImageUtils.loadTexture("../assets/textures/general/" + imageFile); |
var mat = new THREE.MeshPhongMaterial(); | var mat = new THREE.MeshPhongMaterial(); | ||
if(geom.type=='PlaneGeometry') mat.side = THREE.DoubleSide; | if(geom.type=='PlaneGeometry') mat.side = THREE.DoubleSide; | ||
Строка 264: | Строка 264: | ||
// Align top-left | // Align top-left | ||
stats.domElement.style.position = 'absolute'; | stats.domElement.style.position = 'absolute'; | ||
− | stats.domElement.style. | + | stats.domElement.style.left = '0px'; |
stats.domElement.style.top = '0px'; | stats.domElement.style.top = '0px'; | ||
document.getElementById("Stats-output").appendChild(stats.domElement); | document.getElementById("Stats-output").appendChild(stats.domElement); |