空间路径规划初探(画空间内任意平面上的圆)

如下程序,通过修改前面的向量描述、圆心坐标和半径值,可以做出空间内任何圆的插值点。

#Authored by Tom Gong [email protected]
    import numpy as np
    import math
    # 所在平面的任意两个正交向量描述
    nx=1
    ny=0
    nz=0
    
    ox=0
    oy=0
    oz=1
    #圆心坐标
    px=0
    py=0
    pz=0
    #半径
    R=9
    
    for i in range (0,100,1):
     theta=math.pi/50*i
     x=nx*R*math.cos(theta)+ox*R*math.sin(theta)+px
     y=ny*R*math.cos(theta)+oy*R*math.sin(theta)+py
     z=nz*R*math.cos(theta)+oz*R*math.sin(theta)+pz
    
     print (x,y,z,'\n')

输出如下(部分):

9.0 0.0 0.0 

8.982240555854444 0.0 0.5651146757638204 

8.929032311830301 0.0 1.1279991020787383 

8.840585256558198 0.0 1.6864318312715216 

8.71724845015768 0.0 2.238208984483693 

8.559508646656381 0.0 2.7811529493745266 

8.367988372994263 0.0 3.3131209741621017 

8.143443472194175 0.0 3.8320136240856546 

7.886760120394772 0.0 4.335783066915438 

7.598951329518136 0.0 4.82244115481097 

7.281152949374527 0.0 5.2900672706322585 

6.934619184982102 0.0 5.736815907738208 

6.560717646792704 0.0 6.160923953358198 

6.160923953358197 0.0 6.560717646792704 

5.736815907738206 0.0 6.934619184982103 

5.290067270632258 0.0 7.281152949374527 

4.822441154810969 0.0 7.598951329518136 

4.335783066915436 0.0 7.886760120394773 

3.832013624085654 0.0 8.143443472194177 

3.313120974162101 0.0 8.367988372994263 

2.781152949374527 0.0 8.559508646656381 

2.2382089844836925 0.0 8.71724845015768 

1.6864318312715207 0.0 8.840585256558198 

1.1279991020787383 0.0 8.929032311830301 

0.5651146757638197 0.0 8.982240555854444 

-1.447310384708973e-15 0.0 9.0 

如果把圆心坐标改为 #圆心坐标
px=5
py=6
pz=700

用输出的点画圆,则如下图所示:

空间路径规划初探(画空间内任意平面上的圆)_第1张图片
该路径用v-rep仿真视频如下:
https://v.youku.com/v_show/id_XNDQxNzcwMDYzNg==.html?spm=a2hzp.8244740.0.0

通过增加一个轴方向上的渐进量,可以做成螺旋线:
空间路径规划初探(画空间内任意平面上的圆)_第2张图片
当然也有借助3D设计软件来进行路径规划的,大体步骤为,先用软件画出相应的路径曲线,再提取出其上若干点的坐标值,百度到如下内容,未经测试:

UG如何导出三维曲线的坐标数据 10
如题,希望有大虾伸出援助之手
 我来答 分享 举报浏览 5295 次
5个回答#情感# 讨厌的人情商很高是一种什么样的体验?
lqxzzk4
推荐于2017-12-16
第一步:选中曲线,点击“曲线”>“点集”>“点集”,选择曲线点产生方法、点数等,然后“确定”。(这一步是设定选取多少点)
第二步:除了要导出的点,隐藏其他对象。
第三步:“文件”>“导出”>“IGES文件”导出一个iges格式的文件。需要的点的数据就在里面。
第四步:用记事本打开iges文件,第一列数据是116的行的第2-4行就是需要的点的坐标。手动或Matlab等处理一下即可。
上述是我参考别人的想法总结出来的,不是十分方便,但还可以。

其它常用的3D设计软件()比如solidworks是否也有类似功能,请大家留言赐教。

你可能感兴趣的:(个人学习笔记,3d圆)