Wolfram Geometrische Berechnung | Zum Ausprobieren
Wolfram Geometrische Berechnung | Zum Ausprobieren
Nehmen Sie Änderungen vor und führen Sie jeden Code aus, indem Sie in den Code klicken und die Tastenkombination drücken.
+
Geometrische Modellierung & Berechnung. Wolfram Geometrie bietet ein umfassendes Set an integrierten Werkzeugen und Lösungen für die Modellierung, Analyse, Visualisierung und Synthese von geometrischen Elementen, zugeschnitten auf die Bedürfnisse von Einsteigern und fortgeschrittenen Anwendern.
Gitternetzregionen generieren und verwenden
Gitternetzregionen generieren und verwenden
Erstellen Sie mithilfe von eingebauten Funktionen ein 3D-Netz: |
mesh=MengerMesh[2,3]
Berechnen Sie den Flächeninhalt des Gitternetzes: |
SurfaceArea[mesh]
Führen Sie eine weitere geometrische Messung durch: |
Volume[mesh]
Verwenden Sie das Netz als Domäne zur Visualisierung: |
Integrate[yz,{x,y,z}∈mesh]
Berechnen Sie Netze aus Punkten: |
SeedRandom[1324];points=RandomReal[{-1,1},{20,2}];{VoronoiMesh[points,Epilog{Red,Point[points]}],DelaunayMesh[points,Epilog{Red,Point[points]}]}
Eigenschaften einer geometrischen Region berechnen
Eigenschaften einer geometrischen Region berechnen
Importieren Sie eine Region (die Auswertung kann länger dauern): |
In[]:=
physicalregion=ResourceData["Stanford Dragon"]
Berechnen Sie die Rotationsträgheit dieser Region um ihren Schwerpunkt (unter der Annahme einer einheitlichen Dichte): |
In[]:=
ℐ=MomentOfInertia[physicalregion];
Berechnen Sie den Schwerpunkt, die Hauptachsen und die Hauptträgheitsmomente dieser Region: |
In[]:=
center=RegionCentroid[physicalregion];principalAxes=Eigenvectors[ℐ];principalMoments=Eigenvalues[ℐ];
Visualisieren Sie die Region mit Hauptachsen, die entsprechend ihrer Eigenwerte skaliert sind: |
In[]:=
Show[physicalregion,Graphics3D[MapThread[{#1,Arrowheads[{-0.05`,0.05`}],Arrow[Tube[{-#2,#2}#30.5`+Threaded[center]]]}&,{{Red,Blue,Green},principalAxes,Normalize[principalMoments]}]]]
Out[]=
Über Regionen lösen
Über Regionen lösen
Definieren Sie eine Reihe von geometrischen Primitiven: |
In[]:=
primitives={Cuboid[{-3,-3,-.1},{3,3,.1}],Cylinder[{{-3,0,0},{3,0,0}},1],Cylinder[{{0,-3,0},{0,3,0}},1],Cylinder[{{0,0,-2},{0,0,2}},1]};
Verwenden Sie die Primitive, um einen konstruktiven, festen geometrischen Bereich zu definieren: |
In[]:=
csgregion=CSGRegion["Difference",{CSGRegion["Union",Most[primitives]],Last[primitives]}]
Stellen Sie geometrische Regionen auf verschiedene Arten dar: |
In[]:=
booleanregion=BooleanRegion[(#1||#2||#3)&&!#4&,primitives];RegionConvert[booleanregion,"Implicit"]
Lösen Sie eine Differentialgleichung, um Temperaturänderungen in dieser Region zu modellieren: |
In[]:=
sol=NDSolveu[x,y,z,t]==3u[x,y,z,t],DirichletCondition[u[x,y,z,t]==1,{x==3,x==-3,y==3,y==-3}],DirichletCondition[u[x,y,z,t]==5,+==1],u[x,y,z,0]==3,u,{t,0,25},{x,y,z}∈booleanregion;
∂
t
2
∇
{x,y,z}
2
x
2
y
Visualisieren Sie die Lösung zu einem bestimmten Zeitpunkt: |
In[]:=
SliceContourPlot3DEvaluate[u[x,y,z,25]/.sol],{"ZStackedPlanes",Range[-1,1,0.2]},{x,y,z}∈Cuboid[{-3,-3,-3},{3,3,3}],
Erstellen Sie eine Animation der numerischen Lösung (die Auswertung kann länger dauern): |
In[]:=
ListAnimateTableRasterizeSliceContourPlot3DEvaluate[u[x,y,z,t]/.sol],"CenterPlanes",{x,-3,3},{y,-3,3},{z,-3,3},,{t,0,5.,.1},ControlPlacement->Top
Ein 3D-Modell importieren, reparieren, exportieren und drucken
Ein 3D-Modell importieren, reparieren, exportieren und drucken
Importieren Sie ein 3D-Modell: |
In[]:=
model=ResourceData["Stanford Bunny"]
Finde die Löcher am unteren Rand dieses Gitternetzes: |
In[]:=
FindMeshDefects[model,ViewPoint->{0.3,-1.3,-1.5}]
Reparieren Sie die Löcher: |
In[]:=
repairedmodel=RepairMesh[model,ViewPoint->{0.3,-1.3,-1.5}]
Exportieren Sie das Modell in eine Datei: |
In[]:=
Export["example.stl",repairedmodel]
Senden Sie das Modell an einen 3D-Druckdienstleister: |
Printout3D[repairedmodel,"Sculpteo"]
Synthetische Geometrie
Synthetische Geometrie
Suchen Sie ein zufälliges Beispiel einer Szene, die durch geometrische Sätze beschrieben wird: |
scene=RandomInstance[GeometricScene[{a,b,c,o},{Triangle[{a,b,c}],CircleThrough[{a,b,c},o],o==Midpoint[{a,c}]}]]
Untersuchen Sie Vermutungen in Zusammenhang mit den bekannten Sätzen einer Szene: |
In[]:=
conjectures=FindGeometricConjectures[scene]
Out[]=
FindGeometricConjectures[scene]
Erhalten Sie eine Liste von Vermutungen in Zusammenhang mit der angegebenen Szene: |
conjectures["Conclusions"]