Avatar of Mike Eghtebas
Mike Eghtebas
Flag for United States of America asked on

Animation help 3

As shown below, a circular drum with a string wrapped around it is pulled in x-direction. as a result:

1. The drum rotates (see angle a).
2. Point of drum-string separation (originally at 0 degrees) moves up along the drum surface (see angle b).

The program is to accept the following four variables:
r, h, x inch/sec rate, and max via number of Jtext controls. Upon click the animation to start pulling the string and rotating the drum to max X at the giving rate (inches/sec).

At start, the string is pulled from X=0. In the process of pull, the angle of drum rotation a will be displayed in degrees.

In order see the drum is rotating, we can rotate a redial line drawn from center of the drum to zero angle.

The equation producing the data is given in the attached java program.

Thank you.

The output:
 x = 00.000 a = 00.000 b = 00.000
 x = 50.000 a = 01.759 b = 00.667
 x = 100.000 a = 05.498 b = 00.992
 x = 150.000 a = 09.905 b = 01.153
 x = 200.000 a = 14.571 b = 01.247
 x = 250.000 a = 19.358 b = 01.307
 x = 300.000 a = 24.212 b = 01.348
 x = 350.000 a = 29.105 b = 01.378

import java.text.DecimalFormat;
public class Ax {
  public static void main(String args[]) {
      DecimalFormat df = new DecimalFormat("00.000");
      double h = 60; //height of drum from base line
      double r = 10; //drum radius
      double k = r/h;
      double j = 0;
      double a = 0;
      double C = 0; // equals cos(b) 
      for(double x = 0; x <= 1000; x += 50){
          j = x/h;
          C = (2*k*(j+k) + Math.sqrt(Math.pow(2*k*(j+k),2) - 4*(Math.pow(j+k,2) + 1)*(k*k - 1)))/(2*(Math.pow(j+k,2) + 1));
          a = (r * Math.tan(Math.acos(C)) + h/C - h)/r - Math.acos(C);
          System.out.println(" x = " + df.format(x) + " a = " + df.format(a) + " b = " + df.format(Math.acos(C)));

Open in new window

Scripting LanguagesJava

Avatar of undefined
Last Comment

8/22/2022 - Mon

ok, whats the question :)
Mike Eghtebas

Question: Could you make animation in JApplet or in a java desktop to perform (animate( this operation.

Mike Eghtebas

I am new to java and this will be a great start for me to learn more about animation. Also this is not school work.

Your help has saved me hundreds of hours of internet surfing.
Mike Eghtebas

Also, FYI, the above code is from rrz@871311 who has been helping me on this in last few questions in math and java TA.

have a look at these sample codes :)


Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
Mike Eghtebas

Amazing. Thank you very much.

Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
Mike Eghtebas


Very nice, rrz. Good working with you.
Mike Eghtebas

Paul, Thanks to your valuable contribution as well,


I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck

You're welcome. Interesting project. Hope to see your actual cam when you complete it.

Thanks for the points.

Thanks, phoffric.