Van egy szabályos négyzetem, illetve szabályos háromszögem, amik középponjuk és egy csúcsuk koordinátájával vannak megadva. Hogy lehetne gyorsan eldönteni, hogy egy új, adott pont a négyzet/háromszög területére esik-e vagy sem? Programozáshoz kéne.
Milyen programozási nyelven kellene formula? Python nyelven itt van belőle egy részlet:
# Szabályos négyszög koordinátái
square_center = (0, 0) # középpont
square_vertex = (0, 1) # egy csúcs
# Szabályos háromszög koordinátái
triangle_center = (0, 0) # középpont
triangle_vertex = (0, 1) # egy csúcs
# Függvény, ami eldönti, hogy egy pont benne van-e a négyszögben
def is_point_in_square(point, center, vertex):
x, y = point
cx, cy = center
vx, vy = vertex
half_side_length = abs(vy - cy) # a négyszög oldalának hossza
x_min = min(vx, cx) - half_side_length
x_max = max(vx, cx) + half_side_length
y_min = min(vy, cy) - half_side_length
y_max = max(vy, cy) + half_side_length
return (x_min <= x <= x_max) and (y_min <= y <= y_max)
# Függvény, ami eldönti, hogy egy pont benne van-e a háromszögben
def is_point_in_triangle(point, center, vertex):
x, y = point
cx, cy = center
vx, vy = vertex
half_side_length = abs(vy - cy) # a háromszög oldalának hossza
x_min = min(vx, cx) - half_side_length
x_max = max(vx, cx) + half_side_length
y_min = min(vy, cy)
y_max = max(vy, cy)
return (x_min <= x <= x_max) and (y_min <= y <= y_max)
# Példa pontok, amikre tesztelünk
point1 = (0, 0.5) # belül van a négyzetben, a háromszögön kívül
point2 = (1, 1) # kívül van a négyzetben és a háromszögben
point3 = (0, 2) # kívül van a négyzetben, belül a háromszögben
point4 = (0, 1) # a négyzet és a háromszög sarkában van
# Teszteljük a pontokat
print(is_point_in_square(point1, square_center, square_vertex)) # True
print(is_point_in_square(point2, square_center, square_vertex)) # False
...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!