Springen naar inhoud

Volume van een simpel oppervlak in x,y,z vlak


  • Log in om te kunnen reageren

#1

0AintLifeGrand0

    0AintLifeGrand0


  • 0 - 25 berichten
  • 12 berichten
  • Gebruiker

Geplaatst op 16 mei 2013 - 19:05

Ik heb een probleem waar ik niet uit kom.
Ik moet er bij zeggen dat mijn (HTS) wiskunde behoorlijk roestig is omdat ik hier al jaren niets mee heb gedaan.

Ben mezelf SciLab aan het leren en heb op mijn werk een probleem waarbij ik dit wil gebruiken. Ik weet alleen niet hoe ik dit aan moet pakken. Hier is het probleem.

Ik heb 4 gegeven punten, Z1, Z2, Z3, Z4 welke de z-coordinaten in een x,y,z vlak zijn. De x,y, coordinaten zijn bekend en constant.
De Z1-Z4 punten zijn input voor het script en liggen altijd op de volgende x,y,z coordinaten.
x,y,Z1 --> 0, 0, Z1
x,y,Z2 --> 0, 2, Z2
x,y,Z3 --> 6, 0, Z3
x,y,Z4 --> 6, 2, Z4
surface1.png
(hier is Z1=40, Z2=44, Z3=61, Z4=55, maar deze waarden kunnen dus iedere keer anders zijn)

Nu wil ik het volume onder het oppervlak Z1-Z2-Z3-Z4 (tot het Z=0 snijvlak) berekenen . Heeft iemand een idee hoe ik dit aanpak? Riemann integraal werkt niet omdat ik dan f(x,y) moet kennen. Zijn er andere methodes om dit op te lossen? Hoeft geen super exacte oplossing te zijn, mag best een benadering zijn.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 17 mei 2013 - 00:42

Nu wil ik het volume onder het oppervlak Z1-Z2-Z3-Z4 (tot het Z=0 snijvlak) berekenen . Heeft iemand een idee hoe ik dit aanpak? Riemann integraal werkt niet omdat ik dan f(x,y) moet kennen. Zijn er andere methodes om dit op te lossen? Hoeft geen super exacte oplossing te zijn, mag best een benadering zijn.

Euhm, als je f(x,y) niet kent, is dit gewoon niet op te lossen. Of is je oppervlak toevallig een vlak of een hyperboloĩde? (gezien de snijlijnen met het x- en y-vlak rechten zijn, veronderstel ik dat het een hyperboloïde is?) Zijn er nog eigenschappen die je kent van je vlak? Convex? Concaaf?
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-

#3

0AintLifeGrand0

    0AintLifeGrand0


  • 0 - 25 berichten
  • 12 berichten
  • Gebruiker

Geplaatst op 17 mei 2013 - 23:30

Hmmm... ik kwam er vandaag achter dat ik ook nog een denk foutje gemaakt.
Het vlak is vlak :P. Niet convex, concaaf etc...
Stel voor dat je een boek met een harde kaft neemt en dat op een tafel zet door onder de 4 hoeken een potlood zet. (Met elk potlood een verschillende hoogte). Het volume onder het boek (tot aan de tafel) wil ik berekenen.

De het boek is wel eens waar star en kan niet torderen of convex/concaaf worden, maar door meet onnauwkeurigheid zullen de (input) Z waarden niet helemaal met een plat vlak overeen komen. Omdat het boek star is, zijn ook de x-y punten niet altijd hetzelfde (daar ging ik wel van uit), deze worden afhankelijk van de kantelhoek. Wel is de afstand tusen de Z punten dus constant (ook weer met een meet onnauwkeurigheid, maar die mag verwaarloost worden)

Mijn collega kwam met het idee om de z-waarden over zowel de x-als de y-as te middelen en dat als de hoogte te gebruiken, en dan over x en y vermenigvuldigen, (zodat je dus eigenlijk een kubus uitrekent, net zoals een driehoek de helft van de oppervlakte heeft van een vierkant met dezelfde lengte en hoogte, maar dan over 2 dimensies), maar ik vraag me af of dat werkt, moet ik nog even over na gaan denken.

Is het ook niet mogelijk om f(x,y) te bepalen uit de 4 z-punten?

#4

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 18 mei 2013 - 00:20

Bon, als ik je verhaal dus goed versta, zijn er vier punten die op meetfouten na in een vlak liggen en een rechthoek vormen waarvan je de lengte l en de breedte b kent. Je kent ook de z-coordinaat van ieder punt. Je wil het volume van de figuur onder de rechthoek hebben. Is het zo?

Sorry, maar je bent niet echt duidelijk over wat er nu exact gegeven is. Als je mij de goede vraag geeft, kan ik je waarschijnlijk een formule geven. Maar als je er niet in slaagt de juiste vraag te stellen, dan ga ik je enkel het juiste antwoord op de verkeerde vraag kunnen geven. :D

De inhoud van je volume is oppervlakte van het grondvlak maal de gemiddelde hoogte. De gemiddelde hoogte is inderdaad het gemiddelde van je 4 Z-coordinaten, gesteld dat ze op meetfouten na in een vlak liggen.

We zoeken dus nog de oppervlakte van het grondvlak. De oppervlakte van het grondvlak is de oppervlakte van de rechthoek, vermenigvuldigd met de cosinus van de hoek tussen de normaal op het grondvlak N1 en de rechthoek N2. Die cosinus is gelijk aan het scalair product van de genormaliseerde vectoren N1 en N2. We kiezen het grondvlak als xy-vlak en aangezien N1=(0,0,1) is die cosinus gelijk aan de z-coordinaat van N2 genormaliseerd.

We plaatsen 1 hoekpunt van de rechthoek op de nulpunt en plaatsen op zijn 2 zijden een vector A1 en A2. We nemen als z-coordinaat van zijn buren z2 en z3. We kiezen A1 in het xz-vlak, de vector A1 is dus: (sqrt(- z2²), 0, z2). De vector A2 is iets moeilijker. Deze ligt niet in een vlak. Laten we zeggen dat A2=(x,y,z3)

Van A2 hebben we de volgende eigenschappen:
x²+y²+z3²=b² (de lengte van A2 is de andere zijde van je rechthoek)
A2.A1=0 (want je figuur is een rechthoek)
Dit zijn 2 vergelijkingen met 2 onbekenden, hieruit kun je x en y halen.

Met die x en y ken je A2, dan is N=A1 x A2, dan normaliseer je N, dan neem je de z-coordinaat van N, Nz. Dan doe je Nz.l.b.(z1+z2+z3+z4)/4 en dat is het volume van je figuur.


Nu nog de meetfouten. In bovenstaande redenering maak je telkens maar van 3 hoekpunten gebruik. Bereken het volume 4 keer, waarbij je telkens een ander hoekpunt in het nulpunt plaatst. Als je van deze 4 volumes het gemiddelde neemt, dan ga je misschien niet optimaal, maar toch erg goed van je data gebruikt gemaakt hebben.
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-

#5

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 18 mei 2013 - 00:35

Is het ook niet mogelijk om f(x,y) te bepalen uit de 4 z-punten?

Dat kan. Als je bijvoorbeeld de kwadratische fout wil minimaliseren, dan zijn er daar goede methodes voor. Maar ik ben bang dat ik je die niet meteen uitgelegd krijg. Tenzij je Lagrange multipliers kent?
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-

#6

0AintLifeGrand0

    0AintLifeGrand0


  • 0 - 25 berichten
  • 12 berichten
  • Gebruiker

Geplaatst op 18 mei 2013 - 15:34

Hoi Moderator,

Je hebt juist begrepen wat ik bedoelde.
Ik ben niet zo thuis in scalar/vector rekenen, maar volgens mij snap ik wat je bedoeld. Ik denk dat ik het op een andere manier ook zou kunnen berekenen. Als ik klaar ben zal ik mijn oplossing posten, dan zouden we kunnen kijken of we tot de zelfde uitkomsten komen. Tot zover alvast bedankt.

#7

0AintLifeGrand0

    0AintLifeGrand0


  • 0 - 25 berichten
  • 12 berichten
  • Gebruiker

Geplaatst op 26 mei 2013 - 20:11

Dit lijkt bij benadering te werken (zie bijlage), wat voldoende is voor me.
http://ubuntuone.com...Pjc1E5ZvHPVcgSv

Hierbij een poging tot uitleg:
De input zijn 4 z-waarden plus de breedte/lengte. Ik bereken hier eerst een nieuwe lengte, omdat ik slechts geïnteresseerd ben in de helft van het vlak (de nieuwe z-punten bevinden zich halverwege de vector Z12 en Z34). Daarna draai ik het vlak zo dat het laagste punt zich altijd in z1 bevind.
Dan bereken ik de rotaties over de x en y assen (phi1 resp. phi2), omdat ik die later nodig heb bij de berekening van het geprojecteerde grondvlak (het grondvlak word een parallelogram als er rotatie is over zowel de x en y as).
Dan bereken ik de gemiddelde hoogte Z_avg en vervolgens hoogte en breedte en oppervlak van het geprojecteerde grondvlak. Vervolgens word het volume berekent door de oppervlakte grondvlak met de gemiddelde hoogte te vermenigvuldigen.

Is wiskundig niet de mooiste oplossing, maar de uitkomsten lijken zinnig.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures