日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python求点到曲线距离_Python。如何从点和偏移距离的x,y列表中获取偏移样条曲线的x,y坐标...

發布時間:2025/3/20 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python求点到曲线距离_Python。如何从点和偏移距离的x,y列表中获取偏移样条曲线的x,y坐标... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在特殊情況下,坡度為無窮大/零,但基本方法是使用插值計算某個點的坡度,然后找到垂直坡度,然后計算該距離處的點。在

我修改了來自here的示例,以添加第二個圖。它與data file you provided一起工作,但您可能需要更改另一個信封的符號計算。在

編輯根據您關于希望信封連續的評論,我在結尾處添加了一個低俗的半圓,使非常接近?;旧?#xff0c;在創建封套時,越圓越凸,效果越好。另外,你需要把開頭和結尾重疊,否則你會有一個間隙。在

而且,幾乎可以肯定的是,它可以變得更有效率我不是一個numpy專家,所以這只是純Python。在def offset(coordinates, distance):

coordinates = iter(coordinates)

x1, y1 = coordinates.next()

z = distance

points = []

for x2, y2 in coordinates:

# tangential slope approximation

try:

slope = (y2 - y1) / (x2 - x1)

# perpendicular slope

pslope = -1/slope # (might be 1/slope depending on direction of travel)

except ZeroDivisionError:

continue

mid_x = (x1 + x2) / 2

mid_y = (y1 + y2) / 2

sign = ((pslope > 0) == (x1 > x2)) * 2 - 1

# if z is the distance to your parallel curve,

# then your delta-x and delta-y calculations are:

# z**2 = x**2 + y**2

# y = pslope * x

# z**2 = x**2 + (pslope * x)**2

# z**2 = x**2 + pslope**2 * x**2

# z**2 = (1 + pslope**2) * x**2

# z**2 / (1 + pslope**2) = x**2

# z / (1 + pslope**2)**0.5 = x

delta_x = sign * z / ((1 + pslope**2)**0.5)

delta_y = pslope * delta_x

points.append((mid_x + delta_x, mid_y + delta_y))

x1, y1 = x2, y2

return points

def add_semicircle(x_origin, y_origin, radius, num_x = 50):

points = []

for index in range(num_x):

x = radius * index / num_x

y = (radius ** 2 - x ** 2) ** 0.5

points.append((x, -y))

points += [(x, -y) for x, y in reversed(points)]

return [(x + x_origin, y + y_origin) for x, y in points]

def round_data(data):

# Add infinitesimal rounding of the envelope

assert data[-1] == data[0]

x0, y0 = data[0]

x1, y1 = data[1]

xe, ye = data[-2]

x = x0 - (x0 - x1) * .01

y = y0 - (y0 - y1) * .01

yn = (x - xe) / (x0 - xe) * (y0 - ye) + ye

data[0] = x, y

data[-1] = x, yn

data.extend(add_semicircle(x, (y + yn) / 2, abs((y - yn) / 2)))

del data[-18:]

from pylab import *

with open('ah79100c.dat', 'rb') as f:

f.next()

data = [[float(x) for x in line.split()] for line in f if line.strip()]

t = [x[0] for x in data]

s = [x[1] for x in data]

round_data(data)

parallel = offset(data, 0.1)

t2 = [x[0] for x in parallel]

s2 = [x[1] for x in parallel]

plot(t, s, 'g', t2, s2, 'b', lw=1)

title('Wing with envelope')

grid(True)

axes().set_aspect('equal', 'datalim')

savefig("test.png")

show()

總結

以上是生活随笔為你收集整理的python求点到曲线距离_Python。如何从点和偏移距离的x,y列表中获取偏移样条曲线的x,y坐标...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美一区二区三区成人精品 | 女同动漫免费观看高清完整版在线观看 | 少妇视频一区 | 日韩极品视频 | 亚洲精品白虎 | 成人av电影网站 | 国产综合久久久 | 国产高清亚洲 | 用力挺进新婚白嫩少妇 | 激情五月婷婷色 | 在线观看污污网站 | 一区二区三区久久久 | 日韩精品视频在线看 | 国产成人毛毛毛片 | 亚洲福利影视 | 99这里只有| 精品麻豆一区二区 | a v在线视频 | 国产视频久久久 | 国产精品自拍电影 | 久久极品视频 | www.偷拍.com | 亚洲天堂一 | 国产一区二区三区久久久 | 欧美精品乱码视频一二专区 | 不卡在线视频 | 欧美专区在线观看 | 免费无码又爽又黄又刺激网站 | 在线免费观看国产视频 | 在线中文字幕观看 | 毛片导航 | 奇米影视777四色 | 温柔少妇的高潮呻吟 | 日本高清精品 | 少妇4p| 91麻豆免费视频 | 日韩精品免费一区二区夜夜嗨 | 午夜视频在线观看免费视频 | 看了让人下面流水的视频 | 大香焦久久 | 5月婷婷6月丁香 | 国产精品夜夜夜爽张柏芝 | 精彩视频一区二区 | 奇米影视第四色首页 | 久久国产成人精品国产成人亚洲 | 久久久不卡国产精品一区二区 | 国产丝袜在线视频 | 日中文字幕 | 国产拍拍拍 | 91偷拍精品一区二区三区 | 免费草逼视频 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 国产精品免费无遮挡无码永久视频 | 热99在线观看 | 精品人妻一区二区三区免费看 | 丝袜美腿中文字幕 | 日韩伦理av | 黑人无套内谢中国美女 | 五月天天色| 亚洲激情一区二区三区 | 6—12呦国产精品 | 五月激情六月 | 国产全肉乱妇杂乱视频 | 亚洲国产一区二区三区a毛片 | 国产精品一区二区三区免费看 | 欧美69囗交视频 | 欧美在线视频二区 | 亚洲校园激情 | 久久久久久久久福利 | 91色在线播放 | 牛牛影视一区二区 | 日本福利一区二区三区 | av在线黄 | 国产精品无遮挡 | 国产精品久久久久久免费免熟 | 国产精品电影在线观看 | 久久婷婷五月国产色综合激情 | 正在播放adn156松下纱荣子 | 天堂在线观看中文字幕 | 黄瓜视频在线免费看 | 成人h动漫精品一区二区无码 | 综合一区 | 午夜影院在线观看视频 | 久草视频在 | heyzo在线播放 | 99久久精品免费看国产四区 | 日韩黄色片在线观看 | 毛片一级在线观看 | 五月天伊人网 | 天天插综合网 | 国产一区二区视频在线观看免费 | 日韩免费av一区 | 丰满少妇一级片 | 久久全国免费视频 | 在线播放a| 亚洲成人av在线播放 | 美女啪啪国产 | 日韩成人在线免费观看 | 久久久久久香蕉 |