Изучить C# на Mac?

Значение PI неверно:

..., PI = 3.14314159; // 3.14159... ?

После исправления этого давайте проверим значения alpha во внешнем цикле для lVertical = 8:

int lVertical = 8;
GLfloat radius = 3, alpha, beta, PI = 3.141592654;

for (alpha = 0.0; alpha < PI; alpha += PI / lVertical)
{
    printf("%f, %f\n", alpha, alpha + PI / lVertical);
}

Вывод:

0.000000, 0.392699
0.392699, 0.785398
0.785398, 1.178097
1.178097, 1.570796
1.570796, 1.963495
1.963495, 2.356194
2.356194, 2.748893
2.748893, 3.141593
3.141593, 3.534292 <<

3.534292 больше, чем PI, что означает, что это недопустимое значение для alpha. Эффект заключается в том, что последнее многоугольное кольцо «складывается» вокруг, создавая часть, которой там быть не должно.

Лучше рассчитать углы напрямую из целочисленного индекса:

for (int i = 0; int i < lVertical; i++)
{
    GLfloat alpha1 = (PI / lVertical) * i;
    GLfloat alpha2 = (PI / lVertical) * (i + 1);

    glBegin(GL_TRIANGLE_STRIP);

    for (int j = 0; j < lHorizontal; j++)
    {
        GLfloat beta1 = (PI / lHorizontal) * j;
        GLfloat beta2 = (PI / lHorizontal) * (j + 1);

        glColor3f(1, 1, 0);
        x = radius * cos(beta1)*sin(alpha1);
        y = radius * sin(beta1)*sin(alpha1);
        z = radius * cos(alpha1);

        glNormal3f(x, y, z);
        glVertex3f(x, y, z);

        glColor3f(0, 1, 1);
        x = radius * cos(beta2)*sin(alpha2);
        y = radius * sin(beta2)*sin(alpha2);
        z = radius * cos(alpha2);

        glNormal3f(x, y, z);
        glVertex3f(x, y, z);
    }

    glEnd();
}
16
задан kal 10 January 2009 в 20:10
поделиться

6 ответов

Не означая указывать очевидное и упускать суть, если Вы имеете в виду компьютер Mac, а не Mac OS, Вы могли бы установить bootcamp или использовать параллели, чтобы запустить Windows на Mac и затем использовать Visual Studio (существуют также бесплатные версии Visual Studio),

10
ответ дан 30 November 2019 в 21:46
поделиться

Ну, Вы могли также попробовать Silverlight...

Pro:

  • Это - официальная реализация Microsoft, таким образом, это, более вероятно, будет работать
  • Его поддержка недавнего материала как C# 3.0 намного лучше

Довод "против":

  • Это только для браузера, приложения Silverlight не работают автономный
  • Вы не получите целую Библиотеку классов.NET, только подмножество, таким образом, это будет несколько ограничено
  • Вы не получите Visual Studio на Mac

Для IDE я предлагаю Инструменты Eclipse для Microsoft Silverlight (по-видимому, это только для Windows в данный момент), необходимо использовать MonoDevelop или SharpDevelop или что-то как этот.

3
ответ дан 30 November 2019 в 21:46
поделиться

Я пошел бы путем виртуализации, или Параллели или VMware Fusion. Оба выполнят Windows XP и Visual Studio очень хорошо на современном Mac. Windows имеет лучшие инструменты для.NET и разработки C#, и это только делает для использования их, особенно когда Вы только начинаете.

1
ответ дан 30 November 2019 в 21:46
поделиться

Да, моно действительно Ваша единственная опция, если некоторый старшекурсник где-нибудь не разработал некоторую очень экспериментальную вещь, я не знаю о. Что касается IDE, хорошо я верю единственной вещи половина пути, стабильного, который будет работать правильно теперь на Mac OS X, Моноразработайте:

http://tirania.org/blog/archive/2008/Feb-07-2.html

Я имею в виду, Вы могли выполнить Параллели и разработать Ваш код Windows VM с Visual Studio и, пока Вы следуете определенным инструкциям о мобильности, Вы могли использовать VS для разработки моно приложений. Хотя, Вы, вероятно, могли бы также познакомиться с, Моноразрабатывают. Было бы интересно видеть, портируется ли SharpDevelop когда-нибудь.

6
ответ дан 30 November 2019 в 21:46
поделиться

Моно в значительной степени Ваш единственный маршрут прямо сейчас, хотя существуют непрерывные слухи (я не много думал бы о них, хотя), который Microsoft планирует на порт C# to Mac в будущем. Я был бы очень удивлен, произошло ли это, все же.

Что касается IDE, я не могу помочь там... Если я хочу C#, я придерживаюсь Visual Studio (выполните его через Параллели или BootCamp, если Вы действительно хотите использовать VS).

Править: Как Graham указывает, существует Cocoa#, но я предостерег бы, что просто, потому что проект остановился, и вряд ли будет много будущего для него. :(

1
ответ дан 30 November 2019 в 21:46
поделиться

Virtual Box - моя новая любимая программа для виртуальных машин с открытым исходным кодом (то есть бесплатная). Не платите за Parallels. Кроме того, с BootCamp вам необходимо перезагрузить компьютер, чтобы переключаться между Windows и OS X, поэтому Virtual Box - это лучший вариант.

1
ответ дан 30 November 2019 в 21:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: