-1

私は、その年の日に応じて、太陽から地球までの距離を返すインスタンスを持っています。今日の日付を内部で計算するため、自己完結型です。しかし、私はそれを変更したいので、その年の日付を整数として渡します。これを行う最善の方法は何ですか?オプションはありますか?

-(double) calculateDistranceFromSun
{
    // Calculate Day of the Year
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSUInteger dayOfYear = [gregorian ordinalityOfUnit:NSDayCalendarUnit inUnit:NSYearCalendarUnit forDate:[NSDate date]];
    setDayOfYear = dayOfYear;
     // Source: curious.astro.cornell.edu/question.php?number=582
    double Rad2Deg       = Pi/180;
    double Theta         = (dayOfYear/(DaysInYear/360)*Rad2Deg);
    double CC            = cos(Theta);
    setDistanceFromSun   = SemiMajorAxis*(1-pow(Eccentricy,2))/(1+Eccentricy*CC);
    return setDistanceFromSun;
}
4

1 に答える 1

1
-(double) calculateDistranceFromSunWithDate:(NSDate *)date
{
    // Calculate Day of the Year
    NSUInteger dayOfYear = [gregorian ordinalityOfUnit:NSDayCalendarUnit inUnit:NSYearCalendarUnit forDate:date];
    setDayOfYear = dayOfYear;
     // Source: curious.astro.cornell.edu/question.php?number=582
    double Rad2Deg       = Pi/180;
    double Theta         = (dayOfYear/(DaysInYear/360)*Rad2Deg);
    double CC            = cos(Theta);
    setDistanceFromSun   = SemiMajorAxis*(1-pow(Eccentricy,2))/(1+Eccentricy*CC);
    return setDistanceFromSun;
}
于 2013-07-11T07:36:34.960 に答える