判斷平面內一個點 是否在兩個點所確定的長軸橢圓內
# 點到兩個端點所確定的直線的距離 classic formula is: # # d = [(x2-x1)*(y1-y)-(x1-x)*(y2-y1)] / sqrt((x2-x1)**2 + (y2-y1)**2) # xD = (x2 - x1) yD = (y2 - y1) detaX = x1 - X detaY = y1 - Y norm2 = sqrt(xD ** 2 + yD ** 2) # 注意norm2是一個數而不是numpy陣列,因為xD, yD都是一個數。單個數字運算math比numpy快 b = thre dist = xD * detaY - detaX * yD # 常數與numpy陣列(X,Y是座標陣列)的運算,broadcast dist /= norm2 dist = np.abs(dist) ratiox = np.abs(detaX / (xD + 1e-8)) ratioy = np.abs(detaY / (yD + 1e-8)) ratio = np.where(ratiox < ratioy, ratiox, ratioy) ratio = np.where(ratio > 1, 1, ratio) # 不用 np.ones_like(ratio)也可以正常執行,並且會快一點點 ratio = np.where(ratio > 0.5, 1 - ratio, ratio) oncurve_dist = b * np.sqrt(1 - np.square(ratio * 2)) # oncurve_dist計算的是橢圓邊界上的點到長軸的垂直距離 sigma = thre # todo: sigma of PAF 對於PAF的分佈,設其標準差為多少最合適呢 guass_dist[dist >= b] = 0 return guass_dist
相關推薦
判斷平面內一個點 是否在兩個點所確定的長軸橢圓內
# 點到兩個端點所確定的直線的距離 classic formula is: # # d = [(x2-x1)*(y1-y)-(x1-x)*(y2-y1)] / sqrt((x2-x1
求一個點到另外兩個點所在直線的投影
//獲取一個點到另外兩個點所在直線的投影。 如果點在直線上,返回其本身 //下面公式適用於二維空間的點, Y軸的數值不考慮public static Vector3 GetProjectToLine(Vector3 _Point, Vector3 L0Point, Vect
平面內距離最近的兩個點-- 分治法
題目地址 hdu 1007 題目描述 Problem Description Have you ever played quoit in a playground? Quoit is a game in which flat rings are p
ThreeJS兩個點作為起始座標畫一個立方體
drawLineBox(new THREE.Vector3(100, 50, 0), new THREE.Vector3(200, 100, 100)); function drawLineBox(start, end) { //開始點用cube標出來方便觀察 geometry =
JS判斷輸入字串長度(漢字算兩個字元,字母數字算一個)
<html> <head> <title>js判斷輸入字串長度(漢字算兩個字元,字母數字算一個)</title> <style type="text/css"> .pbt { margin-b
路徑中一個點與兩個點的區別
在匯入js或者樣式表的時候,如果我們放在資料夾下面,有時會涉及路徑問題找不到我們的引入,曾經我也遇到過相應的問題。解決方法就是在路徑前面加點。那麼在這個路徑中一個點和兩個點到底有什麼區別呢? 1、一個點:表示當前目錄。即類似使用:./juqery.min.js。 2、兩個點:
IP工具類:判斷兩個ip是否在同一個網段內,比較兩個ip的大小
import java.util.regex.Pattern; /** * IP地址範圍: 0.0.0.0~255.255.255.255,包括了mask地址。 IP地址劃分: * A類地址:1.0.0.1~126.255.255.254 B類地址:128.0.0.1~
給你一個 n 個點,m 條邊的無向圖,求至少要在這個的基礎上加多少條無向邊使得任意兩個點可達~
給你一個 n 個點,m 條邊的無向圖,求至少要在這個的基礎上加多少條無向邊使得任意兩個點可達~ 輸入描述: 第一行兩個正整數 n 和 m 。 接下來的m行中,每行兩個正整數 i 、 j ,表示點i與點j之間有一條無向道路。 輸出描述: 輸出一個整數,表示答案 示例1 輸入 4 2 1 2 3
HDU 4587 TWO NODES(割兩個點的最大連通分支數)
target int 兩個 bsp printf pan sta ans acm http://acm.hdu.edu.cn/showproblem.php?pid=4587 題意: 給一圖,求割去兩個點後所能形成的最大連通分支數。 思路: 對於這種情況,第一
最小割經典題(兩個點依附在一起的情況)poj3469
minimum 兩個 color computer upd 情況 nim %d struct Dual Core CPU Time Limit: 15000MS Memory Limit: 131072K Total Submissions: 25099
unity中把一個圖片切割成兩個UI圖片
unity3 mode png 鼠標 eight 圖片效果 height pri unity 1、在unity3D的Project視圖下選中需要更改的圖片,將圖片的Texture Type更改為Sprite (2D and UI),點擊Apply即可。操作如圖所示:
獲取兩個點經緯度之間的距離
開發 req AS 坐標 earth param col return art /** * js獲取兩個經緯度之間的距離 * @param lat1 第一點的緯度 * @param lng1 第一點的經度 * @param lat2 第二點的緯度 * @para
Spring用@Autowire向一個類註入一個接口的兩個實現類
err xtend chang autowired 實現類 autowire bbs control 實現 @Servicepublic class AaaService implements IChangePassword { @Override publi
知道兩個點的經緯度計算兩個點的距離
經緯度首先轉化為弧度 然後使用公式即可 1 private static double EARTH_RADIUS=6378.137; 2 private static double rad(double d) { 3 return d*Mat
Unity中使用C#遞迴輸出陣列1,2,3,5,8,...該陣列的生成規律是每一個數字是前兩個數字的和
一、實現思路:第一個數大於等於0,第二個數大於等於第一個數,最後指定一個需要輸出的最後一個數字(該數字用作最後輸出的界限) ①實現指令碼如下: /*** * Title:"XXX" 專案 * 主題:XXX * Description: * 功能:XXX * Date:2018 * Ver
列舉法找出距離最近的兩個點
在程式設計之美和HDU有這麼一道題目: 給定平面上N個點的座標,找出距離最近的兩個點。如:有這些個點對: (-1, 3) (-1, -1) (1, 1) (2, 0.5) (2, -1) (3, 3) (4, 2) (4, -0.5) 則最近的兩點應該為:(
計算兩個點的經緯度的距離
package com.yuncai.core.common.utils; import java.util.HashMap; import java.util.Map; /** * 計算兩個座標的距離 * @author audaque * */ public class Dist
輸入兩個證書,打印出這兩個整數所制定的範圍內的所有整數
#include <iostream> using namespace std ; int main() { int num = 0 ,i = 0; cin >>
HDU 1874 Dijkstra演算法 求任意兩個點之間的最短距離
題意: 某省自從實行了很多年的暢通工程計劃後,終於修建了很多路。不過路多了也不好,每次要從一個城鎮到另一個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。 #include&l
java--Fibonacc由數字1、1、2、3...組成的,從第三個數字起每一個數字為前兩個數字的和。建立一個方法,接受一個整數引數,顯示從第一個元素開始總共由該引數指定的個數所構成的所有斐波那契數
題目完整描述:一個斐波那契數列是由數字1、1、2、3、5、8、13、21、34等等組成的,其中每一個數字(從第三個數字起)都是前兩個數字的和。建立一個方法,接受一個整數引數,並顯示從第一個元素開始總共由該引數指定的個數所構成的所有斐波那契數字。例如,如果執行 java Fibonacci 5(Fib