Grawitacja a C++

0

Jestem w trakcie pisania malego projektu w C++ .... w skrocie:
mam obiekty - klocki, roznych rozmiarow (zalozmy ze w 2d) ukladam z nich wieze ... jak ktos sie bawil klockami w realu to wie ze jak sie sie zle pouklada to sie przewraca, to klocek, to cala wieza... no i tu mam problem... w jaki prosty sposob moznaby sprawdzac czy cos w danej chwili sie nie chce przewrocic ( no i oczywiscie zeby to jeszcze jakos szybko dzialalo) sam doszedlem do wniosku , ze trzeba sprawdzac przy dodawaniu klocka i usuwaniu bo w miedzyczasie za duzo sie nie zmieni... ale jak sprawdzac :-/ (zastanawiem sie nad uzyciem sil a nad liczeniem srodka ciezkosci...)

0

klocek chce (nie ma wyboru :D) się przewrócić, gdy środek jego masy jest poza jego podstawąuser image

0

Jestem pewien że autorowi postu nie chodziło o ustawianie wieży z klocków stojących na rogu... :d
Może ktoś z budownictwa ci pomoże? :D
Na pierwszy rzut oka wydaje mi się że trzeba sprawdzać równowagę pomiędzy SUMĄ sił nacisku działającą na klocek pod spodem i siłę 'działającą' na powietrze - część która wystaje. Nie bardzo potrafię to wyjaśnić to może narysuję: (sorki za tą grafikę ASCII ale nie bardzo mam jak wstawić obrazek)

  |-----------|
  |              |
  |              |
  |              |        
  |              |
  |              |
  |-----------|
F1 |  |-|---------|       F1<=F2 (F1 mniejsze-równe F2) ->wieża się nie przewraca
    \/ | \/F2       |
        |             | 
        |             |
        |             |
        |             |
        |-----------|

ale
|-----------|
| |
| |
| |
| |

-----------
-----------
F1
/
-----------

Czyli liczysz siły nacisku po prawej i po lewej stronie krawędzi. Siła zależy od sumy masy klocków nad krawędzią po lewej bądź po prawej stronie .
Oczywiście to takie rozwiązanie 'zdroworozsądkowe', nie ręczę że słuszne :)</image>

0

Tyle to ja wiem ale chodzi mi o cos takiego
user image

(jezeli sie pojawil rys to czytac dalej :D)
W polu A mamy piramidke. Usuwamy klocek zoltawy i mamy 2 mozliwosci:

  1. klocek czerwony moze spasc, ale ze przygniata go zielony to nie spada
  2. klocek czerwony spada, mimo iz przygniata go zielony

natomiast w polu B
Mamy krzywa wierze (B1,B2,B3), ktorej srodek ciezkosci wypada na podstawe. Dokladamy klocek B4 (ten zolty u gory) i srodek ciezkosci nowej wiezy wychodzi poza podstawe - wieza runie :/.

to sa prosste przypadki, a ja mam zrobic deczke zawilsze(acha zakladamy ze klockow nie da sie postawic na kancie (w sumie nie jest to mozliwe)) moze jakies sprawdzanie w stylu rekurencyjnym.... ale nadal nie wiem jak zrobic przypadek A :(

pomocy!!!! :D

No wlasnie o cos takiego mi chodzi.... ale jeszcze musze to przemyslec :D thx marcinj

0

W przypadku A będzie właśnie tak jak mówiłem - przyjmijmy że klocek waży N.
W przypadku A-1 po usunięciu żółtawego klocka, na klocek czerwony działa siła [piszmy skrótowo] 1/2N poza krawędzią (w powietrze) (ciężar połowy czerwonego klocka), i 1/2N (pół zielonego klocka) przed krawędzią (nacisk od klocka zieloonego z góry). Siły się równoważą, klocek nie wypada.

W przypadku 1-B dla czerwonego klocka: poza krawędzią działa siła ok. 0,8N, a przed krawędzią 0,2N (nacisk zielonego klocka). Widać że przeważa siła ciągnąca klocek 'w powietrze', czyli klocek wypada.

1 użytkowników online, w tym zalogowanych: 0, gości: 1