Java dessine un cercle et des lignes sur Swing

Je suis en train de dessiner un cercle avec un aléatoire centre à l'intérieur une grande plus grande surface circulaire. (Je suis en train d'essayer de simuler un homme et sa vue à l'intérieur d'une chambre!) J'ai besoin de tirer une ligne aléatoire (appelons-la ligne1) en passant par son centre de l'intersection avec la surface. line1 ne passe pas forcément le centre de la surface circulaire. J'ai aussi besoin de dessiner deux lignes formant 60 degrés, donnant sur un côté de la ligne1. Quelqu'un peut-il m'aider?

J'ai créé un exemple de ce que j'ai besoin de tirer.

Java dessine un cercle et des lignes sur Swing

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Point;
import java.util.Random;

import javax.swing.JFrame;

public class ShapeTest extends JFrame{
    int width=500;
    int height=500;

     public ShapeTest(){
          setSize(width,height);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setResizable(false);
          setLocationRelativeTo(null);
          setVisible(true);
     }

     public static void main(String a[]){
         new ShapeTest();
     }

     public void paint(Graphics g){
         //Circular Surface
         drawCircleByCenter(g, width/2, height/2, width/2);
         Random r = new Random();
         Point center = new Point();
         center.x=r.nextInt(width/2);
         center.y=r.nextInt(width/2);
         drawCircleByCenter(g, center.x, center.y, width/15);
     }

     void drawCircleByCenter(Graphics g, int x, int y, int radius){
         //g.setColor(Color.LIGHT_GRAY);
         g.drawOval(x-radius, y-radius, 2*radius, 2*radius);
     }
}
Qu'est-ce que la spec. pour le bleu de la ligne en pointillés? Est-il passer par le centre de de petits et de grands cercles? Ce qui détermine la ligne de centre de la verdure des lignes en pointillés? Est-il perpendiculaire au bleu pointillé? Quelle est votre question?
La ligne bleue passe par le centre de bleu, pas la plus grande surface. Il devrait être établi entre son intersection avec la plus grande surface. Il n'est PAS perpendiculaire à l'autre des lignes vertes. Les deux lignes vertes de 60 degrés. J'essaie de montrer à un homme de vision.
"La ligne bleue passe par le centre de bleu, pas la plus grande surface" OK j'arrive, mais il y a une infinité de segments de ligne (chaque arrêt à la limite de la grand cercle), qui passent tous par le centre du plus petit cercle. De la réduire à un seul, nous avons besoin d'un 2ème point par lequel la ligne passe aussi. Ce n'est que le 2ème point? ..
.. "Il n'est PAS perpendiculaire à l'autre des lignes vertes. Les deux lignes vertes de 60 degrés." Bien euh.. C'est évident, mais ne se rapportent pas à ce que je leur demandais. Si vous avez traversé l'angle de 60 degrés et a dessiné une ligne, serait de la ligne perpendiculaire à la ligne bleue?
Oh, oui! Que serait un vecteur normal perpendiculaire à la ligne bleue. Désolé pour le malentendu 🙂

OriginalL'auteur Tina J | 2014-03-22