Wolfram 기하학 계산 | 시도해 볼 것들
Wolfram 기하학 계산 | 시도해 볼 것들
모든 코드는 클릭 한 다음 를 눌러 편집하거나 실행할 수 있습니다.
+
기하학적 모델링 및 컴퓨팅 Wolfram 기하학은 초보자에서 전문가에 이르기까지 모든 요구에 맞게 조정된 형상 모델링, 분석, 시각화 및 종합 기하학을 위한 포괄적인 통합 도구 및 솔루션 세트를 제공합니다.
메쉬 영역 생성 및 사용
메쉬 영역 생성 및 사용
내장 함수를 사용하여 3D 메쉬를 만듭니다: |
mesh=MengerMesh[2,3]
메쉬의 영역 측정을 계산합니다: |
SurfaceArea[mesh]
또 다른 것을 계산합니다: |
Volume[mesh]
메쉬를 수치 계산의 도메인으로 사용합니다: |
Integrate[yz,{x,y,z}∈mesh]
점에서 메쉬를 계산합니다: |
SeedRandom[1324];points=RandomReal[{-1,1},{20,2}];{VoronoiMesh[points,Epilog{Red,Point[points]}],DelaunayMesh[points,Epilog{Red,Point[points]}]}
기하학적 영역의 속성 계산
기하학적 영역의 속성 계산
영역 가져오기 (평가하는 데 시간이 걸릴 수 있음)를 합니다: |
In[]:=
physicalregion=ResourceData["Stanford Dragon"]
이 영역의 중심을 중심으로 한 회전 관성을 계산합니다 (단위 밀도를 가정): |
In[]:=
ℐ=MomentOfInertia[physicalregion];
이 영역의 중심, 주축 및 주관성 모멘트를 계산합니다: |
In[]:=
center=RegionCentroid[physicalregion];principalAxes=Eigenvectors[ℐ];principalMoments=Eigenvalues[ℐ];
고유값에 따라 크기가 조정된 주축으로 영역을 시각화합니다: |
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[]=
영역별 풀이
영역별 풀이
기하학적 기본형 집합을 정의합니다: |
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]};
기본형을 사용하여 구성적 솔리드 기하 영역을 정의합니다: |
In[]:=
csgregion=CSGRegion["Difference",{CSGRegion["Union",Most[primitives]],Last[primitives]}]
다양한 방법으로 기하학적 영역을 표현합니다: |
In[]:=
booleanregion=BooleanRegion[(#1||#2||#3)&&!#4&,primitives];RegionConvert[booleanregion,"Implicit"]
이 지역의 온도 변화를 모델링하기 위해 미분 방정식을 풉니다: |
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
특정 시간의 솔루션을 시각화합니다: |
In[]:=
SliceContourPlot3DEvaluate[u[x,y,z,25]/.sol],{"ZStackedPlanes",Range[-1,1,0.2]},{x,y,z}∈Cuboid[{-3,-3,-3},{3,3,3}],
수치 솔루션을 애니메이션으로 만듭니다 (평가하는 데 시간이 오래 걸릴 수 있음): |
In[]:=
ListAnimateTableRasterizeSliceContourPlot3DEvaluate[u[x,y,z,t]/.sol],"CenterPlanes",{x,-3,3},{y,-3,3},{z,-3,3},,{t,0,5.,.1},ControlPlacement->Top
3D 모델 가져오기, 복구, 내보내기 및 인쇄
3D 모델 가져오기, 복구, 내보내기 및 인쇄
3D 모델을 가져오기 합니다: |
In[]:=
model=ResourceData["Stanford Bunny"]
이 메쉬의 바닥에 있는 구멍을 찾습니다: |
In[]:=
FindMeshDefects[model,ViewPoint->{0.3,-1.3,-1.5}]
구멍을 수정합니다: |
In[]:=
repairedmodel=RepairMesh[model,ViewPoint->{0.3,-1.3,-1.5}]
모델을 파일로 내보내기 합니다: |
In[]:=
Export["example.stl",repairedmodel]
모델을 3D 프린팅 서비스로 보냅니다: |
Printout3D[repairedmodel,"Sculpteo"]
합성 기하학 탐구
합성 기하학 탐구
기하학적 명제로 기술된 장면의 임의의 인스턴스를 찾습니다: |
scene=RandomInstance[GeometricScene[{a,b,c,o},{Triangle[{a,b,c}],CircleThrough[{a,b,c},o],o==Midpoint[{a,c}]}]]
장면의 알려진 명제와 관련된 추측을 탐구합니다: |
conjectures=FindGeometricConjectures[scene]
지정된 장면과 관련된 추측 목록을 얻습니다: |
conjectures["Conclusions"]