Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
1

Вычисление положения солнца

06.09.2009, 15:59. Показов 2719. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, вот решил написать небольшую программу для вычисления положения солнца. Но возникла проблема имееться формула примерно такого типа:

L=A*cos(fi)+B*sin(fi)+C*cos(fi)+D*sin(fi)
и имееться тексотвый файл где прописаны значения переменных A,B,C,D примерно так:
A B C D
12 56 54 45
12 65 12 21
465 45 455 21
78 54 54 87
456 54 78 857

Как реализовать вычисление формулы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2009, 15:59
Ответы с готовыми решениями:

Устройство слежения положения солнца
Добрый день помогите пож-та новичку, как нарисовать следующую схему в SPlan(незнание внешнего вида...

Вычисление положения равновесия зарядов на окружности
Здравствуйте. Возникла проблема со следующей задачей: На окружности единичного радиуса с центром в...

Вычисление дуги сферы, если известны положения двух точек и радиус
B первой строке действительное число - радиус планеты, над которой Вы летите (не более 10 000). ...

Вычисление положения точек относительно вектора направления, зная координаты точки и угол
Здравствуйте! Разрабатываю игру, в игре есть точка с определенными координатами и направление...

9
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
06.09.2009, 16:19 2
а чему равно fi?
0
149 / 50 / 3
Регистрация: 21.12.2008
Сообщений: 960
06.09.2009, 17:04 3
1.618
Artemis, Как реализовать вычисление формулы?
а что не понятного???
0
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
06.09.2009, 17:10  [ТС] 4
fi-константа, и задаёться пользователем. Я не могу понять как мне сделать считывать построчно каждое значение переменной?
0
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
06.09.2009, 17:20 5
A B C D
это символы записаные в файле, которые задают порядок следования данных?
0
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
06.09.2009, 17:21  [ТС] 6
Да
0
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
06.09.2009, 17:40 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   
char Lvar[4];
int A,B,C,D; // float??
//-------------------------
 
 ifstream input("sun.dat");
    for (i=0; i<4; i++) input>>Lvar[i];
 
    for (i=0; i<4; i++){//этот цикл читает значения в переменную, можно и через switch
if (Lvar[i]=='A') input>>A;
if (Lvar[i]=='B') input>>B;
if (Lvar[i]=='C') input>>C;
if (Lvar[i]=='D') input>>D;
}//Если данные в файле внесены не корректно - работать не будет.
1
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
06.09.2009, 18:57  [ТС] 8
Спасибо буду пробывать.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
06.09.2009, 19:48 9
Вариант на С
C
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
 
#define FI 1.618
 
/* чё-то там про солнце */
 
int main(){
    char *file_name = "test.txt";
    FILE *inp;
    int A, B, C, D;
    double L;
    char buf[BUFSIZ];
    
    if ( (inp = fopen(file_name, "r")) == NULL ){
        printf("Can't open file %s\n", file_name);
        exit(1);
    }
    
    while ( fgets(buf, BUFSIZ, inp) ){
        if ( !isdigit(*buf) )
            continue; /* пропустить строку, если первый же символ не цифра. не самая надёжная проверка ;) */
        if ( sscanf(buf, "%d %d %d %d", &A, &B, &C, &D) != 4 ){
            printf("Wrong file format!\n");
            exit(1);
        }
        
        L = (double)A * cos(FI) + (double)B * sin(FI) + (double)C * cos(FI) + (double)D * sin(FI);
        printf("A = %3d B = %3d C = %3d D = %3d L = %lf\n", A, B, C, D, L);
    }
    fclose(inp);
    exit(0);
}
Добавлено через 14 минут
Просто из любопытства: а что все эти цифры значат?
1
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
06.09.2009, 21:05  [ТС] 10
Там гороздно больше "цифирек" они учитывают прецессию, нутацию и т.д служат для получения наибольшей точности, можно конечно и без них обойтись, но мне нужна точность МАЕ поэтому приходиться заниматься вознёй, а прогу хочу написать для решения астрономических задач на судне.
0
06.09.2009, 21:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2009, 21:05
Помогаю со студенческими работами здесь

Создать модель движения Солнца вокруг орбиты, Земли вокруг Солнца, Луны вокруг земли
Вот есть набросок, что дальше? :help: Const pi = 3.14 Dim intRev As Single Private Sub...

Анимация Солнца
Нужно нарисовать анимацию солнца в паскале, нужно чтобы оно крутилось и калапсировало. (сжималось и...

Лучи солнца
Нужно написать программу-открытку с использованием анимации.Решил нарисовать солнце,встающее из-за...

Звездолёт уходит от Солнца
На огромной скорости звездолет покидает Солнечную систему и уходит от Солнца. Согласно формулам...


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

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