我正在研究“几何形状”项目(使用汇编语言)。我有一个文本文件,其中包含在某些点相交的线的坐标。通过这些交点,我应该识别出它是矩形,正方形还是三角形的形状,并在这个坐标文件中打印出矩形的数量,三角形的数量和正方形的数量。
对于三角形:我应该有3个交点 对于矩形和正方形:我应该有4个相交,然后我应该检查距离是否是4边的长度相等,所以它的正方形是矩形
我将文件数据存储在一个名为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
*
现在,我需要知道一种简单的方法来找到交叉点并处理所有情况..