python欧拉螺线_基于菲涅耳积分的Python OpenDrive地图螺旋线/回旋线/欧拉螺旋线/Cornu螺旋线插值...
我不确定你当前的代码是否正确。我编写了一个简短的脚本,使用相似的参数插值Euler缓和曲线,它给出了不同的结果:import numpy as np
from math import cos, sin, pi, radians, sqrt
from scipy.special import fresnel
import matplotlib.pyplot as plt
def spiral_interp_centre(distance, x, y, hdg, length, curvEnd):
'''Interpolate for a spiral centred on the origin'''
# s doesn't seem to be needed...
theta = hdg # Angle of the start of the curve
Ltot = length # Length of curve
Rend = 1 / curvEnd # Radius of curvature at end of spiral
# Rescale, compute and unscale
a = 1 / sqrt(2 * Ltot * Rend) # Scale factor
distance_scaled = distance * a # Distance along normalised spiral
deltay_scaled, deltax_scaled = fresnel(distance_scaled)
deltax = deltax_scaled / a
deltay = deltay_scaled / a
# deltax and deltay give coordinates for theta=0
deltax_rot = deltax * cos(theta) - deltay * sin(theta)
deltay_rot = deltax * sin(theta) + deltay * cos(theta)
# Spiral is relative to the starting coordinates
xcoord = x + deltax_rot
ycoord = y + deltay_rot
return xcoord, ycoord
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
# This version
xs = []
ys = []
for n in range(-100, 100+1):
x, y = spiral_interp_centre(n, 50, 100, radians(56), 40, 1/20.)
xs.append(x)
ys.append(y)
ax.plot(xs, ys)
# Your version
from yourspiral import spiralInterpolation
stations = spiralInterpolation(1, 77, 50, 100, radians(56), 40, 0, 1/20.)
ax.plot(stations[:,0], stations[:,1])
ax.legend(['My spiral', 'Your spiral'])
fig.savefig('spiral.png')
plt.show()
有了这个我就明白了
那么哪一个是正确的?在
同样,如果曲率在结束处为零,在开始处为非零,hdg代表什么?它是曲线的起点还是终点?您的函数还接受一个未使用的参数s。它应该是相关的吗?在
如果示例代码显示了缓和曲线线段前后的线段图,则更容易看出哪个是正确的,也更容易知道每个参数的含义。在
python欧拉螺线_基于菲涅耳积分的Python OpenDrive地图螺旋线/回旋线/欧拉螺旋线/Cornu螺旋线插值...相关推荐
- python代替易语言_基于hook的python机器人,彻底取代itchat
本文档部分由itchat与wxpy的开发文档修改得出 禁止不规范转载 WechatBot WechatBot是一个半开源的微信个人号接口,使用python调用微信从未如此简单. 使用不到20行的代码, ...
- python 摄像头录制帧率_基于opencv和python的可变帧速率IP摄像机视频记录
首先,我想对我正在做的事情发表评论.在 我有一个IP摄像机通过一个带以太网线的路由器连接到我的网络(FOSCAM 9800p),我试图用RTSP协议录制一段视频.我未来的打算是用opencv在中间添加 ...
- python 检测图像圆弧_基于OpenCV和Python的图像圆弧检测
尝试以下代码:它将检测所有圆.曲线和圆弧:int main() { //RANSAC //load edge image cv::Mat color = cv::imread("../cir ...
- Python IDE之Pydev: 基于Eclipse搭建python的编译环境(Eclipse+pydev)简介、安装、使用的详细攻略
Python IDE之Pydev: 基于Eclipse搭建python的编译环境(Eclipse+pydev)简介.安装.使用的详细攻略 目录 pydev简介 PyDev 安装和配置 1.安装MyEc ...
- 用python做炒股软件-python程序源码_基于python的炒股软件
股票模拟交易系统设计与实现 不但能够进行界面的设计,还可以实现各个窗口的关联,通过WPF实现和其余窗口的关联,而且WPF中的类不但能够和其中一个窗口进行关联,还可以跟许多功能操作接口,WPF在对窗口对 ...
- python虚拟环境的安装和配置_基于virtualenv的Python虚拟环境的安装配置(Mac环境)...
一.安装前提 明确自己的开发所需的python版本, Python 2.7.x 或者Python 3.6.x . 安装 Python 2.7.x 或Python 3.6.x 版的virtualenv. ...
- python问题化教学设计_基于IPO的Python教学设计
冯艳茹 陈平 摘要:程序设计基础课程是培养大学生解决计算问题的思维和能力的课程,使用Python作为大学生的首门编程语言课程,可操作性强,入门容易,上手快.该文提出了基于IPO的教学设计新思维,使教学 ...
- python的坐标代码_基于Python的地图坐标服务接口调用代码实例
代码描述:基于Python的地图坐标服务接口调用代码实例 关联数据:地图坐标服务 接口地址:http://www.juhe.cn/docs/api/id/32 #!/usr/bin/python # ...
- python与室内设计_基于树莓派和Python的智能家居系统设计
基于树莓派和 Python 的智能家居系统设计 许礼捷 葛华 陈红 [摘 要] 介绍树莓派第 3 代开发平台,融合 Python 开发技术和 OneNET 云 平台通信技术等先进技术,设计一款智能化的 ...
最新文章
- cpu高 thread vm_阿里大佬总结,Java高并发必读!
- 润乾实现简单自定义动态列报表
- prototype.js 让你更深入的了解javascript的面向对象特性
- redis api-set
- java多线程中注入Spring对象问题
- python从入门到实践django_Django入门——《Python编程从入门到实践》
- python 执行js打开链接_使用Python在链接的href中执行JavaScript
- aws rds 加密_AWS RDS SQL Server中的加密备份和还原
- 如何用js语句给mysql添加内容_在js里写SQL的方法
- linux文件构成,Linux文件结构及管理(1)
- 17个C语言可以做的小案例项目
- Fortan写出数据到CSV文件中
- cruzer php sandisk 闪迪u盘量产工具_sandisk量产工具(闪迪U盘量产工具) 1.4
- Shiro集成Cas单点登录
- 手写字体识别实验-Python课程设计
- 全网最全 ECMAScript 攻略
- coursera和udacity_三大 mooc 网站:coursera 与 udacity 和 edx 比较,哪个更适合中国人你有何经验分享...
- CocCocoa Touch框架和Cocoa
- Flowable工作流之核心流程操作的本质
- 每日刷题记录 (十七)