임의로 라인 요소를 배치하는 프로그램이 있습니다. 그러나, 나는이 선들이 서로 겹쳐 지거나 서로 교차하지 않도록하고 싶다. (선들은 전혀 접촉하지 않는다.)겹치지 않는 좌표를 생성하십시오.
이 작업을 수행하는 방법에 대한 예제를 찾는 방법은 일반적으로 루프를 사용하여 선 요소 수를 반복하고 좌표를 생성 한 다음 해당 루프 내에서 다른 좌표를 확인하여 좌표가 최소 거리에 있는지 확인합니다.
지금까지 경험 한 바에 따르면 루프를 사용하면 실제로 프로그램에 세금이 부과되고 자극을 표시 할 때 프레임이 떨어지는 경향이 있습니다.
또 다른 생각은 좌표 목록을 생성 한 다음 각 좌표의 거리를 계산하는 것입니다. 내가 가진 코드는 지금까지 다음과 같습니다 :
import numpy as np
import scipy.spatial.distance
import random
length_line=12
nLines = 1000 #the number of line elements that I want
#Random coordinates for the lines. 500X500 pixels centred around 0
xys = np.random.random([nEls,2])*500-250
#Calculating the distance of the centre of the lines from each other
dist = scipy.spatial.distance.pdist(xys)
minDist = (length_line/2)+2 #the minimum distance that should not cause overlap
print sys
내가 여기에서 진행하는 방법을 아주 확실하지 않다 - 이상적으로는 설정 후 더 최소 거리가 좌표를 유지하는 프로그램을 싶습니다 minDist
이고 아마도 다른 것으로없는 좌표를 대체 할 것입니다.
이것이 가능합니까? 고맙습니다. 나의 이해가 맞으면
임의의 줄은 임의의 길이를 가질 수 있습니까? 아니면 모두 길이가 같아야합니까? – trincot
@trincot 줄은 모두 같은 길이 여야합니다. –
개체를 "선"대신 "선분"이라고 부르지 않겠습니까? – fralau