zuzu
Май 25, 2014 09:07:39
Моя задача написать программу, где загружается файл, в котором находятся координаты и по ним tkinter рисует фигуру, а потом выдает общую длинну сторон. Файл загружается, как мне данные перевести в координаты, а надо ли вообще переводить, может можно одной строкой, ведь рисует по одной строке. Второй вопрос как измерить длинну сторон, фигуры же могут быть разные.
4kpt_II
Май 25, 2014 11:22:52
1. Тема должна быть в разделе GUI.
2. Фигура состоит из линий? Там нет окружностей?
3. Исходные данные это координаты начала и конца линии или это координаты узлов фигуры?
P.S. Хочу помочь, но нужна информация.
zuzu
Май 25, 2014 12:15:21
2. Фигура состоит из прямых линий, координаты даются последовательно в файле
3. координаты начала и конца линий, хоть возможно я не понял вопроса, в списко подряд точки, их соеденяя получим узлы и линии.
Если упрошенно смотреть, то если фигу например треугольник, то первая и последняя точки одинаковые, но вот не доходит до меня, как мне координаты переделать (текст в стринг?) и вот с длинной, мне через теорему Пифагора решать?
4kpt_II
Май 25, 2014 12:27:49
zuzu
и вот с длинной, мне через теорему Пифагора решать?
Да. Теорема Пифагора.
Для построения смотрим в сторону.
canvas = Tkinter.Canvas(root, width=..., height=...)
canvas.create_polygon(x0, y0, x1, y1, ..., xn, yn, options)
P.S. Размер для канваса можно высчитать по минимальным и максимальным точкам полигона.
zuzu
Май 25, 2014 19:55:43
что-то у меня импорт не получается, значение файла:
54, 254
204, 104
254, 154
354, 54
454, 154
504, 104
654, 254
54, 254
zuzu
Май 25, 2014 20:07:07
def _open():
op = askopenfilename()
for l in fileinput.input(op):
txt.insert(END,l)
точнее, я не помиаю, как мне значения перевести в координаты
за ним
= canvas.create_line(x0, y0, x1, y1, …, xn, yn, options)
4kpt_II
Май 26, 2014 00:23:03
Это уже другой вопрос. Прикрепляйте файл - посмотрим…
zuzu
Май 26, 2014 00:35:56
я понимаю, что должен превратить в стринг..
zuzu
Май 26, 2014 00:36:19
input
4kpt_II
Май 26, 2014 02:29:11
Получить данные из файла:
with open("ato4ki.txt") as file_:
result = []
for line in file_:
for data in line.strip().split(", "):
result.append(int(data))
print result
P.S. Можно написать все в двух выражениях, но учитывая, что Вы только начинаете, решил максимально просто расписать.
P.S.S. Будут вопросы - пишите…