精华内容
下载资源
问答
  • 三维空间中点与线的最短距离
    2020-12-24 05:51:02

    这重复了@Hans Musgrave的解决方案,但是想象一下我们对此一无所知

    “标准微积分技巧”很好用,而且在线性代数方面也很差。在

    我们只知道:如何计算两点之间的距离

    直线上的一个点可以表示为两点和一个参数的函数

    我们知道求函数的最小值

    (列表与代码块不是朋友)def distance(a, b):

    """Calculate a distance between two points."""

    return np.linalg.norm(a-b)

    def line_to_point_distance(p, q, r):

    """Calculate a distance between point r and a line crossing p and q."""

    def foo(t: float):

    # x is point on line, depends on t

    x = t * (p-q) + q

    # we return a distance, which also depends on t

    return distance(x, r)

    # which t minimizes distance?

    t0 = sci.optimize.minimize(foo, 0.1).x[0]

    return foo(t0)

    # in this example the distance is 5

    p = np.array([0, 0, 0])

    q = np.array([2, 0, 0])

    r = np.array([1, 5, 0])

    assert abs(line_to_point_distance(p, q, r) - 5) < 0.00001

    您不应将此方法用于实际计算,因为它使用

    当你有一个闭式解的近似值,但也许它有帮助

    揭示出一些逻辑就产生了邻近的答案。在

    更多相关内容
  • 我有张单子。每个列表有行。每个列表的坐标系从上到下为(x,y,z)。我试着用数组,但没用。这是我的密码。在import numpy as npp1 = np.array([list(marker_11_x['11:-.X']), list(marker_11_y['11:-.Y']),list...

    我有两张单子。每个列表有三行。每个列表的坐标系从上到下为(x,y,z)。我试着用数组,但没用。这是我的密码。在import numpy as np

    p1 = np.array([list(marker_11_x['11:-.X']), list(marker_11_y['11:-.Y']),

    list(marker_11_z['11:-.Z']) ])

    p2 = np.array([list(original_x['13:-.X']), list(original_y['13:-.Y']),

    list(original_z['13:-.Z'])])

    squared_dist = np.sum(((p1[0]-p2[0])**2+(p1[1]-p2[1] )**2+(p1[3]-p2[3] )**2),

    axis=0)

    dist = np.sqrt(squared_dist)

    list A = [-232.34, -233.1, -232.44, -233.02, -232.47, -232.17, -232.6, -232.29, -231.65]

    [-48.48, -49.48, -50.81, -51.42, -51.95, -52.25, -52.83, -53.63, -53.24]

    [-260.77, -253.6, -250.25, -248.88, -248.06, -247.59, -245.82, -243.98, -243.76]

    List B = [-302.07, -302.13, -303.13, -302.69, -303.03, -302.55, -302.6, -302.46, -302.59]

    [-1.73, -3.37, -4.92, -4.85, -5.61, -5.2, -5.91, -6.41, -7.4]

    [-280.1, -273.02, -269.74, -268.32, -267.45, -267.22, -266.01, -264.79, -264.96]

    类型错误回溯(最近一次调用)

    熊猫\索引.pyx在熊猫身上_libs.index.IndexEngine.获取位置()

    pandas\u libs\hashtable_类_助手.pxi在熊猫身上_libs.hashtable.Int64HashTable。获取项目()

    TypeError:需要整数

    在处理上述异常时,发生了另一个异常:

    KeyError回溯(最近一次调用)

    在()

    1个以np形式导入numpy

    2 p1=np.数组([列表(marker_11_x['11:-.x'])、列表(marker_11_y['11:-.y'])、列表(marker_11_z['11:-.z']))

    ----&gt;3 p2=np.数组([list(original_x['13:-.x'])、list(original_y['13:-.y'])、list(original_z['13:-.z']))

    4

    5平方距离=np.总和(((p1[0]-p2[0])**2+(p1[1]-p2[1])**2+(p1[3]-p2[3])**2),轴=0)

    E:\ProgramData\Anaconda3\lib\site packages\pandas\core\系列.py在getitem中(self,key)

    764 key=com.如果可调用,则应用(key,self)

    765尝试:

    --&gt;766结果=self.index.get_值(自我,钥匙)

    767

    768如果不是_标量(结果):

    E:\ProgramData\Anaconda3\lib\site packages\pandas\core\index\基准.py在get_值中(self、series、key)

    3101尝试:

    3102返回自我_engine.get_值(s,k,

    -&gt;3103 tz=获取属性(系列.d类型,'tz',无)

    3104除了keyror as e1:

    3105如果len(self)>0且自我推断型在['integer','boolean']中:

    熊猫\索引.pyx在熊猫身上_libs.index.IndexEngine.get_值()

    熊猫\索引.pyx在熊猫身上_libs.index.IndexEngine.get_值()

    熊猫\索引.pyx在熊猫身上_libs.index.IndexEngine.获取位置()

    键错误:“13:-.X”

    展开全文
  • #定义的函数 class Point: def __init__(self,x=0,y=0): self.x=x self.y=y def getx(self): return self.x def gety(self): return self.y #定义直线函数 class Getlen: def __init__(self,p1,p2): self...
  • 可以任意输入两个空间点并求两点之间的距离 如发现错误请给予指正 谢谢
  • 三维空间a和b的坐标如果分别为a(x1,y1,z1)、b(x2,y2,z2),则ab的距离的计算公式是dist(a,b) = √( (x1-x2)^2+(y1-y2)^2+(z1-z2)^2 )‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮...
  • 三维欧几里得空间中,直线间距离的计算(包括:相交、平行和异面直线三种情况)
  • 任意维度两点距离计算任意坐标中两点之间距离:import math def distance(p0,p1,digits=2): a=map(lambda x: (x[0]-x...

    任意维度两点间距离

    计算任意维坐标中两点之间距离:

    import math
    def distance(p0,p1,digits=2):
        a=map(lambda x: (x[0]-x[1])**2, zip(p0, p1))
        return round(math.sqrt(sum(a)),digits)
    

    调用:

    distance((1,1),(2,2),digits=5) # 1.41421
    distance((1,2,3,4),(4,3,2,1)) # 4.47
    

    近期小例子:两种合并字典的方法对比计算和聚合同时进行groupby 分组plotly画柱状图+折线图Python小例子完整列表


    60页《Python之路1.0.pdf》下载方式,关注《Python小例子》并在其后台回复 mypy,即可下载。

    Python小例子,长按关注

    后期计划:不断深入Python小例子,添加更多基于Python的小例子,不限于:PyQt制作GUINumPy数值计算Pandas数据分析Sklearn机器学习实战Keras+TensorFlow深度学习等。2.0版本预计在春节前发出来。

    如果你想每天看到小例子的更新动态,欢迎star这个小例子库,我们也真诚欢迎你贡献小例子,直接点击文章最下的阅读原文.

    展开全文
  • 首先,让我们创建一个在三维空间中存储的示例数组:import numpy as npN = 10 # The number of pointspoints = np.random.rand(N, 3)print(points)输出:^{pr2}$我们计算每个到所有其他距离:from scipy....

    首先,让我们创建一个在三维空间中存储点的示例数组:import numpy as np

    N = 10 # The number of points

    points = np.random.rand(N, 3)

    print(points)

    输出:

    ^{pr2}$

    我们计算每个点到所有其他点的距离:from scipy.spatial import distance

    D = distance.squareform(distance.pdist(points))

    print(np.round(D, 1)) # Rounding to fit the array on screen

    输出:array([[ 0. , 0.4, 0.4, 0.2, 0.5, 0.5, 0.6, 0.5, 0.6, 0.8],

    [ 0.4, 0. , 0.2, 0.3, 0.3, 0.7, 0.4, 0.4, 0.6, 0.5],

    [ 0.4, 0.2, 0. , 0.3, 0.1, 0.7, 0.6, 0.6, 0.8, 0.6],

    [ 0.2, 0.3, 0.3, 0. , 0.4, 0.6, 0.6, 0.6, 0.7, 0.8],

    [ 0.5, 0.3, 0.1, 0.4, 0. , 0.7, 0.6, 0.6, 0.8, 0.6],

    [ 0.5, 0.7, 0.7, 0.6, 0.7, 0. , 0.7, 0.6, 0.7, 0.8],

    [ 0.6, 0.4, 0.6, 0.6, 0.6, 0.7, 0. , 0.1, 0.2, 0.4],

    [ 0.5, 0.4, 0.6, 0.6, 0.6, 0.6, 0.1, 0. , 0.3, 0.4],

    [ 0.6, 0.6, 0.8, 0.7, 0.8, 0.7, 0.2, 0.3, 0. , 0.6],

    [ 0.8, 0.5, 0.6, 0.8, 0.6, 0.8, 0.4, 0.4, 0.6, 0. ]])

    你可以这样读这个距离矩阵:点1和点5之间的距离是distance[0, 4]。您还可以看到每个点与自身之间的距离为0,例如distance[6, 6] == 0

    我们argsort距离矩阵的每一行,以获得每个点最接近的点的列表:closest = np.argsort(D, axis=1)

    print(closest)

    输出:[[0 3 1 2 5 7 4 6 8 9]

    [1 2 4 3 7 0 6 9 8 5]

    [2 4 1 3 0 7 6 9 5 8]

    [3 0 2 1 4 7 6 5 8 9]

    [4 2 1 3 0 7 9 6 5 8]

    [5 0 7 3 6 2 8 4 1 9]

    [6 7 8 9 1 0 3 2 4 5]

    [7 6 8 9 1 0 3 2 4 5]

    [8 6 7 9 1 0 3 5 2 4]

    [9 6 7 1 8 4 2 0 3 5]]

    再次,我们看到每个点都离自己最近。因此,忽略这一点,我们现在可以选择k个最近点:k = 3 # For each point, find the 3 closest points

    print(closest[:, 1:k+1])

    输出:[[3 1 2]

    [2 4 3]

    [4 1 3]

    [0 2 1]

    [2 1 3]

    [0 7 3]

    [7 8 9]

    [6 8 9]

    [6 7 9]

    [6 7 1]]

    例如,我们看到对于点4,k=3最近的点是1、3和2。在

    展开全文
  • 空间内设置x,y,z并到其他三点之间的距离
  • #coding:UTF-8 """ Python implementation of Haversine formula Copyright (C) <2009> Bartek Górny This program is free software: you can redistribute it and/or modify it under the terms of the GNU ...
  • 三维场景计算任意两点空间距离

    万次阅读 2017-12-26 11:35:22
    在iDesktop中要知道场景中两点间的空间距离可以通过iDesktop自带的量算工具去获取到,在iObjects中也可以通过Action3D.MeasureDistance去量算出两点之间的空间距离,但是二者共同点是都需要通过鼠标点击才能获取到...
  • 三维空间中有三个点,求一点到两外两点组成直线的距离。</p>
  • 欧几里得度量(euclidean ...在二维和三维空间中的欧氏距离就是两点之间的实际距离。 二维空间的公式 其中,为点与点之间的欧氏距离;为点(x2,y2)到原点的欧氏距离三维空间的公式 n维空间的公式 ...
  • python实现到平面的距离

    千次阅读 2019-10-11 15:08:42
    python实现到平面的距离 目录 python实现到平面的距离 1.三点定面 2.到面的距离 3.python实现到面的距离 ...空间上任意个不共线的,可以确定一个平面,三点定面的例子: 2.到面的距离 ...
  • 首先要知道原理 ,今天机器学习作业要将三维投影到三维直线上,以下记录方法 方法借鉴:3D空间点到直线的距离 - 知乎 (zhihu.com)第一种方法 x1、x2存的是数据集,d、t是直线的参数 fig = plt.figure() ax1 ...
  • 计算三维空间中点到直线的距离
  • 5.计算三维空间中点到点之间的距离

    千次阅读 2019-09-30 09:17:33
    一、需求说明   a)定义一个“”(Point)类用来表示三维空间中的(有三个坐标)。要求如下: b)可以生成具有特定坐标的对象。... * [说明]:计算三维空间直接的距离 * @author aeon * ...
  • 平常为了得出地理位置上两点的实际距离(譬如北京与杭州之间的实际距离),除了利用经纬度计算出两点空间距离,还需要考虑地形因素。由于之间考虑地形造成误差较大,因此采用微分的办法来解决,简单来说就是将两点...
  • 三维空间直线距离计算
  • python】计算到直线的距离

    千次阅读 2022-02-15 10:38:56
    1. 直线采用个端点的xy坐标表达 import numpy as np def get_distance_point2line(point, line): """ Args: point: [x0, y0] line: [x1, y1, x2, y2] """ line_point1, line_point2 = np.array(line[0:2]),...
  • 计算Python Numpy向量之间的欧氏距离,已知vec1和vec2是个...# 补充知识:Python中计算个数据之间的欧式距离,一个到数据集中其他距离之和 # 如下所示: # 计算数个数据之间的欧式距离 import n
  • Python计算到直线距离种方法

    万次阅读 多人点赞 2020-07-22 14:04:19
    导读 在设计算法的时候经常需要用求一个点到另外两点组成的直线的距离,计算点到直线的距离主要有两种方法: 通过点到直线的距离公式来进行计算 利用向量来计算点到直线的距离 求点 A(a,b)A(a,b)A(a,b)到直线上两点 ...
  • P和AB都由三维的笛卡尔坐标表示。现计算P到AB的距离。 第一种是,过P向线段AB上画垂线,判断垂足有没有落在线段上。如果落在线段上,ok,距离就是垂线段的长度;如果没有,则距离转化为到线段距离。 ...
  • A*算法在三维地理空间(基于DEM)的python实现

    千次阅读 多人点赞 2021-02-01 20:15:53
    A*算法在三维地理空间(基于DEM)的python实现项目简介背景知识A* 算法如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个...
  • 三维空间中的平面由个量确定: ① 一个法向量(垂直于该平面的向量) ② 一个已知(位于该平面上的一个 面和面的交线 **1.*面的方程一般式为:Ax+By+Cz+D=0 (参数,A,B,C,D是描述平面空间特征的常数), 其中...
  • 三维空间碰撞问题;空间中直线的最短距离及最近   (2013-02-28 16:26:39)   分类: 计算机图形学 容易理解的常规方法: 已知空间中线段,如果它们无限变粗,判断是否相交。(主要讨论不在同一...
  • 最近两点,二分法 最远两点,凸包+找对踵点…#include #include #include char explode( char * str , char symbol ); double distance ( int x1 , int y1 , int x2 , int y2 ); // 求平面上2个坐标点的直线距离 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,281
精华内容 6,512
关键字:

python三维空间两点距离