Berekening zwaartepunt van vlakke figuren

Discussie in 'De Modelbouwkroeg' gestart door Ad Bakker, 5 nov 2011.

  1. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    In een discussie kwamen het moment op een roer van een zeilboot ter sprake. Toen ik dat probeerde uit te rekenen moest ik het zwaartepunt van het roer hebben. Al doende realiseerde ik me dat zoiets misschien in een webpagina kon verwerken. Ik deed dat met Excel, maar dat leent zich minder voor verspreiding.
    Waarschijnlijk bestaat er al zoiets, maar ik kon het niet vinden (zegt misschien wat over mijn zoekcapaciteit), en ik vond het weer een leuke oefening waar weer hele andere zaken bij kwamen kijken dan bij het maken van de pagina voor "speciale karakters" (zie handtekening).

    Een eerste versie is klaar. Die is nog wat kaal zonder veel uitleg, maar dat komt nog wel. Hieronder het resultaat van het roer waar ik het eerder over had (de lijnen van de figuur zien er niet mooi uit doordat ik het scherm moest uitzoomen om van het geheel een screenshot te maken):

    [​IMG]

    De pagina zwaartepunt is bereikbaar, en als iemand het uit wil proberen: graag!!
    Figuren bestaan uit veelhoeken/polygonen waarvan de x-y coördinaten van de hoekpunten in een tabel worden ingevoerd. Bij opstarten staan er 3 lege tabelrijen, maar met de knop links boven kan je punten toevoegen. Het eindpunt wordt automatisch verbonden met het eerste punt.
    Het totaal kan uit meerdere figuren bestaan, die worden gescheiden door een punt met een # als x-coördinaat.

    Opmerkingen, kritiek, suggesties zijn altijd welkom!!!!

    Groet,

    Ad Bakker
     
    Laatst bewerkt door een moderator: 23 nov 2015
  2. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    Er bleek nog een foutje in de weergave van de zwaartepunts coördinaten in de tekening te zitten. Verder de mogelijkheid om punten aan het einde van de lijst te verwijderen toegevoegd. Oorspronkelijke post is aangepast.

    Ik denk er verder aan om gewichtsfactoren aan afzonderlijke onderdelen toe te kunnen kennen. Dan kan je verschillen in dikte en/of soortelijke massa meenemen.

    Groet,

    Ad
     
  3. Baggeraar

    Baggeraar

    Lid geworden:
    31 jan 2010
    Berichten:
    15.448
    Locatie:
    H&NF
    Ad, ik zit zomaar wat te proberen en het geeft een ander beeld dan ik verwacht.
    Waar heb je de oorsprong en wat is de X-as?
     
  4. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    Harm, de x-as is horizontaal van links naar rechts, y-as vertikaal van onder naar boven. Onderdeel wordt pasgemaakt in het tekenvlak dus de oorsprong ligt niet vast. Je krijgt de zwaartepuntscoördinaten gewoon ten opzichte van de oorsprong die je voor je invoer coördinaten hebt gebruikt
    Ik had er nog assen bij willen zetten maar de tekenbiblitheek die ik van het net gevist heb verrekt het (nog?) om dat te doen.

    Laat als het niet lukt even je figuur zien, dan maak ik een demo daarvan.

    Groet,

    Ad
     
  5. Baggeraar

    Baggeraar

    Lid geworden:
    31 jan 2010
    Berichten:
    15.448
    Locatie:
    H&NF
    Was er al bang voor, is nu duidelijk.
    Het werkt wel, ook de scheiding met #
    Ik heb mijn zeil/onderwaterplan alleen niet bij de hand,
    anders kon ik mijn zeilbootje narekenen.
     
  6. ron van sommeren

    ron van sommeren Forum veteraan

    Lid geworden:
    31 aug 2002
    Berichten:
    29.332
    Locatie:
    halverwege Tiel & Nijmegen, tussen Maas & Waal
    Zwaartepunt is onafhankelijk van coördinatensysteem.
     
  7. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    Dat is wel erg kort door de bocht, Ron. Natuurlijk is het zwaartepunt van een lichaam onafhankelijk van het coördinatiesysteem. Maar de plaats/coördinaten ervan is/zijn afhankelijk van waar het lichaam zich in dat systeem bevindt. Dat is met name wel handig als je (zoals zo vaak gebeurt) de oorsprong van het systeem naar het zwaartepunt wilt verleggen.

    Groet,

    Ad
     
  8. Baggeraar

    Baggeraar

    Lid geworden:
    31 jan 2010
    Berichten:
    15.448
    Locatie:
    H&NF
    Naar mijn bescheiden idee geheel fout (als je werkt met dit programma).
    Je werkt hier met x en y om de hoekpunten van je oppervlak in te geven.
    Het programma berekent dan je zwaarte punt en geeft dat weer met x en y coördinaten.

    Je moet er wel aan denken dat als je de x en y gaat gebruiken van het z.p., welke hoek IN (of naast, of van) je oppervlak als 0x en 0y wordt gebruikt door het program.

    Dat (0;0) zal, in het voorbeeld van Ad, buiten het roeroppervalk liggen (aan de onderzijde) in het verlengde van de lijn die tegen de achtersteven komt.
     
  9. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    Het bleek achteraf dat het oorspronkelijke programma niet op Internet Explorer draaide. Dat heb ik inmiddels verholpen, bleek weer eens één van die gevallen te zijn waarbij IE anders werkt dan de rest. Ervaren web ontwikkelaars zullen het ondertussen wel allemaal weten, maar ik word er gek van.
    Verder het gebruikersinterface nogal drastisch verbouwd, en de mogelijkheid om gewichtsfactoren aan verschillende onderdelen toe te kennen ingebouwd. Door bijvoorbeeld de dikte vermenigvuldigd met de soortelijke massa als gewichtsfactor in te voeren, kan je de massa per deel en van het totaal berekenen.
    Door een andere grafische bibliotheek toe te passen bleek het nu ook mogelijk de oppervlakken in te kleuren. Toen ook maar de mogelijkheid ingebouwd om de kleur per deel op te geven.
    In de tekening een grid getekend, ik denk dat dat wat duidelijker overkomt.
    De zelfde toepassing als in de openingspost ziet er nu zo uit:

    [​IMG] [​IMG]

    De link naar de pagina is gelijk gebleven.

    Als er zich gekke dingen voordoen hoor ik het graag.

    Groet,

    Ad
     
    Laatst bewerkt door een moderator: 17 nov 2015
  10. ron van sommeren

    ron van sommeren Forum veteraan

    Lid geworden:
    31 aug 2002
    Berichten:
    29.332
    Locatie:
    halverwege Tiel & Nijmegen, tussen Maas & Waal
    Tsja Ad, Microsoft, de grote standaardenvernaggelaar :(
     
  11. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    Ze kunnen er allemaal wel wat van, hoor Ron. Maar Microsoft is wel de kampioen. Net weer tegen iets aangelopen waar ik nog geen oplossing voor gevonden heb.

    De zwaartepunt site zoals hij was beviel me toch niet. De invoer van meerdere delen kwam wat klungelig over. Daarom heb ik het zo veranderd dat elk onderdeel een eigen invoerscherm heeft, die onder elkaar geplaatst worden.
    Verder de mogelijkheden nog wat uitgebreid:

    • Per deeloppervlak kan voor de invoer ervan een lokaal x-y assenstelsel worden gedefinieerd.
    De gewichtsfactor is normaal gesproken constant voor een deeloppervlak. Nu is het ook mogelijk deze op twee manieren te laten variëren.

    • De gewichtsfactoren wordt op drie punten opgegeven, waaruit dan wordt geïnterpoleerd of geëxtrapoleerd. Op die manier heb je dan een met x en y lineair verlopende gewichtsfactor.
    • Met de tweede methode kan een (javascript) "gebruikerfunctie" worden ingevoerd, die de gewichtsfactor als functie van de x- en y-waarden uitrekent.
    Het invoerscherm ziet er nu zo uit:
    [​IMG]

    Dit is dan voor constante gewichtsfactor. Voor een lineair variërende gewichtsfactor verandert het middengedeelte in:

    [​IMG]

    En voor invoer met een functie in:

    [​IMG]

    Dit laatste kan (nog) niet met Internet Explorer. Ik denk de plaats waar het misgaat wel gelokaliseerd te hebben, maar ik heb nog geen oplossing kunnen vinden.

    Weer een hoop geleerd, en dat was tenslotte het doel!!

    Groet,

    Ad
     
    Laatst bewerkt door een moderator: 17 nov 2015
  12. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    Als het goed is werkt de door de gebruiker in te voeren gewichtsfunctie nu ook met Internet Explorer. Op zijn minst met IE9, lagere versies kon ik (nog) niet uittesten.

    Groet,

    Ad Bakker
     
  13. Re entry from the 80`s

    Re entry from the 80`s

    Lid geworden:
    12 mei 2011
    Berichten:
    488
    Locatie:
    Doetinchem
    Verschillende browsers

    Ad,..

    Als je dat probleem met weergave in verschillende browsers vroegtijdig wil tackelen moet je de website " browserschots" gebruiken. Dat zie je in 1 keer of het in alle browsers goed gaat.

    Groeten code kloppertje:pc:
     
  14. HansL

    HansL

    Lid geworden:
    28 jul 2011
    Berichten:
    1.830
    Locatie:
    Tisselt (België)
  15. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    Doe het maar eens voor een figuur met een variabele dikte. Succes ermee!!!!

    Groet,

    Ad
     
  16. HansL

    HansL

    Lid geworden:
    28 jul 2011
    Berichten:
    1.830
    Locatie:
    Tisselt (België)
    Formule voor 'centroid of polygon' op wiki kan je toepassen voor elke vlakke 'non-intersecting' polygoon (zichzelf niet snijdende veelhoek).

    Voor 'intersecting' vlakke veelhoeken de figuur opsplitsen in verschillende 'non-intersecting' vlakke veelhoeken...
     
  17. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    Wiskundig noemen we zoiets numerieke integratie, en die moet dan met de nodige foutencontrole uitgevoerd worden.
    Succes met je Excel sheetje.......:D

    Groet,

    Ad
     
  18. HansL

    HansL

    Lid geworden:
    28 jul 2011
    Berichten:
    1.830
    Locatie:
    Tisselt (België)
    Voor het berekenen van het zwaartepunt en oppervlakte een vlakke veelhoek heb je heus geen integraalrekening nodig...

    Voorbeeld: rekenblad in Excel voor het bepalen van het zwaartepunt van de horizontale romp van de depron F-16 uit dit draadje

    depron-mini-2d-f16-fun

    [​IMG]

    Zwaartepunt van een halve romp ligt op x=429,6 en y=-70,2 mm (neus is oorsprong)
    Voor een hele romp x=429,6 en y=0 (want symmetrisch tov XZ vlak)
     
    Laatst bewerkt door een moderator: 19 nov 2015
  19. Ad Bakker

    Ad Bakker In Memoriam

    Lid geworden:
    20 feb 2009
    Berichten:
    9.124
    Locatie:
    Barendrecht (NL)
    Met alle respect, wel als de dikte/gewichtsfunctie een willekeurige functie van x en y is gaat je dat zonder integraalrekening niet lukken.
    Bepaling van statische momenten en oppervlakten kan alleen met integraalrekening als de standaardoplossing (zoals bijv. uit de Wiki pagina) geen uitsluitsel geven.

    Je zit denk ik te veel vast in je eigen toepassingen, dat zijn oppervlakken. Als je bijvoorbeeld het gewicht en zwaartepunt van een vlakke (volume) figuur waarvan de dikte niet constant is wilt berekenen kom je er met je Excel sheet niet uit.

    Groet,

    Ad
     
  20. HansL

    HansL

    Lid geworden:
    28 jul 2011
    Berichten:
    1.830
    Locatie:
    Tisselt (België)
    Dat heb ik ook nooit beweerd... wiskundig gezien heeft een vlakke figuur namelijk geen dikte.

    Het ging om het berekenen van de het zwaartepunt van een vlakke veelhoek (of zelfs van een volume met een contstante dikte) en daar heb je dus geen integraalrekening voor nodig.
     

Deel Deze Pagina