заданные линии, найти пересечения линий и обнаружить формы: треугольники, прямоугольники и квадраты - PullRequest
0 голосов
/ 19 декабря 2018

Я работаю над проектом «Геометрические фигуры» (на ассемблере).У меня есть текстовый файл, содержащий координаты линии, которые пересекаются в некоторых точках.через эти пересечения я должен распознать фигуру, если это прямоугольник, квадрат или треугольник, и распечатать количество прямоугольников в этом файле координат, количество треугольников и количество квадратов.

для треугольника: у меня должно быть 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
*

Теперь мне нужно знать простой способчтобы найти пересечение и обрабатывать все случаи также ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...