добро пожаловать на грибную поляну!!! · здесь анонимно, как глубоко в лесу · не топчите молодые мухоморы - они для красоты · казино работает круглосуточно · споры - местная валюта · сайт растёт на одном ноутбуке и вере в людей · сейчас в лесу: по мск

флудилка · тред №364 · ответов: 4

всего подарено: 🍄
код Аноним 16.10.2026 09:05 №364

import numpy as np
import matplotlib.pyplot as plt

P = np.array([1, 2])
Q = np.array([-3, -1])
R = np.array([5, 5])
d = np.array([4, 3])
t = np.linspace(-2, 2, 1000)
M = np.array([1, 2])

points = M[:, None] + d[:, None] * t

def dist(dt):
return abs(3*dt[0] + (-4)*dt[1] + 5) / np.sqrt(3**2 + (-4)**2)

print(f"Расстояние от точки P до прямой: {dist(P)}")
print(f"Расстояние от точки Q до прямой: {dist(Q)}")
print(f"Расстояние от точки R до прямой: {dist(R)}")

plt.plot(points[0], points[1], label="$a$")
plt.scatter(P[0], P[1], label="$P$")
plt.scatter(Q[0], Q[1], label="$Q$")
plt.scatter(R[0], R[1], label="$R$")
plt.axhline(0)
plt.axvline(0)
plt.xlabel("x")
plt.ylabel("y")
plt.grid()
plt.legend()
plt.show()

Аноним 16.10.2026 09:05 №365

import numpy as np

P = np.array([2,-1])
d = np.array([4,3])

n = np.array([d[1], -d[0]])
print(f"Нормальный вектор: {n}")

if np.dot(n, d) == 0:
print("Направляющий вектор d и нормальный вектор n - ортогональны")
else:
print("Направляющий вектор d и нормальный вектор n - не ортогональны")

A, B, C = n[0], n[1], n[0](-P[0]) + n[1](-P[1])
print(f"Точки A, B и C соответственно: {A}, {B}, {C}")

if (AP[0] + BP[1] + C) == 0:
print("Точка P принадлежит прямой")
else:
print("Точка P не принадлежит прямой")

Аноним 16.10.2026 09:42 №367

#задание 5

import numpy as np

P = np.array([2, -1, 3])
n = np.array([1,2,-2])
Q = np.array([0,1,2])
R = np.array([4, -2, 1])

D = n[0](-P[0]) + n[1](-P[1]) + n[2]*(-P[2])

def belong(s, x):
if n[0]*x[0] + n[1]*x[1] + n[2]*x[2] + D == 0:
print(f"{s} принадлежит плоскости")
else:
print(f"{s} не принадлежит плоскости")

print(f"Точка D: {D}")
belong("Q", [0, 1, 2])
belong("R", [4, -2, 1])

Аноним 16.10.2026 09:43 №368

#задание 6

import numpy as np

P = np.array([1,1,1])
Q = np.array([4,-1,3])
n = np.array([2, -1, 2])
D = -5

def distance(a):
return abs(n[0]*a[0] + n[1]*a[1] + n[2]*a[2] + D) / np.sqrt(n[0]**2 + n[1]**2 + n[2]**2)

print(f"Расстояние от точки P до плоскости: {distance(P)}")
print(f"Расстояние от точки Q до плоскости: {distance(Q)}")
if distance(P) < distance(Q):
print("P лежит ближе, чем Q")
else:
print("Q лежит ближе, чем P")

Аноним 20.10.2026 09:06 №388

>>364

import numpy as np

C = np.array([1, -2, 4])
d = np.array([2, 3, -4]) 

n = np.array([1, 1, 2])
D = -6

t = -(np.dot(n, C) + D)/np.dot(n,d)
P = C + t*d

if t >= 0: 
    print(f"Параметр t и точка пересечения P соответственно: {t}, {P}")
    print(f"Расстояние от C до P: {np.linalg.norm(P-C)}")
else:
    print(f"t = {t} и оно меньше нуля => луч не пересекает плоскость перед камерой")

cos_a = np.dot(n, d) / (np.linalg.norm(n) * np.linalg.norm(d))
a = np.degrees(np.arccos(cos_a))

print(f"Угол луча с нормалью: {a}")

print("\nЗамена нарпавление на [2, 3, 1]\n")

d = np.array([2, 3, 1])

t = -(np.dot(n, C) + D)/np.dot(n,d)
P = C + t*d

if t >= 0: 
    print(f"Параметр t и точка пересечения P соответственно: {t}, {P}")
    print(f"Расстояние от C до P: {np.linalg.norm(P-C)}")
else:
    print(f"t = {t} и оно меньше нуля => луч не пересекает плоскость перед камерой")

cos_a = np.dot(n, d) / (np.linalg.norm(n) * np.linalg.norm(d))
a = np.degrees(np.arccos(cos_a))

print(f"Угол луча с нормалью: {a}")

Изображения до 4 МБ, видео до 32 МБ, аудио и документы до 16 МБ. Всего до 80 МБ.

← назад в /b/

HTML 4.01
VALID!
BEST VIEWED
IN IE 6.0
GROWN ON
MY LAPTOP 🍄
ANON ONLY
NO ACCOUNTS
UNDER
CONSTRUCTION
▲ наверх