get_line_aprox.py 1.61 KB
import urllib.request
import json
import os
import datetime
from imageio import imread
import cv2
import numpy as np
import loca_data
import duamel_model
import matplotlib.pyplot as plt
import sher_duam_class

data_store = dict(max_prec = -500.0, values = {})

prec_store = []
prec_store.append([0.0, 0.0])
prec_store.append([1.0, 2.0])
prec_store.append([2.0, 4.0])
prec_store.append([6.0, 12.0])
prec_store.append([3.0, 6.0])
prec_store.append([4.0, 8.0])
prec_store.append([5.0, 10.0])


for p in prec_store:
    if p[0] > data_store["max_prec"]:
        data_store["max_prec"] = p[0]

    key = p[0]
    sd = data_store["values"]
    sd[key] = p[1]

print(data_store)
print(sorted(data_store["values"].keys()))

value = 0.0
new_prec = 4.32

x1 = -1.0
x2 = -1.0
y1 = -1.0
y2 = -1.0
u_sort_keys = sorted(data_store["values"].keys(), reverse=True)
sort_keys = sorted(data_store["values"].keys(), reverse=False)

if new_prec > data_store["max_prec"]:
    x1 = u_sort_keys[1]
    x2 = u_sort_keys[0]
    data_store["max_prec"] = new_prec
else:
    if new_prec in sort_keys:
        value = data_store["values"][new_prec]
        print(value)
        exit()
    else:
        counter = 0
        for key in sort_keys:
            if key > new_prec:
                x1 = sort_keys[counter-1]
                x2 = key
                break
            counter = counter + 1

y1 = data_store["values"][x1]
y2 = data_store["values"][x2]

value = ((x2 * y1 - x1 * y2) / (x2 - x1)) - (y1 - y2) * new_prec
print(value)





#print("{}|{}^^{}|{}".format(x1, y1, x2, y2))
#