Этот вопрос закрыт для ответов, так как повторяет вопрос Как можно оптимизировать код (алгоритм Брезенхема)?
@Dragon1

Как можно оптимизировать код(алгоритм Брезенхема)?

import numpy as np
import matplotlib.pyplot as plt
img=np.ones((10,30,3)) 
def DrawLine(x1,y1,x2,y2):
    dx = abs(x2-x1)
    dy = abs(y2-y1)

    if x1<x2:
        xs=1 
    else:
        xs=-1   
        
    if y1<y2:
        ys=1
    else:
        ys=-1
     
    x=x1
    y=y1  
    
    p=2*dy-dx   
    

    if dx>dy:
        while x<x2:
            x=x+xs
            if p > 0:
                y=y+ys
                p=p+2*dy-2*dx
            else:
                p=p+2*dy  
                
            img[y,x]= 0
     
    return;
def DrawLine1(y1,x1,y2,x2):
    dy = abs(y2-y1)
    dx = abs(x2-x1)

    if y1<y2:
        ys=1 
    else:
        ys=-1   
        
    if x1<x2:
        xs=1
    else:
        xs=-1
     
    y=y1
    x=x1  
    
    p=2*dx-dy   
    

    if dy>dx:
        while y<y2:
            y=y+ys
            if p > 0:
                x=x+xs
                p=p+2*dx-2*dy
            else:
                p=p+2*dx  
                
            img[y,x]= 0
     
    return;
"0"
DrawLine(4,2,8,2)
DrawLine(4,6,8,6)
DrawLine1(2,8,6,8)
DrawLine1(1,4,6,4)
plt.imshow(img)
plt.show()
  • Вопрос задан
  • 83 просмотра
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы