2016-11-04 2 views
0

Я проверил все другие вопросы, связанные с этим, и они мне не помогли. Я не пытаюсь сделать дублированный вопрос. Мне нужно создать круг в java, используя строки (9, чтобы быть точным для этого im, работающего прямо сейчас). FormulaСоздание круга с использованием строк в java

int points = 9; 
int r = 100; 
float originX = width/2+r; 
float originY = height/2; 
float angle1; 
float angle2; 

void setup() { 
    size(500, 500); 
} 

void draw() { 
    for(int i=0; i < points;++i) { 
     angle1 = i * 2 * PI/points; 
     angle2 = i * 2 * PI/points; 
     line(originX + r * cos(angle1), originY + r * sin(angle1), 
      originX + r * cos(angle2), originY + r * sin(angle2)); 
    } 
} 

То есть формула и я знаю длина окружности круга составляет 2PI радиан поэтому я использовал (2*pi)/9 как мой тета для обоих. Мой текущий код расположен выше.

Может кто-нибудь сказать мне, как заставить это работать?

+0

Пожалуйста, просто добавьте свой код и формулу в тексте, а не ссылки на ГИМ. Также, пожалуйста, объясните, в чем проблема; что он делает/не делает это неожиданно? – ChiefTwoPencils

+0

Прошу прощения. Я не очень хорошо знаком с этим сайтом. Я только начал его использовать, и я тоже торопился, поэтому я разместил их как картинки. Предполагается, что программа будет выглядеть так: http://puu.sh/s5WxM/621d92ae96.jpg (это должно быть изображение, очевидно: p) в настоящее время он создает несколько неуклюжих линий и делает совсем не то, в чем я нуждаюсь. –

+1

Просто пытаюсь помочь вам получить помощь. Код на изображении не является полным (т. Е. Не будет компилироваться). Добавление ссылки на img, являющееся img, прекрасно, но если вы разместите фактический текстовый код, люди могут и будут запускать его на своих собственных машинах и вам помочь. – ChiefTwoPencils

ответ

0

В настоящее время вы рисуете спицы колеса, а не по окружности. Для этого нужно нарисовать линию от г-го пункта к (I + 1) -й точки

for(int i=0; i < points;++i) { 
    angle1 = i * 2 * Pi/points; 
    angle2 = (i+1) * 2 * Pi/points; 
    line(OriginX + r * cos(angle1), OriginY + r * sin(angle1), 
     OriginX + r * cos(angle2), OriginY + r * sin(angle2)) ; 
} 
+0

Что касается угла1 и угла2? –

+0

Это то, что я получаю после внедрения и запуска кода http://puu.sh/s5Wmn/d157241c42.png –

+1

Я понял, почему это может быть Salix. В коде, который вы указали angle1 и angle2, равны –