0% au considerat acest document util (0 voturi)
29 vizualizări13 pagini

GC Lab 6

Lucrarea prezintă modelarea a două sfere care ciocnesc între ele, simulând mișcarea lor după ciocnire prin calcularea noilor viteze în funcție de mase și vitezele inițiale, folosind legile conservării energiei și impulsului. Programul scris în biblioteca p5.js modelează grafic acest proces fizic.

Încărcat de

Dascal Sergiu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
29 vizualizări13 pagini

GC Lab 6

Lucrarea prezintă modelarea a două sfere care ciocnesc între ele, simulând mișcarea lor după ciocnire prin calcularea noilor viteze în funcție de mase și vitezele inițiale, folosind legile conservării energiei și impulsului. Programul scris în biblioteca p5.js modelează grafic acest proces fizic.

Încărcat de

Dascal Sergiu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Ministerul Educației și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Informatică şi Ingineria Sistemelor

RAPORT
Lucrare de laborator nr.6

la cursul „ Modelarea proceselor 3D dinamice”

Tema:„ Modelarea proceselor 3D dinamice”

A efectuat : st. gr. RM-211 Dascal Sergiu


A verificat: asis. univ. Toma Olga

Chișinău 2021
Cuprins
Introducere............................................................................................................................................
1 Sarcina................................................................................................................................................
Rezultatul Programului.........................................................................................................................
Concluzie...............................................................................................................................................
Bibliografie...........................................................................................................................................
Anexa....................................................................................................................................................
Modelarea proceselor 3D dinamice, pe lângă scopuri pur științifice, poate avea și valoare
aplicativă.
Biblioteca grafică [Link] poate fi utilizată pentru modelare fizică a proceselor dinamice. Ea
ne permite modelarea sistemelor mecanice (în cadrul legilor mecanicii teoretice). Cu ajutorul
[Link] putem simula mișcări de translație și rotație în trei planuri.
Exemplul prezentat în continuare simulează ciocnirea a două sfere cu masele m1 și m2
care până la ciocnire au vitezele deplasări liniare a centrelor, notate cu v1 și v2. După ciocnire
sferele se vor deplasa cu vitezele v’1 și v’2. Sferele se rostogolesc pe o suprafață rigidă, adică
execută o mișcare de rotație care sunt specificate de unghiurile ”omega1” și ”omega2”.

Fig. 6.1. Ciocnirea a două sfere

Utilizând legea conservării energiei mecanice


2 2 '2 '2
m1 v 1 m2 v 2 m1 v 1 m2 v 2
+ = + ,
2 2 2 2
și legea conservării impulsului
m1 v 1+ m2 v 2=m1 v ' 1 +m2 v ' 2,
determinăm relațiile dintre viteze până și după ciocnirea sferelor:
m1 v 1 +m 2 v 2
v ' 1=−v 1 +2 ,
m1 +m 2
m1 v 1 +m2 v 2
v ' 2=−v 2 +2 .
m1 +m2
Unghiul de rotație
r1 r2
omega 1= ; omega 2= .
v1 v2

Lucrarea de laborator nr. 6


Tema: Modelarea proceselor 3D dinamice

Scopul lucrării: Obținerea cunoștințelor practice în modelarea proceselor 3D dinamice,


utilizând funcțiile standard de translație, și rotație din biblioteca [Link].
Sarcina lucrării:
1. Elaborați un program pentru modelarea unui proces fizic utilizând funcțiile standard de
translație, și rotație din biblioteca [Link].
2. Elaborați un program care creează o scenă 3D de modelare a proceselor fizice conform
variantei indicate în tabelul 6.1. Pentru crearea scenei pot fi utilizate obiecte grafice 3D existente
în repozitoriul 3D.
Simularea și descrierea procesului fizic bidimensional din sarcină poate fi consultat pe
pagina [Link]
Tabelul 6.1. Variantele pentru realizarea lucrării de laborator

9 Pendulul lui Newton


Rezultatul Programului :
Concluzii

În cadrul laboratorului respectiv s-a lucrat cu programul [Link] si s-au obtinut


abilitati de creare a desenelor grafice in programul respectiv. În cadrul
laboratorului sau folosit functiile :
function setup(), createCanvas(500, 500); background("gray"); noStroke();
fill("brown"); triangle(70, 330, 430, 330, 250, 480); circle(200, 350, 180); arc(250,
270, 80, 20, PI, TWO_PI); rect(248, 313, 4, 40); quad(248, 350, 210, 360, 210,
364, 251, 354);
În cadrul laboratorului respectiv s-a lucrat cu extragerea informației
din două resurse paralel, una în română și alta în limba engleză. Cu ajutorul
diferitor scripturi și în special al bibliotecii spaCy, s-au clasificat diferite entități,
precum Persoane, Organizații, Locații, Date. S-au efectuat calcule pe baza la
calitatea extragerii automate a acestor elemente și anume s-a calculat Precision și
Recall. În cele din urmă, concluzionez că Precision are valoarea 0.5/0.5 (valorile
calculelor ambelor resurse), iar Recall-ul – 1/0.33. Sa observat careva erori la
entitatea Person, selectând și elemente abstracte, precum ”proprietarul”, dar acest
element a fost clasificat incorect, deoarece nu semnifică o persoană exactă. De
asemenea, au fost elemente neclasificate, dar care ar fi trebuit. 
Spre rezolvarea acestor probleme aș propune ca pentru selectarea
persoanelor spre exemplu, să se ia în considerație litera majusculă de la începutul
cuvântului. La fel, pentru determinarea datelor să se ia în considerare prezența
cifrelor. Cuvintele cheie tot au un rol deosebit în clasificarea entităților, de aceea
ele nu trebuie evitate. 
Concluzionez că lucrul în cadrul laboratorului a fost unul eficient și
interesant. 
Bibliografie
1. [Link]
2. [Link]
3. [Link]
Anexa
Codul programului in [Link] nr. 1
let r = 80;
let a, a2;
let angle, angle2;
let g = 0.2;
let v = 0;
let v2 = 0;
let x=0, y=0, x2=0, y2=0;
let first = true;
let fr = 30;
function setup()
{
createCanvas(760, 400, WEBGL);
normalMaterial();
frameRate(fr);
angle = PI / 4;
angle2 = PI / 4;
}
function left() {
x3 = r * sin(angle2);
y2 = r * cos(angle2);

if (x3 <= 0) {
x2 = x3;
} else {
y2 = r;
}
}

function right() {
x1 = r * sin(angle);
y = r * cos(angle);

if (x1 >= 0) {
x = x1;
} else {
y = r;
first = false;
}
}

function draw() {
orbitControl();
background('lightblue');

/*left();
right();*/

translate(-50, -30, 0);

cylinder(2.5, 150);
translate(0, 100, 0);
sphere(25);
translate(50, -100, 0);
cylinder(2.5, 150);
translate(0, 100, 0);
sphere(25);
translate(50, -100, 0);
cylinder(2.5, 150);
translate(0, 100, 0);
sphere(25);
//Left
left();
//rotate(-angle)
//translate(2*angle, -2*angle, 0);
translate(-150, -100, 0);
translate(2*x2, 2*y2, 0);
translate(0, -160, 0);
translate(0, 100, 0);
push();
sphere(25, 25);
if (x3 <= 0)
{
rotate(-angle2);
}
translate(0, -100, 0);
cylinder(2.5, 150);
pop();

//Right
right();
translate(0, -100, 0);
translate(200, 60, 0);
translate(-2*x2, -2*y2, 0);
translate(0, -60, 0);
translate(2*x, 2*y, 0);
translate(0, 100, 0);
sphere(25);
if (x1 >= 0)
{
rotate(-angle);
}
translate(0, -100, 0);
cylinder(2.5, 150);

a = -g / r * sin(angle);
v += a;
angle += v;

a2 = -g / r *sin(angle2);
v2 += a2;
angle2 += v2;
}

S-ar putea să vă placă și