Геометрическая модель псевдогиперболоид 2-го порядка

Полный математический аппарат псевдогиперболоида со смещенной осью (базового элемента Геометрической волновой инженерии) строится на интеграции аналитической геометрии кривых второго порядка, дифференциальной геометрии поверхностей и топологического анализа.

Ниже представлено строгое математическое описание, необходимое для моделирования, трассировки лучей и решения волновых уравнений в объеме такой структуры.


1. Уравнение образующей (Профильная кривая)

В основе поверхности лежит каноническая гипербола, заданная в декартовой системе координат Oxy. Ее уравнение имеет вид:

a2x2​−b2y2​=1

Для параметризации поверхности выразим ординату y (высоту профиля) как функцию от абсциссы x (продольной оси симметрии):

y(x)=ba2x2​−1​

Область определения базовой кривой: Функция существует только при ∣x∣≥a. Интервал x∈(−a,a) представляет собой область разрыва. Физически это формирует центральный фокальный зазор резонатора шириной 2a.


2. Смещение оси и функция радиуса вращения

Ключевой принцип создания псевдоповерхностей ГВИ — вращение профиля не вокруг собственной оси симметрии, а вокруг смещенной прямой. Пусть ось вращения задана прямой, параллельной оси Ox и отстоящей от нее на расстояние R:

y=R

В каждой точке x локальный радиус вращения r(x) определяется как кратчайшее расстояние от образующей кривой до оси вращения. Для обеспечения строгой математической и физической корректности (радиус не может быть отрицательным) вводится функция модуля:

r(x)=∣Ry(x)∣=​Rba2x2​−1​​


3. Топологические ограничения (Критерий замыкания)

Поскольку гипербола уходит в бесконечность, существует критическая точка x=L, в которой ветвь гиперболы пересекает ось вращения y=R. В этой точке радиус вращения обращается в ноль:

r(L)=0⟹R=ba2L2​−1​

Решая это уравнение относительно L, получаем предельную координату (точку «иглы» или смыкания поверхности):

L=a⋅1+(bR​)2​

Физический домен поверхности: Чтобы избежать топологического самопересечения (выворачивания поверхности наизнанку), построение строго ограничивается областью:

x∈[−L,−a]∪[a,L]

При xL фигура стягивается в сингулярные точки (полюса), а при xa формируются широкие открытые основания конусообразных раструбов (радиусом R).


4. Трехмерные параметрические уравнения

Для перехода в 3D-пространство вводится азимутальный угол ϕ∈[0,2π]. Каждая точка псевдогиперболоида задается радиус-вектором r(x,ϕ)=(X,Y,Z):

⎩⎨⎧​X(x,ϕ)=xY(x,ϕ)=R+​Rba2x2​−1​​⋅cos(ϕ)Z(x,ϕ)=​Rba2x2​−1​​⋅sin(ϕ)​

Эта система является абсолютным фундаментом для любого САПР-моделирования или генерации расчетных сеток (Mesh).


5. Анализ влияния параметров (Параметрическое пространство)

Математический аппарат позволяет управлять свойствами резонатора через три базовые константы:

  • a (Полуширина зазора): Определяет размер центральной фокальной полости и входной апертуры. Чем меньше a, тем плотнее сближаются зеркальные ветви.
  • k=b/a (Коэффициент асимптоты): Задает угол наклона стенок на удалении от центра. Влияет на градиент r′(x). При b→∞ поверхность стремится к прямому цилиндру; при малых b — к резкой воронке.
  • R (Смещение оси): Масштабный фактор. Определяет максимальный диаметр резонатора в области xa и, согласно формуле для L, общую предельную длину всей конструкции.

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

def plot_pseudo_hyperboloid_complete(a, b, R):

    «»»

    Построение псевдогиперболоида вращения со смещенной осью.

    Параметры:

    a : полуось гиперболы (половина зазора в центре)

    b : параметр формы (наклон асимптот)

    R : расстояние от центра координат до оси вращения

    «»»

    # 1. МАТЕМАТИЧЕСКИЙ ПРЕДЕЛ (Точка смыкания в иглу)

    # Это значение x, при котором y(x) становится равным R

    L = a * np.sqrt(1 + (R/b)**2)

    # 2. ПОДГОТОВКА СЕТКИ ДАННЫХ

    # Генерируем значения x от вершины ‘a’ до предела ‘L’

    # Используем 500 точек для высокой детализации «горлышка»

    x_range = np.linspace(a, L, 500)

    theta = np.linspace(0, 2 * np.pi, 100)

    X_mesh, Theta_mesh = np.meshgrid(x_range, theta)

    # 3. УРАВНЕНИЕ ПОВЕРХНОСТИ

    # Вычисляем профиль гиперболы y(x)

    y_hyper = b * np.sqrt((X_mesh/a)**2 — 1)

    # Радиус вращения вокруг оси y=R

    r = R — y_hyper

    # Координаты для правой ветви

    X_right = X_mesh

    Y_right = R + r * np.cos(Theta_mesh)

    Z_right = r * np.sin(Theta_mesh)

    # Координаты для левой ветви (зеркальное отражение по оси X)

    X_left = -X_mesh

    Y_left = Y_right

    Z_left = Z_right

    # 4. ВИЗУАЛИЗАЦИЯ

    fig = plt.figure(figsize=(14, 9))

    ax = fig.add_subplot(111, projection=’3d’)

    # Отрисовка поверхностей (используем градиентную карту для объема)

    ax.plot_surface(X_right, Y_right, Z_right, cmap=’plasma’, alpha=0.8, antialiased=True)

    ax.plot_surface(X_left, Y_left, Z_left, cmap=’plasma’, alpha=0.8, antialiased=True)

    # Отрисовка оси вращения (пунктирная линия)

    ax.plot([-L, L], [R, R], [0, 0], color=’red’, linestyle=’—‘, linewidth=2, label=’Ось вращения y=R’)

    # Настройка подписей и масштаба

    ax.set_title(f’Псевдогиперболоид: a={a}, b={b}, R={R}\nПредельная длина L={L:.2f}’, fontsize=12)

    ax.set_xlabel(‘Ось X (Длина)’)

    ax.set_ylabel(‘Ось Y’)

    ax.set_zlabel(‘Ось Z’)

    # Установка равных пропорций осей для корректного отображения формы

    max_dim = L

    ax.set_xlim(-max_dim, max_dim)

    ax.set_ylim(R — max_dim, R + max_dim)

    ax.set_zlim(-max_dim, max_dim)

    ax.legend()

    plt.tight_layout()

    plt.show()

# — ЗАПУСК С ВАШИМИ ПАРАМЕТРАМИ —

# a=1, b=1, R=10

plot_pseudo_hyperboloid_complete(a=0.6, b=0.7, R=20)