All streams
Search
Write a publication
Pull to refresh
58
0.1

User

Send message

И чуть более реалистичная версия, с внутренним краем диска на последней стабильной орбите

Прямо почти ваша картинка

Конечно, самое прямое. Добавил диск ради интереса.

И правда, спасибо! Только в GLSL, оказывается, обычный atan умеет принимать два аргумента.

Конкретно блендером я никогда не пользовался, и поэтому на плагины к нему не смотрел.
Но вообще конечно я далеко не первый, кто решал такую задачу. Есть вот тут https://spaceengine.org/articles/visualizing-general-relativity/ что-то похожее, и по-видимому более оптимальным способом, или вот научная статья: https://arxiv.org/pdf/1109.4769
Но это все уже дополнительные надстройки над просто трассировкой геодезических. Здесь же я хотел решить задачу максимально в лоб, и воспользоваться этим чтобы поизучать OpenGl, и разобраться получше с численными методами.

Будет ли включен в себя единый реестр всех реестров, если по закону реестр не может быть включен сам в себя?

Да какое обоснование, это ж чатгопота. Автор поди и в глаза никакого lean не видел.

ИИ в вопросах физики ориентируется вообще очень плохо. Тем не менее, "зазор" действительно бесконечный. Именно поэтому тела при падении в черную дыру "зависают" перед горизонтом - им нужно пройти бесконечное расстояние. Бесконечное для стороннего наблюдателя, во всяком случае. Но не для самого падающего объекта.
А напихать туда бесконечность всякого не получится, так как это приведет к увеличению массы в этой области пространства и горизонт расширится.

Your use of Firefox must follow Mozilla’s Acceptable Use Policy,

Там еще очень интересно

{% if switch('firefox-tou') %}
...
{% else %}
... Unlike other companies, we don’t sell access to your data. ...
{% endif %}

Видимо можно как-то отказаться от Terms of Use, и тогда они не будут продавать данные.

Где ваши расчеты?

На Firefox теперь запрещено смотреть порно. Абсолютно серьезно.

https://www.mozilla.org/en-US/about/legal/terms/firefox/

Your use of Firefox must follow Mozilla’s Acceptable Use Policy,

https://www.mozilla.org/en-US/about/legal/acceptable-use/

You may not use any of Mozilla’s services to:
Upload, download, transmit, display, or grant access to content that includes graphic depictions of sexuality or violence,

Возьмём шляпу и накидаем в неё чисел.

Шляпа - объект реального мира. Чисел в реальном мире не существует. Следовательно, невозможно накидать чисел в шляпу.
Таким образом, ваша предпосылка ложна. Дальнейшую бредятину исходящую из ложной предпосылки читать нет никакого смысла.

Это вы не различаете. Поле в математике относится к пшеничному полю примерно так же как топологическое пространство отностится к космическому пространству - никак не относится, просто слово такое же.

Всё верно, точки, геометрические прямые, числа, множества, группы, многообразия, алгебры, гомеомоморфизмы в геометрии и математике служат инструментами для описания и подсчета реальных объектов, явлений, процессов.

Шары, сферы, поверхности и прочее у них это подпространства. Хотя у этих терминов уже есть свои определения.

Поздравляю - вы познакомились с омонимами. Здесь нет никаких противоречий, всё зависит от контекста

А еще в "реальном мире" не существует точек и прямых. Следовательно геометрия Эвклида - не наука. И чисел тоже не существует. Покажите мне в реальном мире число 4! Нет тут такого. Значит и арифметика тоже не наука и неприменима к реальному миру!
Также, по первому закону логики, если у слова "лук" уже есть определение, то не может быть никакого другого "лука". То есть вообще русский язык противоречит законам логики, и не может описывать объекты реального мира.

Вы прямо как в той басне про лису и виноград. Математику не осилили дальше таблицы умножения, значит вся эта ваша топология - не наука!!!!11

У вас какие-то проблемы с чтением кода? Я же явно кормлю в интегратор 4 координаты, описывающие положение Меркурия, и 4, описывающие его скорость. Всё посчитано.

Рассчитайте пожалуйста, насколько сместится перигелий орбиты Меркурия за 100 земных лет, в рамках вашей модели "с помощью трёх измерений".

Вот мой численный расчет в рамках ОТО:

Исходный код. Для какой-никакой точности нужна статистика на несколько сотен оборотов.
import numpy as np
import scipy.integrate
from mayavi import mlab
from functools import partial

from matplotlib import pyplot as plt
from scipy.ndimage import gaussian_filter1d

lightspeed = 299792458 # m/s

# Schwartzchield radius of the Sun
rs = 2. * 6.67430e-11 * 1.9885e30 / (lightspeed**3) # in light seconds

# Orbital parameters
# https://nssdc.gsfc.nasa.gov/planetary/factsheet/mercuryfact.html
aphelion = 6.9818e10 / lightspeed  # in light seconds
aph_velocity = 38860 / lightspeed  # fraction of light speed
aph_angular_velocity = aph_velocity / aphelion

scale = 0.01

def geo(tau, yvec):
    (t, rho, theta, phi, D_t, D_rho, D_theta, D_phi) = yvec

    # Geodesics equation:
    D2_t = - (D_rho * rs * D_t) / (rho * (rho - rs))
    D2_rho = (rs - rho) * (
        - (D_phi * np.sin(theta))**2
        - D_theta**2
        - (D_rho**2 * rs) / (2 * (rho**3) * (1 - rs/rho)**2)
        + (rs * D_t**2) / (2 * (rho**3))
    )
    D2_theta = 0. #D_phi**2 * np.sin(theta) * np.cos(theta) - (2 * D_rho * D_theta) / rho
    D2_phi = -(2 * D_phi * D_theta * np.cos(theta)) / np.sin(theta) - (2 * D_rho * D_phi) / rho

    return np.array([
        D_t, D_rho, D_theta, D_phi,
        D2_t, D2_rho, D2_theta, D2_phi])


def inner_to_cart(t, rho, theta, phi):
    return np.array([
        0,
        rho * np.cos(phi),
        rho * np.sin(phi)])


# in polar coordinates, on equatorial plane
initial_point = [0.0, aphelion, np.pi/2, 0.0]
initial_vector = [np.sqrt(1 - aph_velocity**2), 0., 0., aph_angular_velocity]

solver = scipy.integrate.RK45(geo, 0, [*initial_point, *initial_vector], np.inf, max_step=600)

body_pos = inner_to_cart(*initial_point)
xo, yo, zo = body_pos

fig = mlab.figure(size=(400,400), bgcolor=(0.7,0.7,0.7))

pt = mlab.points3d(xo, yo, zo, scale_mode='none', scale_factor=0.2, color=(0,1,0))

label_t = mlab.text(0,0,"", width=0.2)

# Show Sun
circle = np.linspace(0, 2 * np.pi, num=100)
r_sun = 6.957e8 / lightspeed * scale
sun = mlab.plot3d([0]*len(circle), np.cos(circle) * r_sun, np.sin(circle) * r_sun, color=(0,0,0))

aph_angles = []

@mlab.animate(delay=40, ui=False)
def anim():
    global rs
    global scale
    norbits = 0
    prev_r = initial_point[1]
    prev_prev_r = initial_point[1]

    sec_per_year = 3600 * 24 * 365.25

    while True:
        for _ in range(400):
            s = solver.step()
            if s is not None:
                print(s)
                return

            body_pos_spherical = solver.y[:4]
            body_pos = inner_to_cart(*body_pos_spherical)

            r = body_pos_spherical[1]
            if prev_r > r and prev_r > prev_prev_r:
                norbits += 1
                aph_angle = (((body_pos_spherical[3]/(2.*np.pi)) * 360) % 360) * 3600 # arcsec
                aph_angles.append(aph_angle)
                print(f"[{norbits}]  aphelion at {prev_r * lightspeed / 1000 :.0f} km, angle: {aph_angle} arcsec")
            elif prev_r < r and prev_r < prev_prev_r:
                print(f"[{norbits}]perihelion at {prev_r * lightspeed / 1000 :.0f} km")

            prev_prev_r = prev_r
            prev_r = r

        pt.mlab_source.x, pt.mlab_source.y, pt.mlab_source.z = body_pos * scale

        label_t.text = f"observer time: {solver.y[0] / sec_per_year :.1f} years"

        yield


mlab.view(azimuth=0, elevation=90, roll=0, reset_roll=False, focalpoint=[0,0,0], distance=25)

a = anim()

mlab.show()

def process_data(angles):
    X = np.array(range(len(angles)))
    Y = np.array(angles)

    plt.plot(X, Y)
    plt.plot(X, gaussian_filter1d(Y, 100))
    plt.plot(X, gaussian_filter1d(Y, 10))

    a, b = np.polyfit(X,Y,1)

    period = 115.88
    julian_century = 36525

    print(f"{a} arcseconds per cycle")
    print(f"{a / period * julian_century} arcseconds per century")

    plt.plot(X, a*X + b)

    plt.show()

process_data(aph_angles)

Теперь приведите ваш расчет. Логика и научный метод вам в помощь.

Это вы от темы не уходите. Я вам дал пример реального объекта, поведение которого описывается "моделью Эйнштейна". Солнце.

Кривизна пространства-времени это что?

Это тензор, описывающий как изменяются векторы при параллельном переносе вдоль малой замкнутой кривой.

Что гнется у реального физического объекта пространство?

Это некорректный вопрос. Ничего никуда не "гнется". Это бытовой термин, а не математический.

На лицо подмена терминов, нарушение законов логики

Всё так и есть. Популярные изложения науки подменяют математические термины на бытовые аналогии. В результате действительно что-то не сходится. Прекращайте оперировать бытовыми аналогиями, и учите дифференциальную геометрию, тогда у вас ничего не будет "гнуться".

Во-первых, я не просто так дал ссылки на википедию. Могли бы пойти почитать что многообразие это не "множественность проявлений чего-нибудь"... Но нет, вы увидели слово, и почему-то решили что знаете что оно значит.
Во-вторых, наши модели описывают такие реальные объекты как Солнце. К примеру, предсказывают, на какой угол отклонятся положения звезд, наблюдаемых вокруг него во время затмения, или насколько смещается перигелий орбиты Меркурия за оборот.

Information

Rating
3,283-rd
Registered
Activity