نمایش نتایج 1 تا 10 از 10

نام تاپیک: محاسبه اوقات شرعی

  1. #1
    کاربر دائمی آواتار Mr'Jamshidy
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    Network
    پست
    994

    محاسبه اوقات شرعی

    سلام

    آقا من بعد از کلی جستجو تو اینترنت وقتی که دیگه کلا نا امید بودم این کد رو برای محاسبه اوقات شرعی به زبان ویبی پیدا کردم و با یکم دستکاری برای دات نت قابل استفاده،

    اما مشکل اینجاست که این کد نسبت به سایت www.Owghat.com در بعضی موارد 1 تا 2 دقیقه اختلاف داره که البته زیاد مهم نیست ولی اگر حل بشه خیلی بهتره

    و مشکل دوم اینه که

    اذان صبح: دارد
    طلوع خورشید: دارد
    اذان ظهر: دارد
    اذان عصر: ندارد
    غروب خورشید: دارد
    اذان مغرب: دارد
    نیمه شب شرعی: ندارد

    اینا رو چی کار کنم؟
    کلی تو همین فروم گشتم ولی یا چیز به درد بخوری نبود یا همه لینک ها خراب شده بود
    من هم نمیتونم محاسبه کنم و خودم برای الگوریتم بنویسم

    دیگه اگر لطف کنید ممنون میشم

    یا حق

    -------

    کد:
    Module Owghat
    Private lgs() = {0, 49.7, 48.3, 45.07, 51.64, 48.68, 46.42, 57.33, 56.29, 50.84, 59.21, 46.28, 51.41, 48.34, 49.59, 60.86, 48.5, 53.06, 53.39, 47, 50.86, 52.52, 50, 50.88, 57.06, 47.09, 54.44, 59.58, 48.52, 51.59, 54.35}
    Private lats() = {0, 34.09, 38.25, 37.55, 32.68, 31.32, 33.64, 37.47, 27.19, 28.97, 32.86, 38.08, 35.7, 33.46, 37.28, 29.5, 36.68, 36.57, 35.58, 35.31, 32.33, 29.62, 36.28, 34.64, 30.29, 34.34, 36.84, 36.31, 34.8, 30.67, 31.89}

    Private Structure Behzad
    Dim XX As Double
    Dim YY As Double
    End Structure

    Structure TimeFormat
    Dim Hour_ As Double
    Dim Minute_ As Double
    End Structure

    Structure RetTimeStr
    Dim Azan_Hobh As [String]
    Dim Tolooe_Khorshid As [String]
    Dim Azane_Zohr As [String]
    Dim Ghoroobe_Khoeshid As [String]
    Dim Azan_Maghreb As [String]
    End Structure

    Structure RetTime
    Dim Azan_Hobh As TimeFormat
    Dim Tolooe_Khorshid As TimeFormat
    Dim Azane_Zohr As TimeFormat
    Dim Ghoroobe_Khoeshid As TimeFormat
    Dim Azan_Maghreb As TimeFormat
    Dim StringVersion As RetTimeStr
    End Structure

    Const PI As Double = 3.14159265358979

    Function ProcessALL(m As Double, d As Double, lg As Double, lat As Double) As RetTime
    'Latitude, Longitude
    Dim ep As Behzad, zr As Double, delta As Double, ha As Double
    Dim t1 As Double, t2 As Double, t3 As Double, t4 As Double
    Dim Result As RetTime

    m = m + 1
    d = d + 1
    ep = sun(m, d, 4, lg)
    zr = ep.XX
    delta = ep.YY
    ha = loc2hor(108, delta, lat)
    t1 = rRound(zr - ha, 24)
    ep = sun(m, d, t1, lg)
    zr = ep.XX
    delta = ep.YY
    ha = loc2hor(108, delta, lat)
    t1 = rRound(zr - ha, 24)
    Result.Azan_Hobh = hms2(t1)
    Result.StringVersion.Azan_Hobh = hms(t1)
    '
    ' t2= Sun rise
    '
    ep = sun(m, d, 6, lg)
    zr = ep.XX
    delta = ep.YY
    ha = loc2hor(90.833, delta, lat)
    t2 = rRound(zr - ha, 24)
    ep = sun(m, d, t2, lg)
    zr = ep.XX
    delta = ep.YY
    ha = loc2hor(90.833, delta, lat)
    t2 = rRound(zr - ha, 24)
    Result.Tolooe_Khorshid = hms2(t2)
    Result.StringVersion.Tolooe_Khorshid = hms(t2)
    '
    ' zr=Zohr
    '
    ep = sun(m, d, 12, lg)
    ep = sun(m, d, ep.XX, lg)
    zr = ep.XX
    Result.Azane_Zohr = hms2(zr)
    Result.StringVersion.Azane_Zohr = hms(zr)
    '
    ' t2= Sun set
    '
    ep = sun(m, d, 18, lg)
    zr = ep.XX
    delta = ep.YY
    ha = loc2hor(90.833, delta, lat)
    t3 = rRound(zr + ha, 24)
    ep = sun(m, d, t3, lg)
    zr = ep.XX
    delta = ep.YY
    ha = loc2hor(90.833, delta, lat)
    t3 = rRound(zr + ha, 24)
    Result.Ghoroobe_Khoeshid = hms2(t3)
    Result.StringVersion.Ghoroobe_Khoeshid = hms(t3)
    '
    ' t2= Maghreb
    '
    ep = sun(m, d, 18.5, lg)
    zr = ep.XX
    delta = ep.YY
    ha = loc2hor(94.3, delta, lat)
    t4 = rRound(zr + ha, 24)
    ep = sun(m, d, t4, lg)
    zr = ep.XX
    delta = ep.YY
    ha = loc2hor(94.3, delta, lat)
    t4 = rRound(zr + ha, 24)
    Result.Azan_Maghreb = hms2(t4)
    Result.StringVersion.Azan_Maghreb = hms(t4)

    Return Result
    End Function

    Public Sub coord(citiIndex As Long, X As Double, Y As Double)
    If citiIndex = 0 Then
    X = 0
    Y = 0
    Else
    X = lgs(citiIndex)
    Y = lats(citiIndex)
    End If
    End Sub

    Private Function sun(m As Double, ByVal d As Double, h As Double, lg As Double) As Behzad
    Dim mm As Double, l As Double, lst As Double, e As Double, omega As Double, ep As Double, ed As Double, u As Double
    Dim v As Double, theta As Double, delta As Double, alpha As Double, ha As Double, zr As Double
    Dim i As Long
    If m < 7 Then
    d = 31 * (m - 1) + d + h / 24
    Else
    d = 6 + 30 * (m - 1) + d + h / 24
    End If
    mm = 74.2023 + 0.98560026 * d
    l = -2.75043 + 0.98564735 * d
    lst = 8.3162159 + 0.065709824 * Floor(d) + 1.00273791 * 24 * mod2(d, 1) + lg / 15
    e = 0.0167065
    omega = 4.85131 - 0.052954 * d
    ep = 23.4384717 + 0.00256 * cosd(omega)
    ed = 180 / PI * e
    u = mm
    For i = 1 To 4
    u = u - (u - ed * sind(u) - mm) / (1 - e * cosd(u))
    Next
    v = 2 * atand(tand(u / 2) * Math.Sqrt((1 + e) / (1 - e)))
    theta = l + v - mm - 0.00569 - 0.00479 * sind(omega)
    delta = asind(sind(ep) * sind(theta))
    '
    alpha = 180 / PI * ATan2(cosd(theta), cosd(ep) * sind(theta))
    '
    If alpha >= 360 Then alpha = alpha - 360
    ha = lst - alpha / 15
    zr = rRound(h - ha, 24)

    sun.XX = zr
    sun.YY = delta
    End Function

    Private Function loc2hor(z As Double, d As Double, p As Double)
    loc2hor = acosd((cosd(z) - sind(d) * sind(p)) / cosd(d) / cosd(p)) / 15
    End Function
    Private Function rRound(X As Double, a As Double)
    Dim tmp As Double
    tmp = mod2(X, a)
    If tmp < 0 Then tmp = tmp + a
    rRound = tmp
    End Function

    Private Function hms(X As Double) As String
    Dim h As Double, mp As Double, m As Double, ss As Double
    Dim s As String
    X = Floor(3600 * X)
    h = Floor(X / 3600)
    mp = X - 3600 * h
    m = Floor(mp / 60)
    ss = Floor(mp - 60 * m)

    If h < 10 Then s = "0" Else s = ""
    s = s & h & ":"
    If m < 10 Then s = s & "0"
    s = s & m & ":"
    If ss < 10 Then s = s & "0"
    s = s & ss

    Return s
    End Function

    Private Function hms2(X As Double) As TimeFormat
    Dim h As Double, mp As Double, m As Double, ss As Double
    Dim s As String, Result As TimeFormat

    X = Floor(3600 * X)
    h = Floor(X / 3600)
    mp = X - 3600 * h
    m = Floor(mp / 60)
    ss = Floor(mp - 60 * m)

    Result.Hour_ = h
    Result.Minute_ = m

    Return Result
    End Function

    Private Function sind(X)
    sind = Math.Sin(PI / 180 * X)
    End Function
    Private Function cosd(X)
    cosd = Math.Cos(PI / 180 * X)
    End Function
    Private Function tand(X)
    tand = Math.Tan(PI / 180 * X)
    End Function
    Private Function atand(X)
    atand = Math.Atan(X) * 180 / PI
    End Function
    Private Function asind(X As Double)
    asind = Math.Asin(X) * 180 / PI
    End Function
    Private Function acosd(X As Double)
    acosd = Math.Acos(X) * 180 / PI
    End Function
    Private Function Floor(X As Double) As Long
    Floor = Int(X)
    End Function
    Private Function ASin(X As Double) As Double
    ASin = Math.Atan(X / Math.Sqrt(-X * X + 1.01))
    End Function
    Private Function ACos(X As Double) As Double
    ACos = Math.Atan(-X / Math.Sqrt(-X * X + 1.01)) + 2 * Math.Atan(1)
    End Function

    Private Function ATan2(ByVal X As Double, ByVal Y As Double) As Double
    On Error Resume Next
    If X = 0 Then
    If Y = 0 Then
    ATan2 = 1 / 0
    ElseIf Y > 0 Then
    ATan2 = PI / 2
    Else
    ATan2 = -PI / 2
    End If
    ElseIf X > 0 Then
    If Y = 0 Then
    ATan2 = 0
    Else
    ATan2 = Math.Atan(Y / X)
    End If
    Else
    If Y = 0 Then
    ATan2 = PI
    Else
    ATan2 = (PI - Math.Atan(Math.Abs(Y) / Math.Abs(X))) * Math.Sign(Y)
    End If
    End If
    End Function
    Private Function mod2(a As Double, b As Double) As Double
    mod2 = a - (b * Int(a / b))
    End Function
    End Module

  2. #2
    کاربر دائمی آواتار Mr'Jamshidy
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    Network
    پست
    994

    نقل قول: محاسبه اوقات شرعی

    عجب!

    یعنی از 40 نفری که تاپیک رو دیدن کسی بلد نبود؟

  3. #3
    کاربر دائمی آواتار zahedi121
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    زیر آسمان خدا
    پست
    293

    نقل قول: محاسبه اوقات شرعی

    سلام
    این تاپیکها را نگاه کنید :
    1 و 2
    یک چند تا توضیح کوچک :
    اذان عصر هم مگر داریم ؟! شاید منظورتون وقتی که مستحبه نماز عصر خونده بشه . اینطور ساعات خیلی اختلافیه ( به روایات بر میگرده ) چون دیگه به نجوم کار نداره.
    نیمه شب شرعی هم اگر به یکی دوتا سایت مراجع عظام تقلید مراجعه کنید متوجه می شوید که در تعریف ( با توجه به اختلاف روایات ) به یک نظر واحد نمی رسید . اینکه وسط غروب آفتاب تا طلوع آفتاب است یا بین اذان مغرب و اذان صبح و ...
    در خصوص یک تا دو دقیقه نمی تونید به نتیجه برسید چون اونهم به تعریفها و برداشت ها بر می گردد ( از تعریفهای علمی مانند قطرها و .. تا تعریفهای روایی ) . شما یک سرچی در خصوص سایتهایی که این اوقات را تعیین می کنند انجام بدید ببینید چند تاشون با هم یک عدد را گذاشتند . برای همین در استفتائی که در اکثر دانشگاهها ( زمان دانشجویی ما که بود !) هست اکثر مراجع عظام نظرشون اینه که یک مقداری احتیاط کنیم یعنی اگر روزه می خواهیم بگیریم یک 5 دقیقه قبل از اذان دست بکشیم و 5 دقیقه بعد از اذان نماز بخونیم.

    شرمنده می دونم تالار برنامه نویسیه ولی خب سوال شرعیه دیگه . چون یک زمانی خیلی دنبال پیدا کردن این موضوع بودم یک مقدار اطلاعات دارم گفتم در اختیار بگذارم. سوالی بود در خدمتیم.
    موفق باشید

  4. #4
    کاربر دائمی آواتار Mr'Jamshidy
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    Network
    پست
    994

    نقل قول: محاسبه اوقات شرعی

    نقل قول نوشته شده توسط zahedi121 مشاهده تاپیک
    سلام
    این تاپیکها را نگاه کنید :
    1 و 2
    یک چند تا توضیح کوچک :
    اذان عصر هم مگر داریم ؟! شاید منظورتون وقتی که مستحبه نماز عصر خونده بشه . اینطور ساعات خیلی اختلافیه ( به روایات بر میگرده ) چون دیگه به نجوم کار نداره.
    نیمه شب شرعی هم اگر به یکی دوتا سایت مراجع عظام تقلید مراجعه کنید متوجه می شوید که در تعریف ( با توجه به اختلاف روایات ) به یک نظر واحد نمی رسید . اینکه وسط غروب آفتاب تا طلوع آفتاب است یا بین اذان مغرب و اذان صبح و ...
    در خصوص یک تا دو دقیقه نمی تونید به نتیجه برسید چون اونهم به تعریفها و برداشت ها بر می گردد ( از تعریفهای علمی مانند قطرها و .. تا تعریفهای روایی ) . شما یک سرچی در خصوص سایتهایی که این اوقات را تعیین می کنند انجام بدید ببینید چند تاشون با هم یک عدد را گذاشتند . برای همین در استفتائی که در اکثر دانشگاهها ( زمان دانشجویی ما که بود !) هست اکثر مراجع عظام نظرشون اینه که یک مقداری احتیاط کنیم یعنی اگر روزه می خواهیم بگیریم یک 5 دقیقه قبل از اذان دست بکشیم و 5 دقیقه بعد از اذان نماز بخونیم.

    شرمنده می دونم تالار برنامه نویسیه ولی خب سوال شرعیه دیگه . چون یک زمانی خیلی دنبال پیدا کردن این موضوع بودم یک مقدار اطلاعات دارم گفتم در اختیار بگذارم. سوالی بود در خدمتیم.
    موفق باشید
    سلام

    نگاه که کردم اما بیشتر گیج شدم قبل از این که پست بدم اون تاپیک ها رو دیده بودم

    والا من نمیدونم اذان عصر هم داریم یا نه من خودم مغرب و عشا شنیده بودم اما عصر نه ولی وقتی این سایت رو دیدم به شک افتادم http://www.owghat.com/

    نه اتفاقا بحث کاملا برنامه نویسیه و هیچ ربطی به شرع و اصل و اصول و فروع و ... نداره

    ممنون

  5. #5
    کاربر دائمی آواتار zahedi121
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    زیر آسمان خدا
    پست
    293

    نقل قول: محاسبه اوقات شرعی

    سلام
    مگه اوقات شرعی بدون شرع هم میشه ؟! مثل اینه که بگیم من میخوام یک نرم افزار درباره تاریخ قاجار بنویسم اصلا هم به این کتابهای تاریخی و مورخان کار ندارم ! به هر حال باید حداقل در تعریف اوقاتی که میخواهید حسابشان کنید به شرع مراجعه کنید. نمیشه نیمه شب شرعی را بدون اینکه بدونیم به چی میگن نیمه شب شرعی محاسبه کرد! میشه ؟!
    بگذریم. برای اینکه مطمئن باشید یک فرمول خاص حتی از نظر علمی نمی تونید پیدا کنید ( چون در بحث نجوم و قطر زمین و مداری که از هر شهر می گذره و .. بین علمای نجوم هم اختلافه ) تصاویر زیر را نگاه کنید ، این تصاویر اوقات شرعی کرمان برای امروز را از سایتهای مختلف نشان میدهد :
    3.jpg
    5.jpg4.jpg1.jpg2.jpg

    چرا اینقدر اعداد مختلفند ؟! اگر فرض کنیم تعریف اوقات یکی باشه ( که نیست ) اختلاف برای نحوه انتخاب مداری که از شهر میگذرد ( مثلا تهران از غرب تا شرق یک افق داره ؟ ) و بحثهای ظریف نجومی باقی می ماند.

    به هر حال امیدوارم بقیه دوستان اهل فن هم شرکت کنند. تا بیشتر یاد بگیریم. همانطور که گفتم من که تقریبا سه چهار ماهی دنبال این موضوع بودم آخر به نتیجه نرسیدم.

    متشکرم - موفق باشید

  6. #6
    کاربر دائمی آواتار Mr'Jamshidy
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    Network
    پست
    994

    نقل قول: محاسبه اوقات شرعی

    اگر فرمول محاسبه "موسسه ژئوفيزيك دانشگاه تهران" باشه هم خوبه
    کسی اونو نداره؟

    -----

    در ضمن من طبق آموزش این سایت رفتم جلو

    http://praytimes.org/wiki/Prayer_Times_Calculation

    آخرش یک نتیجه چرت و پرت تحویلم داد

  7. #7

    نقل قول: محاسبه اوقات شرعی

    من هم با صحبتهای zahedi121 موافقم در لینک زیر هم توضیحاتی هست :
    http://noorcenter.com/index.php/oghat

    اگر فرمول ژئوفیزیک تهران را پیدا کردید من هم نیاز دارم . چون بصورت توافقی الان اون را ملاک می گیرند.

  8. #8

    نقل قول: محاسبه اوقات شرعی

    بسم الله الرحمن الرحیم

    در مورد وقت نماز عصر که فرمودید، بله. از نظر علمای تشیع جدا خواندن نماز های ظهر و عصر و همچنین مغرب و عشا مستحب است. اما از نظر برادران اهل سنت این موضوع واجبه. پس وقت نماز عصر بیشتر برای این عزیزان کاربرد داره.

    در مورد ژئوفیزیک هم، فکر می کنم پارسال بود که پیگیر این قضیه بودم. آخرش با هزار زحمت تونستم با یکی از برنامه نویسای موسسه تبیان صحبت کنم و ایشون گفتند که حتی ژئوفیزیک هم همه اعدادش با فرمول بدست نمیاد. بلکه هر سال با در نظر گرفتن هزار و یک شرط، مثل شرایط آب و هوایی و ... یه مقادیری به اون زمان هایی که از فرمول بدست میاد کم یا اضافه می کنند. چون اگر میشد که فقط با فرمول بدست بیاد، از الان تا حداقل 3 - 4 سال آینده رو میدادن. اما همونطور که میبینید فقط میتونند تا یک سال آینده رو استخراج کنند.

    امیدوارم کمکتون کرده باشم

    و من الله التوفیق ...

  9. #9
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,731

    نقل قول: محاسبه اوقات شرعی

    اذان عصر: ندارد

    نیمه شب شرعی: ندارد

    اینا رو چی کار کنم؟
    چیزی به نام اذان عصر که نداریم , اما نیمه شب شرعی رو باید بر اساس تعریف شرعی اون محاسبه کرد.
    نيمه شب شرعي نصف مابين غروب آفتاب و طلوع صبح است(استفتائات)
    بر این اساس, می تونید غروب آفتاب رو تا اذان صبح محاسبه کرده و مقدارش رو به حسب دقیقه نصف کنید و به اذان مغرب بیفزایید.
    فرض کنید که غروب , ساعت 6:30 دقیقه و اذ ان صبح ساعت 5:17 دقیقه باشد, بر این اساس, مجموع شب می شود :
    کد HTML:
    (12-6.30)+5.17=10:47 
    10:47/2=5:23
    6:30+5:23=11:53
    بنابراین نیمه شب شرعی در این فرض, ساعت یازده و پنجاه و سه دقیقه عصر خواهد بود.
    یک سری هم به این وبلاگم که نرم افزار اوقات شرعی رو قبلا ساختم (با محاسبه نیمه شب شرعی) بندازید و با نتیجه سایت های دیگه مقایسه کنید.

  10. #10
    کاربر دائمی آواتار zahedi121
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    زیر آسمان خدا
    پست
    293

    نقل قول: محاسبه اوقات شرعی

    برای محاسبه دقیق اوقات قبلا صحبت شد ، ولی در خصوص نیمه شب شرعی به تصویر زیر نگاه کنید تا کاملا اختلاف تعاریف مشخص شود ( ضمنا من این تصویر را از یکی از وبلاگهای احکام برداشتم برای اطمینان حتما به سایت مرجع تقلیدتان یا رساله های عملیه مراجعه کنید ) :
    1.jpg
    آخرین ویرایش به وسیله zahedi121 : شنبه 17 فروردین 1392 در 23:49 عصر

تاپیک های مشابه

  1. مبانی محاسبه اوقات شرعی
    نوشته شده توسط itbarnameh2010 در بخش Java ME : نگارش میکرو جاوا
    پاسخ: 2
    آخرین پست: چهارشنبه 26 مرداد 1390, 18:59 عصر
  2. آموزش: برنامه محاسبه اوقات شرعی( برای دانلود)
    نوشته شده توسط rashid1368 در بخش Java ME : نگارش میکرو جاوا
    پاسخ: 13
    آخرین پست: پنج شنبه 14 مرداد 1389, 10:18 صبح
  3. برنامه محاسبه اوقات شرعی جاوا
    نوشته شده توسط Zarghami_A در بخش Java ME : نگارش میکرو جاوا
    پاسخ: 16
    آخرین پست: سه شنبه 08 خرداد 1386, 16:17 عصر
  4. سورس محاسبه اوقات شرعی
    نوشته شده توسط dastiary در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: شنبه 04 آذر 1385, 08:40 صبح
  5. محاسبه اوقات شرعی در php
    نوشته شده توسط alirezador در بخش PHP
    پاسخ: 10
    آخرین پست: یک شنبه 03 اردیبهشت 1385, 00:29 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •