Proiect: Soft Square: Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
mFără descriere a modificării
 
(Nu s-au afișat 3 versiuni intermediare efectuate de același utilizator)
Linia 7: Linia 7:
===Cerința 1===
===Cerința 1===


Pe ecranul monitorului va aparea un cadru de 20 pixeli colorat in albastru, verde sau alb, culoarea lui fiind aleasa cu ajutorul tastaturii potrivit unei cerinte din cele 3 variante:
Pe ecranul monitorului va apărea un cadru de 20 pixeli colorat în albastru, verde sau alb, culoarea lui fiind aleasă cu ajutorul tastaturii potrivit unei cerințe din cele 3 variante:


''Varianta a)'' Se introduce de la tastatura litera “C”. Dupa aceasta operatiune se pot introduce de la tastatura una dintre litere “b”, “g” si “w”, cadrul aparand in culoarea respectiva.
''Varianta a)'' Se introduce de la tastatură litera “C”. După această operațiune se pot introduce de la tastatură una dintre litere “b”, “g” si “w”, cadrul aparând în culoarea respectivă.


''Varianta b)'' Se introduce de la tastatura litera “C”. Dupa aceasta operatiune se pot introduce de la tastatura una dintre cifrele “1”, “2” si “3”, cadrul aparand in culoarea asociata.
''Varianta b)'' Se introduce de la tastatură litera “C”. După această operațiune se pot introduce de la tastatură una dintre cifrele “1”, “2” si “3”, cadrul aparând în culoarea asociată.


''Varianta c)'' Se introduce de la tastatura litera “C”. Se introduc de la tastatura 1, 2 sau 3 spatii (“space” key) si se mai apasa o data litera “C”. Cadrul apare in culoarea asociata numarului de “spatii” introduse.
''Varianta c)'' Se introduce de la tastatură litera “C”. Se introduc de la tastatură 1, 2 sau 3 spații (“space” key) şi se mai apasă o dată litera “C”. Cadrul apare în culoarea asociată numărului de “spații” introduse.


Nerespectarea oricarei succesiuni de litere, cifre sau spatii conduce la resetarea menu-ului.  
Nerespectarea oricărei succesiuni de litere, cifre sau spații conduce la resetarea menu-ului.  


===Cerința 2===
===Cerința 2===


Pe ecranul monitorului apar in coltul stanga sus 4 patrate albe (latura fiecarui patrat fiind de 5 pixeli). Centrele acestor patrate formeaza un patrat de latura 20 pixeli.
Pe ecranul monitorului apar în colțul stânga sus 4 pătrate albe (latura fiecărui pătrat fiind de 5 pixeli). Centrele acestor pătrate formează un pătrat de latură 20 pixeli.


===Cerința 3===
===Cerința 3===


Pozitia patratelor se va modifica potrivit informatiei preluate de la tastatura. Pozitia relativa a patratelor este constanta, deplasarea lor sincrona fiind determinata potrivit unei cerinte din cele 3 variante:
Poziția pătratelor se va modifica potrivit informației preluate de la tastatură. Poziția relativă a pătratelor este constantă, deplasarea lor sincronă fiind determinată potrivit unei cerințe din cele 3 variante:


''Varianta a)'' Se introduce de la tastatura litera “S”. Se apasa oricare din sageti, la fiecare apasare patratele modificandu-si pozitia cu 3 pixeli in directia respectiva. Pozitia finala este determinata de apasarea literei “s”.
''Varianta a)'' Se introduce de la tastatură litera “S”. Se apasă oricare din săgeți, la fiecare apăsare pătratele modificându-şi pozitia cu 3 pixeli in directia respectivă. Pozitia finală este determinată de apăsarea literei “s”.


''Varianta b)'' Se introduce de la tastatura litera “S”.  Apasarea tastei “TAB” muta patratele cu 15 pixeli la dreapta. In momentul in care patratele ar depasi marginea din stanga, in mod automat patratele se muta pe randul urmator (cu 30 pixeli mai jos) la inceputul lui (sub pozitia initiala - stanga). Poztia finala este determinata de apasarea literei “s”.
''Varianta b)'' Se introduce de la tastatură litera “S”.  Apăsarea tastei “TAB” mută pătratele cu 15 pixeli la dreapta. In momentul in care pătratele ar depăşi marginea din stanga, in mod automat pătratele se mută pe randul următor (cu 30 pixeli mai jos) la inceputul lui (sub pozitia initială - stanga). Poztia finală este determinată de apăsarea literei “s”.


''Varianta c)'' Se introduce de la tastatura litera “S”. Se introduce de la tastatura litera “x” si apoi numarul de pixeli dorit pentru mutarea pe axa x a patratelor. Se introduce de la tastatura litera “y” si apoi numarul de pixeli dorit pentru mutarea pe axa y a patratelor.
''Varianta c)'' Se introduce de la tastatură litera “S”. Se introduce de la tastatură litera “x” şi apoi numărul de pixeli dorit pentru mutarea pe axa x a pătratelor. Se introduce de la tastatură litera “y” şi apoi numărul de pixeli dorit pentru mutarea pe axa y a pătratelor.


Nerespectarea oricarei succesiuni de litere, cifre sau spatii conduce la resetarea menu-ului (starea de asteptare a literei “S”).
Nerespectarea oricărei succesiuni de litere, cifre sau spații conduce la resetarea menu-ului (starea de asteptare a literei “S”).


===Cerința 4===
===Cerința 4===


Distanta dintre patrate se va modifica la apasare tastei “A” potrivit algoritmului descris de o cerinta din cele 3 variante:
Distanța dintre pătrate se va modifica la apăsare tastei “A” potrivit algoritmului descris de o cerință din cele 3 variante:


''Varianta a)'' Daca patratul mare este intr-o pozitie care il face sa fie apropiat de o latura a monitorului (distanta oricarui colt pana la margine mai mica de 20 de pixeli) isi va micsora latura la 15 pixeli, coltul fix la recalculare fiind cel mai apropiat de laturile monitorului.  
''Varianta a)'' Dacă pătratul mare este într-o poziție care îl face fie apropiat de o latură a monitorului (distanța oricărui colt pana la margine mai mică de 20 de pixeli) işi va micşora latura la 15 pixeli, colțul fix la recalculare fiind cel mai apropiat de laturile monitorului.  


''Varianta b)'' Daca centrul patratului este in centrul ecranului (delimitat de un patrat de latura 100 pixeli) is va creste latura la 25 pixeli. Centrul patratului ramane fix.
''Varianta b)'' Dacă centrul pătratului este în centrul ecranului (delimitat de un pătrat de latură 100 pixeli) îsi va creste latura la 25 pixeli. Centrul pătratului rămane fix.


''Varianta c)'' Daca doua patrate se afla in stanga ecranului si doua in dreapta lui dimensiunea laturii va creste la 30 pixeli. Centrul patratului ramane fix.
''Varianta c)'' Dacă două pătrate se află în stanga ecranului şi două în dreapta lui dimensiunea laturii va creşte la 30 pixeli. Centrul patratului rămane fix.


===Cerința 5===
===Cerința 5===


La apasarea tastei “g” patratele pornesc cu o viteza initiala de 4 pixeli / refresh spre dreapta. Patratele se deplaseaza sincron pe ecran. In orice moment putem modifica sensul si directia vitezei cu ajutorul tastaturii: se lasa echipei decizia cum va implementa aceasta functionalitate, dar va trebui sa mimeze functionalitatea data de potentiometrul existent pe alte placute de dezvoltare (rotirea in sens trigonometric produce o modificare a vitezei cu o acceleratie unghiulara in sens trigonometric, rotirea in sens orar produce efect contrar)
La ăpasarea tastei “g” pătratele pornesc cu o viteza initiala de 4 pixeli / refresh spre dreapta. Pătratele se deplaseaza sincron pe ecran. In orice moment putem modifica sensul şi directia vitezei cu ajutorul tastaturii: se lasă echipei decizia cum va implementa aceasta funcționalitate, dar va trebui sa mimeze funcționalitatea dată de potentiometrul existent pe alte plăcute de dezvoltare (rotirea in sens trigonometric produce o modificare a vitezei cu o accelerație unghiulară în sens trigonometric, rotirea în sens orar produce efect contrar)


===Cerința 6===
===Cerința 6===


In momentul ciocnirii cu marginea ecranului definita de cadrul mentionat la Sub-obiectivul 1 toate patratele (formand un patrat rigid) isi schimba viteza astfel incat sa se simuleze ciocnirea elastica cu cadrul.
In momentul ciocnirii cu marginea ecranului definită de cadrul mentionat la Sub-obiectivul 1 toate pătratele (formand un pătrat rigid) îşi schimbă viteza astfel încat să se simuleze ciocnirea elastica cu cadrul.


===Cerința 7===
===Cerința 7===


Daca se apasa tasta “X” se adauga efectul suplimentar definit de o cerinta din urmatoarele 3:
Daca se apasă tasta “X” se adaugă efectul suplimentar definit de o cerință din următoarele 3:


''Varianta a)'' acceleratie gravitationala
''Varianta a)'' accelerație gravitațională


''Varianta b)'' ciocnirea este plastica, patratul care se ciocneste pierzand 5% din energie
''Varianta b)'' ciocnirea este plastică, pătratul care se ciocneşte pierzand 5% din energie


''Varianta c)'' exista o forta de frecare continua proportionala cu viteza coltului
''Varianta c)'' există o forță de frecare continuă proporțională cu viteza coltului


===Cerința 8===
===Cerința 8===


Daca se apasa tasta “R” cadrul format din cele 4 patrate isi pierde rigiditatea. Astfel, intre cele 4 patrate vor exista 6 resorturi initial netensionate. '
Daca se apasă tasta “R” cadrul format din cele 4 pătrate îşi pierde rigiditatea. Astfel, între cele 4 pătrate vor exista 6 resorturi inițial netensionate. '


==Refererințe==
==Referințe==

Versiunea curentă din 9 aprilie 2012 07:27

Definiție

Tema de proiect este emularea fenomenelor fizice (gravitație, ciocniri, frecare) asupra unui corp deformabil (de formă pătrata în starea relaxată).

Cerințe

Cerința 1

Pe ecranul monitorului va apărea un cadru de 20 pixeli colorat în albastru, verde sau alb, culoarea lui fiind aleasă cu ajutorul tastaturii potrivit unei cerințe din cele 3 variante:

Varianta a) Se introduce de la tastatură litera “C”. După această operațiune se pot introduce de la tastatură una dintre litere “b”, “g” si “w”, cadrul aparând în culoarea respectivă.

Varianta b) Se introduce de la tastatură litera “C”. După această operațiune se pot introduce de la tastatură una dintre cifrele “1”, “2” si “3”, cadrul aparând în culoarea asociată.

Varianta c) Se introduce de la tastatură litera “C”. Se introduc de la tastatură 1, 2 sau 3 spații (“space” key) şi se mai apasă o dată litera “C”. Cadrul apare în culoarea asociată numărului de “spații” introduse.

Nerespectarea oricărei succesiuni de litere, cifre sau spații conduce la resetarea menu-ului.

Cerința 2

Pe ecranul monitorului apar în colțul stânga sus 4 pătrate albe (latura fiecărui pătrat fiind de 5 pixeli). Centrele acestor pătrate formează un pătrat de latură 20 pixeli.

Cerința 3

Poziția pătratelor se va modifica potrivit informației preluate de la tastatură. Poziția relativă a pătratelor este constantă, deplasarea lor sincronă fiind determinată potrivit unei cerințe din cele 3 variante:

Varianta a) Se introduce de la tastatură litera “S”. Se apasă oricare din săgeți, la fiecare apăsare pătratele modificându-şi pozitia cu 3 pixeli in directia respectivă. Pozitia finală este determinată de apăsarea literei “s”.

Varianta b) Se introduce de la tastatură litera “S”. Apăsarea tastei “TAB” mută pătratele cu 15 pixeli la dreapta. In momentul in care pătratele ar depăşi marginea din stanga, in mod automat pătratele se mută pe randul următor (cu 30 pixeli mai jos) la inceputul lui (sub pozitia initială - stanga). Poztia finală este determinată de apăsarea literei “s”.

Varianta c) Se introduce de la tastatură litera “S”. Se introduce de la tastatură litera “x” şi apoi numărul de pixeli dorit pentru mutarea pe axa x a pătratelor. Se introduce de la tastatură litera “y” şi apoi numărul de pixeli dorit pentru mutarea pe axa y a pătratelor.

Nerespectarea oricărei succesiuni de litere, cifre sau spații conduce la resetarea menu-ului (starea de asteptare a literei “S”).

Cerința 4

Distanța dintre pătrate se va modifica la apăsare tastei “A” potrivit algoritmului descris de o cerință din cele 3 variante:

Varianta a) Dacă pătratul mare este într-o poziție care îl face să fie apropiat de o latură a monitorului (distanța oricărui colt pana la margine mai mică de 20 de pixeli) işi va micşora latura la 15 pixeli, colțul fix la recalculare fiind cel mai apropiat de laturile monitorului.

Varianta b) Dacă centrul pătratului este în centrul ecranului (delimitat de un pătrat de latură 100 pixeli) îsi va creste latura la 25 pixeli. Centrul pătratului rămane fix.

Varianta c) Dacă două pătrate se află în stanga ecranului şi două în dreapta lui dimensiunea laturii va creşte la 30 pixeli. Centrul patratului rămane fix.

Cerința 5

La ăpasarea tastei “g” pătratele pornesc cu o viteza initiala de 4 pixeli / refresh spre dreapta. Pătratele se deplaseaza sincron pe ecran. In orice moment putem modifica sensul şi directia vitezei cu ajutorul tastaturii: se lasă echipei decizia cum va implementa aceasta funcționalitate, dar va trebui sa mimeze funcționalitatea dată de potentiometrul existent pe alte plăcute de dezvoltare (rotirea in sens trigonometric produce o modificare a vitezei cu o accelerație unghiulară în sens trigonometric, rotirea în sens orar produce efect contrar)

Cerința 6

In momentul ciocnirii cu marginea ecranului definită de cadrul mentionat la Sub-obiectivul 1 toate pătratele (formand un pătrat rigid) îşi schimbă viteza astfel încat să se simuleze ciocnirea elastica cu cadrul.

Cerința 7

Daca se apasă tasta “X” se adaugă efectul suplimentar definit de o cerință din următoarele 3:

Varianta a) accelerație gravitațională

Varianta b) ciocnirea este plastică, pătratul care se ciocneşte pierzand 5% din energie

Varianta c) există o forță de frecare continuă proporțională cu viteza coltului

Cerința 8

Daca se apasă tasta “R” cadrul format din cele 4 pătrate îşi pierde rigiditatea. Astfel, între cele 4 pătrate vor exista 6 resorturi inițial netensionate. '

Referințe