Hi there,
I’m doing a program that shows both points and text in a colored-spiral:
Now I’m trying to get letters/text to alternate with the points in the spiral. Problem is how do I set this up? How do I get text to go into the spiral along with the points?
Here is the code, just copy and paste, then run to see how it works. Certain code I commented out in regards to using “String” and “text” and it wasn’t really working.
Any suggestions are great. PLEASE!!!
import java.awt.*;
import java.awt.event.*;
import net.java.games.jogl.*;
import net.java.games.jogl.util.*;
//Color-Blended Five-Sided Polygon Program
public class Color
{
public static void main(String[] args)
{
Frame frame = new Frame("Spiral");
GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(new GLCapabilities());
canvas.addGLEventListener(new Renderer());
frame.add(canvas);
frame.setSize(400, 300);
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
frame.show();
canvas.requestFocus();
}
static class Renderer implements GLEventListener, KeyListener
{
public void display(GLDrawable gLDrawable)
{
final GL gl = gLDrawable.getGL();
final GLU glu = gLDrawable.getGLU();
// final GLUT glut = new GLUT();
float [][] CLUT ={{1.0f,0.0f,0.0f},{1.0f,0.5f,0.0f},{1.0f,1.0f,0.0f},
{0.0f,1.0f,0.0f},{0.0f,0.0f,1.0f},{1.0f,0.0f,1.0f},
{0.5f,0.0f,0.5f}, {1.0f,0.0f,0.5f}};
// String [] fonts = { "T", "B","R", "P","H","F"};
gl.glClear (GL.GL_COLOR_BUFFER_BIT); // Set display window to color.
gl.glMatrixMode (GL.GL_MODELVIEW);
gl.glLoadIdentity();
double x = 0.0, y = 0.0, r=0.0, rad,ang=0.0;
float point = 0.1f;
//float text1 = 0.1f;
//float text2 = 0.1f;
rad =(Math.PI/180.0);
for (int i=0; i<80; i++){
gl.glPointSize(point);
//gl.glTextSize(text1,text2);
// gl.glRasterPos2d(x,y); // set position
//glut.glutBitmapString(gl, i+2, fonts[i%8]);
x = r*Math.cos(rad*ang);
y = r*Math.sin(rad*ang);
gl.glBegin(GL.GL_POINTS);
gl.glColor3fv(CLUT[i%8]);
gl.glVertex2f((float)x,(float)y);
gl.glEnd();
r+=3.0;
ang+=10.0;
point += 0.3f;
}
}
public void init(GLDrawable gLDrawable)
{
final GL gl = gLDrawable.getGL();
final GLU glu = gLDrawable.getGLU();
gl.glMatrixMode (GL.GL_PROJECTION);
gl.glClearColor (0.0f, 0.0f, 0.0f, 0.0f); //set background to white
glu.gluOrtho2D (-250.0, 250.0, -250, 250.0); // define drawing area
gLDrawable.addKeyListener(this);
}
public void displayChanged(GLDrawable gLDrawable, boolean modeChanged, boolean deviceChanged)
{
}
public void reshape(GLDrawable gLDrawable, int x, int y, int width, int height)
{
}
public void keyPressed(KeyEvent e)
{
if (e.getKeyCode() == KeyEvent.VK_ESCAPE)
System.exit(0);
}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
}
}
Help! Again, any suggestions will be great! Thanks!