Jak obliczyć środek masy / grawitacji dla obiektów wektorowych?

10

Robię telefon komórkowy (w sensie Caldera), wycinając laserowo plik wektorowy (Corel Draw). Mam zestaw konturów, które będą poszczególnymi elementami.

Czy w programie Corel (lub innym programie) istnieje sposób obliczenia środka masy, więc umieszczam otwory, aby zawiesić elementy?wprowadź opis zdjęcia tutaj

Jan
źródło
Inventor to zrobi, ale prawdopodobnie przesadza z twoimi potrzebami. Może demo?
Sam
3
To brzmi jak matematyka. Jesteśmy tu tylko garstką grafików. ;)
DA01

Odpowiedzi:

9

Ta odpowiedź może się nie liczyć, jeśli potrzebujesz ściśle programowego rozwiązania, ale uznałem ją za interesującą, więc pomyślałem, że podzielę się nią. :)

Matematycznym sposobem byłoby rozbicie kształtu na zbiór trójkątów i wykonanie średniej ważonej ich poszczególnych środków ciężkości. Nie sądzę, żeby któryś z popularnych programów do rysowania zautomatyzował to dla ciebie. Można to zrobić ręcznie, ale może nie być warte twojego czasu.

Ta strona zawiera podział podejścia fizycznego, który może być szybszy w stosunku do twojego czasu: http://www.scn.org/~bh162/center_of_mass.pdf

Podstawową przesłanką jest to, że obiekty o jednolitej grubości można określić za pomocą 2-3 pionowych linii z losowych punktów na lub w pobliżu krawędzi kształtu.

  1. Wydrukuj i wytnij kopię swojego kształtu.
  2. Wybierz 3 punkty nieco zbliżone do różnych krawędzi obiektu.
  3. Użyj szpilki lub gwoździa, aby wbić dziury w 3 punktach. Otwory powinny być nieco większe niż średnica narzędzia, aby wycięcie mogło się swobodnie kołysać.
  4. Zawieś przedmiot za pomocą szpilki przez jeden z otworów.
  5. Podczas gdy obiekt wisi, użyj sznurka i ciężaru, aby utworzyć linię pionową i prześledzić linię.
  6. Powtórz linię zawieszenia i pionu dla pozostałych otworów.
  7. Punkt przecięcia się wszystkich linii jest środkiem ciężkości kształtu.
  8. Jeśli twoje linie są precyzyjne, powinieneś być w stanie określić dokładne centrum za pomocą 2 linii, a trzecia linia służy tylko dodatkowej weryfikacji.
Farray
źródło
2
fantastyczny. jesteśmy tak przyzwyczajeni do posiadania oprogramowania, które wykona za nas pracę, że czasami (często) przeoczamy pomysł, że najlepszym rozwiązaniem jest proste rozwiązanie fizyczne!
Lauren-Clear-Monica-Ipsum
Zgadzam się: zamierzałem zasugerować wycięcie go z piankowego rdzenia ...
horatio
3

Utknąłem z tym samym dylematem i używając Adobe Illustrator napisałem skrypt, który umieszcza małą dziurę w środku ciężkości nieregularnego wielokąta. Działa świetnie! Po tej iteracji dodałem również kilka urywków, aby utworzyć otwór tuż nad środkiem ciężkości, aby upewnić się, że część jest dobrze wyważona po zawieszeniu tylko z tego jednego punktu.

Skrypt do pobrania: CentroidFinder.js

Wpis na blogu: Znajdowanie środka ciężkości (centroid) wielokąta w programie Adobe Illustrator

Scott S.
źródło
1

Eksportuję do bardzo dużego pliku PNG o wielkości 3000 pikseli. Następnie przeciągam i upuszczam do Algodoo (który jest teraz bezpłatny). Ustaw oś w żądanym miejscu i zagraj w symulację, a pokaże Ci, gdzie jest niezrównoważona. Następnie możesz dostosowywać rysunek, aż znajdzie się w odpowiednim miejscu.

George Ou
źródło