2d
- 使用插值法:
from OCC.Core.Geom2dAPI import Geom2dAPI_Interpolate
from OCC.Core.TColgp import TColgp_HArray1OfPnt2d
from OCC.Core.gp import gp_Pnt2d
from OCC.Display.SimpleGui import init_display
points=[]
points=TColgp_HArray1OfPnt2d(1,3)
p1=gp_Pnt2d(0,1)
p2=gp_Pnt2d(2,1)
p3=gp_Pnt2d(6,-3)
points.SetValue(1,p1)
points.SetValue(2,p2)
points.SetValue(3,p3)
interp=Geom2dAPI_Interpolate(points,False,0.0001)
interp.Perform()
display, start_display, add_menu, add_function_to_menu = init_display()
display.DisplayShape(interp.Curve(),update=True)
display.DisplayShape(p1)
display.DisplayShape(p2)
display.DisplayShape(p3)
start_display()
- 使用逼近法Approximation:
Geom2dAPI类下的 Geom2dAPI_PointsToBSpline 可以允许建立2D BSpline曲线, 这用来逼近一系列的点。
from OCC.Core.Geom2dAPI import Geom2dAPI_PointsToBSpline
from OCC.Core.TColgp import TColgp_Array1OfPnt2d
from OCC.Core.gp import gp_Pnt2d
from OCC.Display.SimpleGui import init_display
points=TColgp_Array1OfPnt2d(1,3)
p1=gp_Pnt2d(0,1)
p2=gp_Pnt2d(2,1)
p3=gp_Pnt2d(6,-3)
points.SetValue(1,p1)
points.SetValue(2,p2)
points.SetValue(3,p3)
approx=Geom2dAPI_PointsToBSpline(points)
display, start_display, add_menu, add_function_to_menu = init_display()
display.DisplayShape(approx.Curve(),update=True)
display.DisplayShape(p1)
display.DisplayShape(p2)
display.DisplayShape(p3)
start_display()
3d
- 使用插值法:Interpolation
from OCC.Core.GeomAPI import GeomAPI_Interpolate
from OCC.Core.TColgp import TColgp_HArray1OfPnt
from OCC.Core.gp import gp_Pnt
from OCC.Display.SimpleGui import init_display
points=[]
points=TColgp_HArray1OfPnt(1,3)
p1=gp_Pnt(0,1,2)
p2=gp_Pnt(2,1,3)
p3=gp_Pnt(6,2,1)
points.SetValue(1,p1)
points.SetValue(2,p2)
points.SetValue(3,p3)
interp=GeomAPI_Interpolate(points,False,0.0001)
interp.Perform()
display, start_display, add_menu, add_function_to_menu = init_display()
display.DisplayShape(interp.Curve(),update=True)
display.DisplayShape(p1)
display.DisplayShape(p2)
display.DisplayShape(p3)
start_display()
- 逼近法
GeomAPI类下的 GeomAPI_PointsToBSpline 可以允许建立3D BSpline曲线, 这用来逼近一系列的点。
from OCC.Core.GeomAPI import GeomAPI_PointsToBSpline
from OCC.Core.TColgp import TColgp_Array1OfPnt
from OCC.Core.gp import gp_Pnt
from OCC.Display.SimpleGui import init_display
points=TColgp_Array1OfPnt(1,3)
p1=gp_Pnt(0,1,2)
p2=gp_Pnt(2,1,3)
p3=gp_Pnt(6,2,1)
points.SetValue(1,p1)
points.SetValue(2,p2)
points.SetValue(3,p3)
approx=GeomAPI_PointsToBSpline(points)
display, start_display, add_menu, add_function_to_menu = init_display()
display.DisplayShape(approx.Curve(),update=True)
display.DisplayShape(p1)
display.DisplayShape(p2)
display.DisplayShape(p3)
start_display()
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容