Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
6 / 5 / 1
Регистрация: 02.02.2019
Сообщений: 218
1

Солнечная система

09.02.2020, 22:28. Показов 4084. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Задача в том чтобы сделать рабочий макет солнечной системы. С расположением планет и их скоростью я сам разберусь. Самое сложное заставить их следовать по кругу.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2020, 22:28
Ответы с готовыми решениями:

Солнечная система
Добрый день уважаемые форумчане! Для получения зачета дали задание "Модель Солнечной системы"...

Солнечная система Qt
Подскажите как реализовать солнечную систему на Qt. Может есть какие-то наработки? Буду очень...

солнечная система
прикрепляю архив с проэктом, прога рабочая, но нужно сделать, чтобы солнце тоже вращалось

Солнечная система (с ошибкой)
Друг принес курсач не могу разобраться выдаешь ошибку( 201 ),буду очень благодарен если поможете с...

6
help
4486 / 4088 / 812
Регистрация: 13.04.2015
Сообщений: 8,942
10.02.2020, 00:54 2
Лучший ответ Сообщение было отмечено Дима Бебешко как решение

Решение

Например
Солнечная система

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Public Class Form1
    Dim bmp As Bitmap, g As Graphics, Sol As mySol, Planet() As myPlanet, countPlanet As Integer
    Private Sub DrawSolSystem()
        PrepareGraph()
        g.FillEllipse(Brushes.Yellow, Sol.P.X, Sol.P.Y, Sol.Size, Sol.Size)
        For i As Integer = 0 To countPlanet - 1
            Planet(i).Move()
            g.FillEllipse(New SolidBrush(Planet(i).Col), Planet(i).P.X, Planet(i).P.Y, Planet(i).Size, Planet(i).Size)
        Next
        Me.PictureBox1.BackgroundImage = bmp
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Enabled = Not Timer1.Enabled
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Init()
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        DrawSolSystem()
    End Sub
    Private Sub PrepareGraph()
        bmp = New Bitmap(PictureBox1.Width, PictureBox1.Height, Imaging.PixelFormat.Format32bppPArgb)
        g = Graphics.FromImage(bmp)
        g.TranslateTransform((bmp.Width) / 2, (bmp.Height) / 2)
        Me.PictureBox1.BackgroundImageLayout = ImageLayout.Center
        g.Clear(Color.Black)
    End Sub
    Private Sub Init()
        PictureBox1.BackColor = Color.Black
        countPlanet = 10 'Количество планет
        ReDim Planet(countPlanet - 1)
        Sol = New mySol
        Randomize()
        For i As Integer = 0 To countPlanet - 1
            Planet(i) = New myPlanet
            Planet(i).Name = " № " & (i + 1)
            Planet(i).Dist = i * 10 + 50
            Planet(i).Col = Color.FromArgb(0, Int(Rnd() * 100 + 150), Int(Rnd() * 100 + 150))
            Planet(i).Speed = Rnd() * 2 + 2
            Planet(i).Angle = Int(Rnd() * 360)
            Planet(i).Size = Int(Rnd() * 8 + 8)
        Next
    End Sub
End Class
Class mySol
    Public Size As Integer = 30 'Размер
    Public P As Point = New Point(0, 0) 'положение солнца или планеты
    Public Col As Color = Color.Yellow  'Цвет
End Class
Class myPlanet
    Inherits mySol
    Public Speed As Double ' Скорость вращения
    Public Dist As Double  ' Дистанция от Солнца
    Public Angle As Double ' Угол поворота
    Public Name As String  ' Имя
    Public Sub Move()
        If Angle <= 360 Then Angle += Speed Else Angle = Speed ' :AngleSp = AngleSp + 5 
        P.X = Math.Cos(6.28 / 360 * Angle) * Dist
        P.Y = Math.Sin(6.28 / 360 * Angle) * Dist
        ' xsp = P.X + Math.Cos(6.28 / 360 * AngleSp) : ysp = P.Y + Math.Sin(6.28 / 360 * AngleSp)
    End Sub
End Class
1
help
4486 / 4088 / 812
Регистрация: 13.04.2015
Сообщений: 8,942
10.02.2020, 09:21 3
Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

Если присобачить названия планет, кольца, спутники и т.п., то вообще красота будет, особенно в движении.
Миниатюры
Солнечная система  
Вложения
Тип файла: rar WindowsApplication1.rar (11.5 Кб, 121 просмотров)
2
261 / 213 / 53
Регистрация: 01.08.2016
Сообщений: 825
10.02.2020, 10:36 4
I can, Смотрится действительно хорошо вот только орбиты у планет не являются окружностью а элептические т.есть в форме элипса. Я понимаю что целью данного приложения было просто показать движение каких то рисунков а не точное воспроизведение движения и расположения планет в нашей солнечной системе.
0
help
4486 / 4088 / 812
Регистрация: 13.04.2015
Сообщений: 8,942
10.02.2020, 10:51 5
Цитата Сообщение от andrsh Посмотреть сообщение
элептические т.есть в форме элипса.
andrsh, я больше скажу, они еще и не в одной плоскости крутятся

Короче, кому не нравится, тот может сделать что-то своё, показать, а я покритикую. А если не может, то пусть идёт лесом, мелкими шагами.
1
6 / 5 / 1
Регистрация: 02.02.2019
Сообщений: 218
10.02.2020, 16:01  [ТС] 6
Спасибо)
0
2096 / 1506 / 391
Регистрация: 26.06.2017
Сообщений: 4,315
11.02.2020, 23:00 7
Вот решение для движения по эллипсу в полярных координатах.
Чуть меняем метод Move в проге I can и всё.
1
11.02.2020, 23:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2020, 23:00
Помогаю со студенческими работами здесь

GLScene Солнечная система
Помогите пжлст. Не могу понять, как сделать, чтобы вокруг земли вращалась луна.(две сферы) Если...

Солнечная система, OpenGL
Добрый вечер! у меня есть проект солнечной системы на opengl. проблема вот в чем: мне нужно ,чтобы...

Солнечная система наша?
Я тут задумался над вопросом: А солнечная система наша? Что вы об этом думаете?

Солнечная система OpenGl
Нужна помощь. Может у кого то есть программа на OpenGl, моделирующая солнечную систему?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru