1]. Seconds hand completes 360 degrees in 1 minute.
2]. Minute hand completes 360 degrees in 1 hour.
3]. Hour hand completes 360 degrees in 12 hours.
4]. Set of points traced by circle is given by :
x=cx+r*angle; y=cy+r*angle;
# (cx,cy)=coordinates of centre of circle.
# r= radius.
=> i.e path traced by minute and seconds hands in same.
=>Where as hour hand cover 5 degrees when minute hand sweeps 360 degrees.(360/5=12 used in looping).
......................HAPPY CODING
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import java.applet.Applet;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.util.Random;
public class WallClock extends Applet implements Runnable {
Thread ct= null ;
int cx=330,cy=230,rs=100,rm=75,rh=55,pxs,pys,pxm,pym,pxh,pyh;int ts=0,tm=0,th=0;float cs,cm,ch;
public void start() {
if (ct == null) {
ct = new Thread(this);
ct.start();}}
public void run() {
Thread myThread = Thread.currentThread();
while (ct == myThread) { repaint(); } }
public void paint(Graphics g)
{Font f = new Font("MV Boli",Font.ITALIC,30);
g.setFont(f);
int R = (int)(Math.random()*256);
int G = (int)(Math.random()*256);
int B= (int)(Math.random()*256);
Color c = new Color(R, G, B);
g.setColor(c);
g.drawString("ViswaDeep",460,380);
g.setColor(Color.pink);
g.fillOval(200, 100, 260, 260);
g.setColor(Color.orange);
g.drawOval(199, 99, 262, 262);
g.drawOval(198, 98, 264, 264);
g.drawOval(197, 97, 266, 266);
g.drawOval(196, 96, 268, 268);
Font font = new Font("Arial",Font.BOLD,30);
g.setFont(font);
g.setColor(Color.darkGray);
g.drawString("12", 313, 130);
g.drawString("6", 325, 352);
g.drawString("9", 206, 245);
g.drawString("3", 430, 240);
if(ts%60==0&&ts!=0){tm++;}
cm=(float) (0.105*tm);
pxm = (int) (cx + rm * Math.sin(cm));
pym = (int) (cy - rm * Math.cos(cm));
g.setColor(Color.red);
g.drawLine(cx, cy, pxm, pym);
if(tm%12==0&&tm!=0){if(ts%60==0&&ts!=0){th++;}}
ch=(float) (0.105*th);
pxh = (int) (cx + rh * Math.sin(ch));
pyh = (int) (cy - rh * Math.cos(ch));
g.setColor(Color.BLUE);
g.drawLine(cx, cy, pxh, pyh);
cs=(float) (0.105*ts);
pxs = (int) (cx + rs * Math.sin(cs));
pys = (int) (cy - rs * Math.cos(cs));
g.setColor(Color.black);
g.drawLine(cx, cy, pxs, pys);
try {Thread.sleep(1000);} catch (InterruptedException e){ }
ts++;
}
}
2]. Minute hand completes 360 degrees in 1 hour.
3]. Hour hand completes 360 degrees in 12 hours.
4]. Set of points traced by circle is given by :
x=cx+r*angle; y=cy+r*angle;
# (cx,cy)=coordinates of centre of circle.
# r= radius.
=> i.e path traced by minute and seconds hands in same.
=>Where as hour hand cover 5 degrees when minute hand sweeps 360 degrees.(360/5=12 used in looping).
......................HAPPY CODING
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import java.applet.Applet;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.util.Random;
public class WallClock extends Applet implements Runnable {
Thread ct= null ;
int cx=330,cy=230,rs=100,rm=75,rh=55,pxs,pys,pxm,pym,pxh,pyh;int ts=0,tm=0,th=0;float cs,cm,ch;
public void start() {
if (ct == null) {
ct = new Thread(this);
ct.start();}}
public void run() {
Thread myThread = Thread.currentThread();
while (ct == myThread) { repaint(); } }
public void paint(Graphics g)
{Font f = new Font("MV Boli",Font.ITALIC,30);
g.setFont(f);
int R = (int)(Math.random()*256);
int G = (int)(Math.random()*256);
int B= (int)(Math.random()*256);
Color c = new Color(R, G, B);
g.setColor(c);
g.drawString("ViswaDeep",460,380);
g.setColor(Color.pink);
g.fillOval(200, 100, 260, 260);
g.setColor(Color.orange);
g.drawOval(199, 99, 262, 262);
g.drawOval(198, 98, 264, 264);
g.drawOval(197, 97, 266, 266);
g.drawOval(196, 96, 268, 268);
Font font = new Font("Arial",Font.BOLD,30);
g.setFont(font);
g.setColor(Color.darkGray);
g.drawString("12", 313, 130);
g.drawString("6", 325, 352);
g.drawString("9", 206, 245);
g.drawString("3", 430, 240);
if(ts%60==0&&ts!=0){tm++;}
cm=(float) (0.105*tm);
pxm = (int) (cx + rm * Math.sin(cm));
pym = (int) (cy - rm * Math.cos(cm));
g.setColor(Color.red);
g.drawLine(cx, cy, pxm, pym);
if(tm%12==0&&tm!=0){if(ts%60==0&&ts!=0){th++;}}
ch=(float) (0.105*th);
pxh = (int) (cx + rh * Math.sin(ch));
pyh = (int) (cy - rh * Math.cos(ch));
g.setColor(Color.BLUE);
g.drawLine(cx, cy, pxh, pyh);
cs=(float) (0.105*ts);
pxs = (int) (cx + rs * Math.sin(cs));
pys = (int) (cy - rs * Math.cos(cs));
g.setColor(Color.black);
g.drawLine(cx, cy, pxs, pys);
try {Thread.sleep(1000);} catch (InterruptedException e){ }
ts++;
}
}
This comment has been removed by the author.
ReplyDelete