Dit is de opdracht clipgv die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
clip - Clip een OOGL-object tegen vlakken of andere oppervlakken
KORTE INHOUD
klem [-v asx,y,z,...]
[-g waarde-of-punt] [-l waarde-of-punt]
[-s nstrippen[,fractie,-e]
[-sf centrumx,y,z,...] [-cil centrumx,y,z,...]
[ooglbestand]
PRODUCTBESCHRIJVING
Klem , aangepast van Daeron Meyer's ginsu module, maakt het mogelijk om een OOGL-object tegen te knippen
vlakken, bollen of cilinders vanaf de UNIX-opdrachtregel. De invoer kan afkomstig zijn uit een bestand
of standaardinvoer; uitvoer wordt naar standaarduitvoer geschreven.
Opties specificeren een functie van de spatiepositie; de uitvoer is het gedeelte van het object
waarbij de functie groter of kleiner is dan een bepaalde waarde, of het gedeelte dat ertussen ligt
twee waarden. Als alternatief kan een object in stroken op gelijke afstand van elkaar worden gesneden. Voorwerpen
kan elke afmeting hebben (maar zie de sectie BUGS).
Opties zijn:
-g waarde-of-punt
-l waarde-of-punt
Selecteer het gedeelte van het object waar de functie groter is dan (-g) of minder
dan (-l) de opgegeven waarde. Als beide zijn opgegeven, is het resultaat het gedeelte van de
object dat aan beide voorwaarden voldoet.
Als, in plaats van een enkel getal, het argument to -l or -g is een punt (een reeks van
x,y,z,... waarden gescheiden door komma's, zonder ingebedde spaties), en vervolgens het knippen
oppervlak is een oppervlak dat is gekozen om door dat punt te gaan.
-v asx,y,z,...
Specificeert een richting in de ruimte. Voor vlak knippen (de standaardinstelling) is dit het vlak
normale richting; de clipping-functie is het inproduct tussen de richting
vector en het punt op het object. Voor cilindrisch knippen, -v specificeert de
richting van de cilinderas; de clipping-functie is de afstand vanaf de
as.
-sf centrumx,y,z,...
Clip tegen bollen gecentreerd x,y,z,.... De clipping-functie is de afstand
van het opgegeven centrum. Coördinaten moeten worden gescheiden door komma's, zonder tussenkomst
ruimten.
-cil centrumx,y,z,...
Klem tegen cilinders met een doorlopende as centrumx,y,z,..., met as
richting gegeven door de -v keuze. De clipping-functie is de afstand vanaf de
as.
-s plakjes[,fractie]
Knip een object in een reeks plakjes linten die de gehele omvang bestrijken - de
bereik van functiewaarden over het object. Een deel van elk lint is weggelaten; de
fractie, standaard .5, stelt de breedte van het zichtbare deel van een lint in vergeleken met
de lintperiode. Er zijn in totaal (plakjes+fractie-1) lintperioden overdwars
het object, dus b.v. -s 2, .5 snijdt het object in gelijke derde delen, waarbij de
middelste derde. Het uitvoer-OOGL-object is een LIJST met UIT's, één per lint.
-e Zend geen afgekapt OOGL-object uit, druk gewoon twee getallen af, met vermelding van het minimum en
maximale functiewaarden voor het object. Als -g or -l Knipopties zijn
opgegeven, wordt het object afgekapt voordat het functiebereik wordt bepaald. Als geen van
het voorwerp blijft, klem drukt "0 0" af.
Voorbeelden
Om het deel van een object dat onder het x+y+z=1 vlak ligt te extraheren:
clip -l 1 -v 1,1,1 bestand.oogl > portie.oogl
Om het deel van een object te extraheren dat in het positieve octant ligt en onder de x+y+z=1
plane, kunnen we meerdere exemplaren van pijpen klem samen om het snijpunt van meerdere te vinden
halve spaties:
clip -g 0 -v 1,0,0 bestand.oogl | \
klem -g 0 -v 0,1,0 | \
klem -g 0 -v 0,0,1 | \
clip -l 1 -v 1,1,1 > portie.oogl
Om het gebied te vinden dat tussen twee oppervlakken ligt (boven het ene en onder het andere, of
onder de eerste en boven de tweede), zeg de vlakken 2x + y -.5z = 1 en y + 2z = 0:
echo "{ LIJST"
clip -v 2,1,-.5 -g 1 bestand.oogl | clip -v 0,1,2 -l 0
clip -v 2,1,-.5 -l 1 bestand.oogl | clip -v 0,1,2 -g 0
echo "}"
We gebruiken pijpleidingen om kruispunten te berekenen, en een LIJST om hun unie te vormen.
Gebruik clipgv online met behulp van onworks.net-services