Я работаю над своим проектом на языке ассемблера. У меня есть текстовый файл, каждая строка в тексте содержит 2 координаты (x1, y1) (x2, y2), и эти координаты - линия, которую я могу нарисовать, моя задача - найти, сколько прямоугольников и сколько квадратов и треугольников могут образовать эти координаты, поэтому мне нужно найти 4 пересечения, и это дает мне 1 прямоугольник, и, проверяя расстояние, я могу различать квадрат и прямоугольник, и если я нашел 3 пересечения, это треугольник моя основная проблема - как найти перекресток
Я прочитал текст и сохранил число в массиве структуры типа строка, эта строка содержит 4 переменные, которые являются x1, y1, x2, y2 используя этот массив структур, как я могу найти пересечения, чтобы найти номер каждой формы.
Я думаю, вы не поняли, что я имею в виду, проблема здесь в том, что в каждой строке в текстовом файле существуют координаты двух точек, которые образуют линию между этими двумя точками после чтения всего файла, у меня будет много строк, которые я нужно какое-то условие, чтобы проверить, что эти несколько линий образуют геометрическую форму (прямоугольник-квадрат-треугольник), спасибо
Покажи свой минимальный воспроизводимый пример.
У меня есть строка структуры {x1 byte, y1 byte, x2 byte, y2 byte}, и я создал массив строк {(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)}, а это значения координат ... каковы условия для обнаружения результирующих форм из этой перехваченной линии ?





С двумя фиксированными точками вы можете образовать бесконечное количество треугольников, поместив третью точку в любом месте, кроме той же строки, что и первая 2. Если вы рассматриваете только 32-битные целочисленные координаты, вы можете искать общие множители. между дельта-х и дельта-у, чтобы увидеть, сколько точек на линии пересекают точки целочисленной сетки. Это действительно проблема, которую вы должны решить? Непонятно, о чем вы спрашиваете. Вы можете привести пример?