Я работаю над проектом «Геометрические фигуры» (на ассемблере).У меня есть текстовый файл, содержащий координаты линии, которые пересекаются в некоторых точках.через эти пересечения я должен распознать фигуру, если это прямоугольник, квадрат или треугольник, и распечатать количество прямоугольников в этом файле координат, количество треугольников и количество квадратов.
для треугольника: у меня должно быть 3 пересечения для прямоугольника и квадрата: у меня должно быть 4 пересечения, тогда я должен проверить расстояние, равны ли 4 стороны по длине, поэтому его квадрат еще прямоугольник
Я сохранил данные файла в массиве struct, которая называется struct line и содержит 4 переменные x1, y1, x2, y2
, теперь у меня есть структура, заполненная правильными данными
Моя собственная главная проблема - вычисление пересечения между линиями. Что я должен сделать, чтобы решить эту проблему?Мне нужно, чтобы он был закодирован, пожалуйста
;;;;;;;;;;; DECLARING STRUCT ;;;;;;;;;;
line struct
x1 byte ?
y1 byte ?
x2 byte ?
y2 byte ?
line ends
// that's the function for storing tha numbers in an array of struct
// the array final deals with the part of code that I read from the file
// with and contain the values but reversed so when i fill my array of
// type line I reverse the array final
Store PROC
mov ebx, offset final
add ebx,count1
mov edx, offset array_of_lines
mov ecx,10
l_struct:
mov al, [ebx]
mov (line ptr [edx]).x1 , al
dec ebx
mov al, [ebx]
mov (line ptr [edx]).y1 , al
dec ebx
mov al, [ebx]
mov (line ptr [edx]).x2 , al
dec ebx
mov al, [ebx]
mov (line ptr [edx]).y2 , al
dec ebx
add edx, sizeof line
loop l_struct
это текстовый файл, который мне дали, чтобы узнать, как много прямоугольников в нем квадраты и треугольники
20 20 30 50
10 10 50 50
10 10 30 50
20 20 40 20
40 20 30 50
40 20 40 60
40 60 100 60
100 50 105 50
100 60 100 20
100 20 40 20
*
Теперь мне нужно знать простой способчтобы найти пересечение и обрабатывать все случаи также ..