Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Офф-топ

Страница: 1 | 2 |

 

  Вопрос: Скорость света vs Гравитация Добавлено: 19.05.07 03:23  

Автор вопроса:  Morpheus | Web-сайт: xury.zx6.ru

Ответить

  Ответы Всего ответов: 30  

Номер ответа: 16
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #16
Добавлено: 21.05.07 04:48
Теория относительности как раз и утверждает, что фиг там.

Ответить

Номер ответа: 17
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #17
Добавлено: 21.05.07 05:20
Ну, в большенстве случаев нам и без разницы есть ли глобальное время или нет. В этом случае, можно спросить, например, увидит ли планета взрывающуюся звезду ДО или ПОСЛЕ того как ощутит на себе изменение гравитации от неё исходящей.

П.С. Если в чёрных дырах там время тормознутое, то это из-за чего? из за большой скорости вращения или из-за массы?

Ответить

Номер ответа: 18
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #18
Добавлено: 21.05.07 05:22
просто масса то у них не так чтобы очень - подумаешь, 1.5 масс солнца... или на солнце тоже роликс идти не будет?

Ответить

Номер ответа: 19
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #19 Добавлено: 21.05.07 08:41
Частицы равной массы притягиваются друг к другу с ускорением, обратно пропорциональным квадрату расстояния. Если массы отличаются - более лёгкая частица будет двигаться с большим ускорением, так как обе силы равны.

Спасибо, но как это на бейсике-то записать? А еще лучше на С++ или асме

На счет локального и глобального времени. Я считаю что "локальное" время это как на Земле смена дня и ночи, но оно (локальное время) является просто частью глобального (абсолютного во Вселенной)

А на счет черных дыр, так это просто очень массивные звезды, масса которых настолько велика что притягивает не только остальные звезды, но даже и свет которых они (черные дыры) излучают. Но никакого искривления времени там не происходит... как ни жаль =(

Ответить

Номер ответа: 20
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #20 Добавлено: 21.05.07 12:55
Вот хотел еще спросить тех кто интересуется космосом, внеземной жизнью и т.п.
Дайте пожалуйста ссылки по этой теме (желательно на русском). Мне это очень интересно.

Еще интересует инфа по физике этих самых частиц.

Вот, написал че-то. Вижу что не так работает. Все частицы должны к белой - свермассивной точке лететь, но они разлетаются кто куда =(
Подскажите, плз что не так делаю.

На форму кнопку cmdStart и пикчур picField
Option Explicit

Private Type ATOM
    dblX As Double
    dblY As Double
    dblXK As Double
    dblYK As Double
    dblMass As Double
End Type

Private arAtoms() As ATOM
Private Const ATOMS_COUNT As Long = 50

Private Sub cmdStart_Click()
    Do Until False
        MoveAtoms
        ;DrawAtoms
        DoEvents
    Loop
End Sub

Private Sub Form_Load()
Dim lngIndex As Long
    ReDim arAtoms(1 To ATOMS_COUNT)
    For lngIndex = 1 To ATOMS_COUNT
        With arAtoms(lngIndex)
            .dblMass = 5
            .dblX = picField.ScaleWidth / 2 + Rnd * 5 - 2.5
            .dblY = picField.ScaleHeight / 2 + Rnd * 5 - 2.5
            .dblX = picField.ScaleWidth / 2 + Rnd * 5 - 2.5
            .dblY = picField.ScaleWidth / 2 + Rnd * 5 - 2.5
        End With
    Next
    arAtoms(1).dblMass = 50000
    arAtoms(1).dblX = 100
    arAtoms(1).dblY = 100
End Sub

Private Sub DrawAtoms()
Dim lngIndex As Long, lngCount As Long
Dim bi24BitInfo As BITMAPINFO
Dim iBitmap As Long, iDC As Long
Dim arPixels() As Byte

    With bi24BitInfo.bmiHeader
        .biBitCount = 32
        .biCompression = BI_RGB
        .biPlanes = 1
        .biSize = Len(bi24BitInfo.bmiHeader)
        .biWidth = picField.ScaleWidth
        .biHeight = picField.ScaleHeight
    End With
    ReDim arPixels(1 To bi24BitInfo.bmiHeader.biWidth * bi24BitInfo.bmiHeader.biHeight * 4)
    lngCount = UBound(arPixels)

    iDC = CreateCompatibleDC(picField.hdc)
    iBitmap = CreateDIBSection(iDC, bi24BitInfo, DIB_RGB_COLORS, ByVal 0&, ByVal 0&, ByVal 0&;)
    SelectObject iDC, iBitmap
    BitBlt iDC, 0, 0, bi24BitInfo.bmiHeader.biWidth, bi24BitInfo.bmiHeader.biHeight, picField.hdc, 0, 0, vbSrcCopy
    'CLS
    For lngIndex = 1 To lngCount
        arPixels(lngIndex) = 0
    Next

    For lngIndex = 1 To ATOMS_COUNT
        With arAtoms(lngIndex)
            If CLng(.dblX) > 0 And CLng(.dblY) > 0 And CLng(.dblX) < bi24BitInfo.bmiHeader.biWidth And CLng(.dblY) < bi24BitInfo.bmiHeader.biHeight Then
                arPixels((bi24BitInfo.bmiHeader.biWidth * CLng(.dblY) + CLng(.dblX)) * 4 + 3) = 255
                If lngIndex = 1 Then
                    arPixels((bi24BitInfo.bmiHeader.biWidth * CLng(.dblY) + CLng(.dblX)) * 4 + 2) = 255
                    arPixels((bi24BitInfo.bmiHeader.biWidth * CLng(.dblY) + CLng(.dblX)) * 4 + 1) = 255
                End If
            End If
        End With
    Next

    SetDIBitsToDevice picField.hdc, 0, 0, bi24BitInfo.bmiHeader.biWidth, bi24BitInfo.bmiHeader.biHeight, 0, 0, 0, bi24BitInfo.bmiHeader.biHeight, arPixels(1), bi24BitInfo, DIB_RGB_COLORS
    ;DeleteDC iDC
    ;DeleteObject iBitmap
End Sub

Public Sub MoveAtoms()
Dim lngIndex As Long, lngIndex2 As Long
Dim dblXC As Double, dblYC As Double
Dim u As Double, F As Double
    For lngIndex = 2 To ATOMS_COUNT
        With arAtoms(lngIndex)
            .dblX = .dblX + .dblXK
            .dblY = .dblY + .dblYK
            For lngIndex2 = 1 To ATOMS_COUNT
                If lngIndex <> lngIndex2 Then
                    dblXC = .dblX - arAtoms(lngIndex2).dblX
                    dblYC = .dblY - arAtoms(lngIndex2).dblY
                    If (Abs(Round(.dblX)) < 0.00001) And (Abs(Round(.dblY)) < 0.00001) Then
                    Else
                        F = .dblMass * arAtoms(lngIndex2).dblMass / (Sqr(.dblX ^ 2 + .dblY ^ 2) + 1)
                        .dblXK = .dblXK - F * Cos(dblXC) / arAtoms(lngIndex2).dblMass
                        .dblYK = .dblYK - F * Sin(dblYC) / arAtoms(lngIndex2).dblMass
                    End If
                End If
            Next
        End With
    Next
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    End
End Sub

В модуль
Option Explicit

Public Const BI_RGB = 0&
Public Const DIB_RGB_COLORS = 0 '  color table in RGBs

Public Type BITMAPINFOHEADER '40 bytes
        biSize As Long
        biWidth As Long
        biHeight As Long
        biPlanes As Integer
        biBitCount As Integer
        biCompression As Long
        biSizeImage As Long
        biXPelsPerMeter As Long
        biYPelsPerMeter As Long
        biClrUsed As Long
        biClrImportant As Long
End Type

Public Type RGBQUAD
        rgbBlue As Byte
        rgbGreen As Byte
        rgbRed As Byte
        rgbReserved As Byte
End Type

Public Type BITMAPINFO
        bmiHeader As BITMAPINFOHEADER
        bmiColors As RGBQUAD
End Type

Public Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Public Declare Function CreateDIBSection Lib "gdi32" (ByVal hdc As Long, pBitmapInfo As BITMAPINFO, ByVal un As Long, ByVal lplpVoid As Long, ByVal handle As Long, ByVal dw As Long) As Long
Public Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long
Public Declare Function SetDIBitsToDevice Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal dx As Long, ByVal dy As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal Scan As Long, ByVal NumScans As Long, Bits As Any, BitsInfo As BITMAPINFO, ByVal wUsage As Long) As Long
Public Declare Function SelectObject Lib "gdi32.dll" (ByVal hdc As Long, ByVal hObject As Long) As Long
Public Declare Function DeleteDC Lib "gdi32.dll" (ByVal hdc As Long) As Long
Public Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As Long) As Long
Public Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Public Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Long) As Long


Надо конечно еще коллизии учитывать, но это в следующей версии ;)
Но летают частицы всеравно замысловато =)

ЗЫ
Не страдайте плагиатом, проект - опенсорс =)

Ответить

Номер ответа: 21
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #21 Добавлено: 21.05.07 15:18
Патч
В форме закомментить
'    BitBlt iDC, 0, 0, bi24BitInfo.bmiHeader.biWidth, bi24BitInfo.bmiHeader.biHeight, picField.hdc, 0, 0, vbSrcCopy
    'CLS
'    For lngIndex = 1 To lngCount
'        arPixels(lngIndex) = 0
'    Next

Ответить

Номер ответа: 22
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #22
Добавлено: 21.05.07 23:07
увидит ли планета взрывающуюся звезду ДО или ПОСЛЕ того как ощутит на себе изменение гравитации от неё исходящей.

Одновременно.

Но никакого искривления времени там не происходит... как ни жаль =(

В сильной гравитации время замедляется.

Дайте пожалуйста ссылки по этой теме (желательно на русском).

http://astronet.ru/ и дальше по ссылкам

Ответить

Номер ответа: 23
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #23 Добавлено: 22.05.07 09:43
http://astronet.ru/

Пасиба

В сильной гравитации время замедляется.

У меня сейчас нет возможности это проверить =)
Почему время должно замедляться при сильной гравитации? Кто это сказал? Проводили ли опыты? Есть ли ссылки?

Про сверхпроводимость при очень низкой температуре слышал, а вот про замедление времени - ничего.
Мне кажется глобальное время нельзя ускорить или замедлить, а если речь идет о локальном, то при сильной гравитации происходит замедление (или ускорение) не времени, а объекта

Ответить

Номер ответа: 24
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #24 Добавлено: 22.05.07 15:02
Физики-математики, помогите пожалуйста! Только формулу доделать осталось. Незнаю я как быть с ней.
Киньте мануалов что-ли (хотя навряд ли такие есть =( )
Вот код формы. Код модуля приведен выше. (В нем только декларации)
Option Explicit

Private Type ATOM
    dblX As Double
    dblY As Double
    dblXK As Double
    dblYK As Double
    dblMass As Double
    lngColorR As Long
    lngColorG As Long
    lngColorB As Long
End Type

Private arAtoms() As ATOM
Private arPixels() As Byte
Private Const ATOMS_COUNT As Long = 500
Private bi24BitInfo As BITMAPINFO
Private PIXELS_COUNT As Long

Private Sub cmdStart_Click()
    Do Until False
        MoveAtoms
        ;DrawAtoms
        DoEvents
    Loop
End Sub

Private Sub Form_Load()
Dim lngIndex As Long
    ReDim arAtoms(1 To ATOMS_COUNT)
    Randomize Timer
    For lngIndex = 1 To ATOMS_COUNT
        With arAtoms(lngIndex)
            .dblMass = 100 + (Rnd * 3) * 50
            .dblX = picField.ScaleWidth / 2 + Rnd * 10 - 5
            .dblY = picField.ScaleHeight / 2 + Rnd * 10 - 5
'            .dblX = picField.ScaleWidth / 2 + Rnd * 3 - 2
'            .dblY = picField.ScaleWidth / 2 + Rnd * 3 - 2
'            .lngColorR = (lngIndex * 20) Mod 256
            .lngColorG = .dblMass
'            .lngColorB = (lngIndex * 20) Mod 256
        End With
    Next

    With bi24BitInfo.bmiHeader
        .biBitCount = 32
        .biCompression = BI_RGB
        .biPlanes = 1
        .biSize = Len(bi24BitInfo.bmiHeader)
        .biWidth = picField.ScaleWidth
        .biHeight = picField.ScaleHeight
    End With
    arAtoms(1).dblMass = 255
    arAtoms(1).lngColorR = 255
    
    ReDim arPixels(1 To bi24BitInfo.bmiHeader.biWidth * bi24BitInfo.bmiHeader.biHeight * 4)
    PIXELS_COUNT = UBound(arPixels)
End Sub

Private Sub DrawAtoms()
Dim lngIndex As Long
Dim iBitmap As Long, iDC As Long

    iDC = CreateCompatibleDC(picField.hdc)
    iBitmap = CreateDIBSection(iDC, bi24BitInfo, DIB_RGB_COLORS, ByVal 0&, ByVal 0&, ByVal 0&;)
    SelectObject iDC, iBitmap

    For lngIndex = 1 To ATOMS_COUNT
        With arAtoms(lngIndex)
            If CLng(.dblX) > 0 And CLng(.dblY) > 0 And CLng(.dblX) < bi24BitInfo.bmiHeader.biWidth And CLng(.dblY) < bi24BitInfo.bmiHeader.biHeight Then
                arPixels((bi24BitInfo.bmiHeader.biWidth * CLng(.dblY) + CLng(.dblX)) * 4 + 3) = .lngColorR
                arPixels((bi24BitInfo.bmiHeader.biWidth * CLng(.dblY) + CLng(.dblX)) * 4 + 2) = .lngColorG
                arPixels((bi24BitInfo.bmiHeader.biWidth * CLng(.dblY) + CLng(.dblX)) * 4 + 1) = .lngColorB
            End If
        End With
    Next

    SetDIBitsToDevice picField.hdc, 0, 0, bi24BitInfo.bmiHeader.biWidth, bi24BitInfo.bmiHeader.biHeight, 0, 0, 0, bi24BitInfo.bmiHeader.biHeight, arPixels(1), bi24BitInfo, DIB_RGB_COLORS
    ;DeleteDC iDC
    ;DeleteObject iBitmap
End Sub

Public Sub MoveAtoms()
Dim lngIndex As Long, lngIndex2 As Long
Dim dblXC As Double, dblYC As Double
Dim u As Double, F As Double
    For lngIndex = 1 To ATOMS_COUNT
        With arAtoms(lngIndex)
            If CLng(.dblX) > 0 And CLng(.dblY) > 0 And CLng(.dblX) < bi24BitInfo.bmiHeader.biWidth And CLng(.dblY) < bi24BitInfo.bmiHeader.biHeight Then
                arPixels((bi24BitInfo.bmiHeader.biWidth * CLng(.dblY) + CLng(.dblX)) * 4 + 3) = 0
                arPixels((bi24BitInfo.bmiHeader.biWidth * CLng(.dblY) + CLng(.dblX)) * 4 + 2) = 0
                arPixels((bi24BitInfo.bmiHeader.biWidth * CLng(.dblY) + CLng(.dblX)) * 4 + 1) = 0
            End If
            .dblX = .dblX + .dblXK
            .dblY = .dblY + .dblYK
            For lngIndex2 = 1 To ATOMS_COUNT
                If lngIndex <> lngIndex2 Then
                    dblXC = .dblX - arAtoms(lngIndex2).dblX
                    dblYC = .dblY - arAtoms(lngIndex2).dblY
                    If (Abs(Round(.dblX)) < 0.00001) And (Abs(Round(.dblY)) < 0.00001) Then
                    Else
'                        F = .dblMass * arAtoms(lngIndex2).dblMass / (Sqr(.dblX ^ 2 + .dblY ^ 2) + 1)
'                        Sqr ((2 - 2) ^ 2 + (1 - 2) ^ 2)
'                        F = Sqr((.dblX - arAtoms(lngIndex2).dblX) ^ 2 + (.dblY - arAtoms(lngIndex2).dblY) ^ 2)
                        F = Sqr((.dblX - arAtoms(lngIndex2).dblX) ^ 2 + (.dblY - arAtoms(lngIndex2).dblY) ^ 2)
                        .dblXK = .dblXK + F * Cos(dblXC) / arAtoms(lngIndex2).dblMass
                        .dblYK = .dblYK + F * Sin(dblYC) / arAtoms(lngIndex2).dblMass
                    End If
                End If
            Next
        End With
    Next
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    End
End Sub

Или просто зацените. Я добился очень быстрой скорости работы. Без всяких SetPixel'ей и PSet'ов =)
Вся проблема в заимодействии частиц между собой, они не "магнитятся" =/

ЗЫ
"http://zagzag.nm.ru/Amazing physics - Антигравитация!.flv" (3,32 МБ)
"http://zagzag.nm.ru/Anti-gravity (magnetic toy) - Реальноая антигравитация в дом условиях!.flv" (637 КБ)
Плеер для этих файлов (YouTube) http://zagzag.nm.ru/flvplayer_setup.exe (1,11 МБ)

КТО-НИБУДЬ КАЧАЛ? Меня впечатлило =)
Файлы доступны. Если по ссылкам все же не качается, то http://zagzag.nm.ru - листинг директории открыт

Ответить

Номер ответа: 25
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #25
Добавлено: 24.05.07 13:31
Эйнштейн в ОТО сказал
Пойми же, нет никакого глобального времени так же, как нет никакого шарика-электрона, который существует в одном месте и с определенным импульсом, просто растяпы-физики не могут никак его засечь.
Ролик с антигравитацией обсуждали на форуме МГУ. Судя по комментам - говно :)

Ответить

Номер ответа: 26
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #26
Добавлено: 24.05.07 14:38
Да есть у него и позиция и момент, тока "растяпы-физики не могут никак [их] засечь" с точностью больше чем h/2pi

Да кстати, курпускулярная теория света, конечно, интересна, но вот до Де Брой-ского гипотезиса о волновой природы частиц ей далеко :) И ведь подтвердили! Когда пропустили поток электронов через узкую щель и наблюдали такую же картину как и со светом

Ответить

Номер ответа: 27
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #27 Добавлено: 24.05.07 20:14
Судя по комментам - говно

Зря. Дай ссылу.

Ответить

Номер ответа: 28
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #28
Добавлено: 25.05.07 12:45
Нету у него ни позиции, ни момента, а есть волновое уравнение.
Ссылку не дам, нефиг вам секретный форум МГУ читать :)

Ответить

Номер ответа: 29
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #29 Добавлено: 25.05.07 14:51
Ясно, буду Гуглю мучить =) Типа: allintitle:МГУ форум

Ответить

Номер ответа: 30
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #30
Добавлено: 25.05.07 16:09
Хехе, МГУшники знают, что такое robots.txt :)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам