-
Notifications
You must be signed in to change notification settings - Fork 0
/
numpy_dtype.py
108 lines (79 loc) · 3.04 KB
/
numpy_dtype.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
from __future__ import division
import numpy as np
import math
__author__ = 'junzi'
bitisx=360
bitisy=360
baslangicy=20
baslangicx=20
data_type_kordinatlar = np.dtype([('x', np.int),('y', np.int)])
data_type_mesafeler = np.dtype([('mes_son', np.float),('mes_baslangic', np.float),('toplam', np.float)])
kordinatlar = np.empty( 5, dtype=data_type_kordinatlar)
mesafeler=np.empty( 12, dtype=data_type_mesafeler)
kordinatlar[:]=474,360
def nokta_ekle(kordinatlar,x,y):
array=kordinatlar.copy()
kordinatlar = np.empty( kordinatlar.shape[0]+1, dtype=array.dtype)
kordinatlar[0:kordinatlar.shape[0]-1]=array.copy()
kordinatlar[kordinatlar.shape[0]-1]['x']=x
kordinatlar[kordinatlar.shape[0]-1]['y']=y
return kordinatlar
def nokta_ekle2(kordinatlar,sayilar):
x=sayilar[0]
y=sayilar[1]
array=kordinatlar.copy()
kordinatlar = np.empty( kordinatlar.shape[0]+1, dtype=array.dtype)
kordinatlar[0:kordinatlar.shape[0]-1]=array.copy()
kordinatlar[kordinatlar.shape[0]-1]['x']=x
kordinatlar[kordinatlar.shape[0]-1]['y']=y
return kordinatlar
def nokta_ekle3(kordinatlar,sayilar):
x=sayilar['x']
y=sayilar['y']
array=kordinatlar.copy()
kordinatlar = np.empty( kordinatlar.shape[0]+1, dtype=array.dtype)
kordinatlar[0:kordinatlar.shape[0]-1]=array.copy()
kordinatlar[kordinatlar.shape[0]-1]['x']=x
kordinatlar[kordinatlar.shape[0]-1]['y']=y
return kordinatlar
def path_eleme(kordinatlar,path):
for a in range(0,kordinatlar.shape[0]):
if kordinatlar[a] in path:
kordinatlar[a]=-10,-10
kordinatlar=kordinatlar[ np.logical_and(kordinatlar[:]['x']>=0,kordinatlar[:]['y']>=0)]
return kordinatlar
def pixel_eleme(kordinatlar,resim):
for a in range(0,kordinatlar.shape[0]):
if resim[kordinatlar[a]['y'],kordinatlar[a]['x']]==0:
kordinatlar[a]=-10,-10
kordinatlar=kordinatlar[ np.logical_and(kordinatlar[:]['x']>=0,kordinatlar[:]['y']>=0)]
return kordinatlar
def komsular(a):
x=a[0]
y=a[1]
kordinatlar = np.empty( 8, dtype=data_type_kordinatlar)
kordinatlar[0]['x']=x-1
kordinatlar[0]['y']=y
kordinatlar[1]['x']=x-1
kordinatlar[1]['y']=y-1
kordinatlar[2]['x']=x
kordinatlar[2]['y']=y-1
kordinatlar[3]['x']=x+1
kordinatlar[3]['y']=y-1
kordinatlar[4]['x']=x+1
kordinatlar[4]['y']=y
kordinatlar[5]['x']=x+1
kordinatlar[5]['y']=y+1
kordinatlar[6]['x']=x
kordinatlar[6]['y']=y+1
kordinatlar[7]['x']=x-1
kordinatlar[7]['y']=y+1
return kordinatlar
def mesafe_yaz(mesafe,kordinat):
if mesafe.shape[0]!=kordinat.shape[0]:
mesafe=np.empty( kordinat.shape[0], dtype=mesafe.dtype)
for a in range(0,mesafe.shape[0]):
mesafe[a]['mes_son']= math.sqrt(math.pow((kordinat[a]['x']-bitisx), 2)+math.pow((kordinat[a]['y']-bitisy), 2))
mesafe[a]['mes_baslangic']= math.sqrt(math.pow((kordinat[a]['x']-baslangicx), 2)+math.pow((kordinat[a]['y']-baslangicy), 2))
mesafe[a]['toplam']=mesafe[a]['mes_son']+mesafe[a]['mes_baslangic']
return mesafe