ФЭНДОМ


Главная | Описание языка | FXD | API | Примеры | Инструменты Разработки | Новости | Ресурсы | Форум


Pendulum shape


Запустить апплет

Pendulum.fx Править

import javafx.scene.*;
import javafx.scene.paint.*;
import javafx.scene.shape.*;
import java.lang.Math;

def g = 9.8;
def dt = 0.1;

public class Pendulum extends CustomNode {

    public var length: Number;
    public var mass: Number;

    public var amplitute: Number;
    public var velocity:Number;
    public var acceleration:Number;


    public function run(){
        acceleration = - g / length * Math.sin(amplitute);
        velocity  += acceleration * dt;
        amplitute += velocity * dt;
    }

    public override function create(){
        Group{
            content: [
                Line {
                    endX: bind length * Math.sin(amplitute)
                    endY: bind length * Math.cos(amplitute)
                    stroke: Color.ORANGE
                },
                Circle {
                    radius: 5
                    fill: Color.GRAY
                },
                Circle {
                    centerX: bind length * Math.sin(amplitute)
                    centerY: bind length * Math.cos(amplitute)
                    radius: 20
                    fill: Color.YELLOW
                    stroke: Color.ORANGE
                }
            ]

        }
    }
}


Main.fx Править

import javafx.stage.*;
import javafx.scene.*;
import javafx.animation.*;

import java.lang.Math;

var pendulum = Pendulum{
    mass: 10
    length: 150
    amplitute: Math.PI / 4
};

Timeline {
    repeatCount: Timeline.INDEFINITE
    keyFrames : [
        KeyFrame {
            time : 10ms
            canSkip : true
            action: function(){
                pendulum.run();
            }


        }
    ]
}.play();


Stage {
    title: "Pendulum"
    width: 300
    height: 300
    scene: Scene {
        content: [
            Group{
                translateX: 150 translateY: 30
                content: pendulum
            }
        ]
    }
}

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики