Лабораторная работа №1

11
Лабораторная работа №1 «Фабрика Blockly» ВЫПОЛНИЛ СТУДЕНТ ГРУППЫ ПОС-10А ЛУКЬЯНЕНКО ЕВГЕНИЙ

Transcript of Лабораторная работа №1

Page 1: Лабораторная работа №1

Лабораторная работа №1«Фабрика Blockly»ВЫПОЛНИЛ СТУДЕНТ ГРУППЫ ПОС-10А

ЛУКЬЯНЕНКО ЕВГЕНИЙ

Page 2: Лабораторная работа №1

Работа с файлами SVG

Page 3: Лабораторная работа №1

Масштабирование SVG файла

100% 200%

500%

Page 4: Лабораторная работа №1

Исходный код изображения<svg width="64" height="48" xmlns="http://www.w3.org/2000/svg"> <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ --> <g> <title>Layer 1</title> <path transform="rotate(-152.077, 3.96289, 24.3047)" id="svg_1" d="m-4.926405,36.317009l0,-24.025002l17.777236,24.025002l-17.777236,0z" stroke="#000000" fill="#fff7f7"/> <path id="svg_2" transform="rotate(-152.077, 47.875, 26.25)" d="m38.985718,38.262329l0,-24.025009l17.777222,24.025009l-17.777222,0z" stroke="#000000" fill="#fff7f7"/> <line id="svg_3" y2="39.75" x2="6.249999" y1="41.75" x1="50.249998" stroke="#000000" fill="none"/> <line id="svg_8" y2="11.5" x2="46.000003" y1="9.5" x1="2" stroke="#000000" fill="none"/> <line id="svg_9" y2="20" x2="60.75" y1="18" x1="17.75" stroke="#000000" fill="none"/> <text xml:space="preserve" text-anchor="middle" font-family="serif" font-size="24" id="svg_10" y="27" x="79" stroke-width="0" stroke="#000000" fill="#000000"/> <text transform="matrix(0.870621, 0, 0, 0.155556, 7.36496, 8.4)" xml:space="preserve" text-anchor="middle" font-family="serif" font-size="24" id="svg_11" y="0" x="20" stroke-width="0" stroke="#000000" fill="#000000"/> <text xml:space="preserve" text-anchor="middle" font-family="serif" font-size="8" id="svg_12" y="9.25" x="25.5" stroke-width="0" stroke="#000000" fill="#000000">h</text> <text style="cursor: move;" id="svg_13" xml:space="preserve" text-anchor="middle" font-family="serif" font-size="8" y="13.375" x="54.75" stroke-width="0" stroke="#000000" fill="#000000">r2</text> <text style="cursor: move;" id="svg_14" xml:space="preserve" text-anchor="middle" font-family="serif" font-size="8" y="23.375" x="7.875" stroke-width="0" stroke="#000000" fill="#000000">r1</text> </g></svg>

Page 5: Лабораторная работа №1

BlocklyПредставление Blockly Результат работы

Page 6: Лабораторная работа №1

Сгенерированный код Blockly <html lang="en">

<head>

<meta charset="utf-8">

<style>

body {

margin: 0px;

background-color: #000000;

overflow: hidden;

}

</style>

</head>

<body>

<script src = "javascript/three.min.js"></script>

<script>

();

var renderer; var scene; var camera; var mesh; init(); animate(); function init() { renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000 ); camera.position.z = 400; scene = new THREE.Scene();var geometry = new THREE.CylinderGeometry( (40),(40),(120),(5),5 ); var texture = THREE.ImageUtils.loadTexture( 'textures/wglu_internal_missing_texture.png' );

Page 7: Лабораторная работа №1

Сгенерированный код Blockly(продолжение)

texture.anisotropy = renderer.getMaxAnisotropy();

var material = new THREE.MeshBasicMaterial( { map: texture } );

mesh = new THREE.Mesh( geometry, material );

scene.add( mesh );

window.addEventListener( 'resize', onWindowResize, false );}

function onWindowResize() {

camera.aspect = window.innerWidth / window.innerHeight;

camera.updateProjectionMatrix();

renderer.setSize( window.innerWidth, window.innerHeight );}

function animate() {

requestAnimationFrame( animate );

mesh.rotation.x += 0.005;

mesh.rotation.y += 0.01;

renderer.render( scene, camera );

};</script> </body></html>

Page 8: Лабораторная работа №1

ПризмаBlockly.Language.webgl3d_web_a18_prizma = { category: 'WebGL3D', helpUrl: 'file://localhost/W:/home/webgl/www/blockly/demos/webgl/webgl3d_webgl_a18_prizma.help.html', init: function() { this.setColour(290); this.appendDummyInput() .appendTitle("Prizma"); this.appendValueInput("radius") .appendTitle(" Radius"); this.appendValueInput("height") .appendTitle(" Height"); this.appendValueInput("count") .appendTitle(" Count")

.appendTitle(new Blockly.FieldImage("../../media/Prizma.svg",64,48)); this.setTooltip('');

this.setPreviousStatement(true); this.setNextStatement(true); }};

Page 9: Лабораторная работа №1

Тело страницы

Blockly.Language.webgl_a17_html5 = { category: 'WebGL3d', helpUrl: 'http://www.example.com/', init: function() { this.setColour(220); this.appendDummyInput() .appendTitle("body"); this.appendStatementInput("NAME"); this.setPreviousStatement(true); this.setTooltip(''); }};

Page 10: Лабораторная работа №1

Файл справкиhelp.html

Page 11: Лабораторная работа №1

Спасибо за внимание!