Classe AWT CubicCurve2D

introduction

La classe CubicCurve2D indique un segment de courbe paramétrique cubique dans l'espace de coordonnées (x, y).

Déclaration de classe

Voici la déclaration pour java.awt.geom.CubicCurve2Dclasse:

public abstract class CubicCurve2D
   extends Object
      implements Shape, Cloneable

Constructeurs de classe

SN Constructeur et description
1 protected CubicCurve2D()

Il s'agit d'une classe abstraite qui ne peut pas être instanciée directement.

Méthodes de classe

SN Méthode et description
1

Object clone()

Crée un nouvel objet de la même classe que cet objet.

2

boolean contains(double x, double y)

Teste si les coordonnées spécifiées se trouvent à l'intérieur de la limite de la forme.

3

boolean contains(double x, double y, double w, double h)

Teste si l'intérieur de la forme contient entièrement la zone rectangulaire spécifiée.

4

boolean contains(Point2D p)

Teste si un Point2D spécifié est à l'intérieur de la limite de la forme.

5

boolean contains(Rectangle2D r)

Teste si l'intérieur de la forme contient entièrement le Rectangle2D spécifié.

6

Rectangle getBounds()

Renvoie un rectangle entier qui entoure complètement la forme.

sept

abstract Point2D getCtrlP1()

Renvoie le premier point de contrôle.

8

abstract Point2D getCtrlP2()

Renvoie le deuxième point de contrôle.

9

abstract double getCtrlX1()

Renvoie la coordonnée X du premier point de contrôle en double précision.

dix

abstract double getCtrlX2()

Renvoie la coordonnée X du deuxième point de contrôle en double précision.

11

abstract double getCtrlY1()

Renvoie la coordonnée Y du premier point de contrôle en double précision.

12

abstract double getCtrlY2()

Renvoie la coordonnée Y du deuxième point de contrôle en double précision.

13

double getFlatness()

Renvoie la planéité de cette courbe.

14

static double getFlatness(double[] coords, int offset)

Renvoie la planéité de la courbe cubique spécifiée par les points de contrôle stockés dans le tableau indiqué à l'index indiqué.

15

static double getFlatness(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)

Renvoie la planéité de la courbe cubique spécifiée par les points de contrôle indiqués.

16

double getFlatnessSq()

Renvoie le carré de la planéité de cette courbe.

17

static double getFlatnessSq(double[] coords, int offset)

Renvoie le carré de la planéité de la courbe cubique spécifiée par les points de contrôle stockés dans le tableau indiqué à l'index indiqué.

18

static double getFlatnessSq(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)

Renvoie le carré de la planéité de la courbe cubique spécifiée par les points de contrôle indiqués.

19

abstract Point2D getP1()

Renvoie le point de départ.

20

abstract Point2D getP2()

Renvoie le point final.

21

PathIterator getPathIterator(AffineTransform at)

Renvoie un objet d'itération qui définit la limite de la forme.

22

PathIterator getPathIterator(AffineTransform at, double flatness)

Renvoie un objet d'itération qui définit la limite de la forme aplatie.

23

abstract double getX1()

Renvoie la coordonnée X du point de départ en double précision.

24

abstract double getX2()

Renvoie la coordonnée X du point final en double précision.

25

abstract double getY1()

Renvoie la coordonnée Y du point de départ en double précision.

26

abstract double getY2()

Renvoie la coordonnée Y du point final en double précision.

27

boolean intersects(double x, double y, double w, double h)

Teste si l'intérieur de la forme coupe l'intérieur d'une zone rectangulaire spécifiée.

28

boolean intersects(Rectangle2D r)

Teste si l'intérieur de la forme croise l'intérieur d'un Rectangle2D spécifié.

29

void setCurve(CubicCurve2D c)

Définit l'emplacement des points d'extrémité et des points de contrôle de cette courbe sur le même que ceux du CubicCurve2D spécifié.

30

void setCurve(double[] coords, int offset)

Définit l'emplacement des points d'extrémité et des points de contrôle de cette courbe sur les coordonnées doubles au décalage spécifié dans le tableau spécifié.

31 abstract void setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)

Définit l'emplacement des points d'extrémité et des points de contrôle de cette courbe sur les coordonnées doubles spécifiées.

32

void setCurve(Point2D[] pts, int offset)

Définit l'emplacement des points d'extrémité et des points de contrôle de cette courbe sur les coordonnées des objets Point2D au décalage spécifié dans le tableau spécifié.

33

void setCurve(Point2D p1, Point2D cp1, Point2D cp2, Point2D p2)

Définit l'emplacement des points d'extrémité et des points de contrôle de cette courbe sur les coordonnées Point2D spécifiées.

34

static int solveCubic(double[] eqn)

Résout la cubique dont les coefficients sont dans le tableau eqn et replace les racines non complexes dans le même tableau, renvoyant le nombre de racines.

35

static int solveCubic(double[] eqn, double[] res)

Résolvez la cubique dont les coefficients sont dans le tableau eqn et placez les racines non complexes dans le tableau res, en retournant le nombre de racines.

36

void subdivide(CubicCurve2D left, CubicCurve2D right)

Subdivise cette courbe cubique et stocke les deux courbes subdivisées résultantes dans les paramètres de courbe gauche et droite.

37

static void subdivide(CubicCurve2D src, CubicCurve2D left, CubicCurve2D right)

Subdivise la courbe cubique spécifiée par le paramètre src et stocke les deux courbes subdivisées résultantes dans les paramètres de courbe gauche et droite.

38

static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)

Subdivise la courbe cubique spécifiée par les coordonnées stockées dans le tableau src aux indices srcoff à (srcoff + 7) et stocke les deux courbes subdivisées résultantes dans les deux tableaux de résultats aux indices correspondants.

Méthodes héritées

Cette classe hérite des méthodes des classes suivantes:

  • java.lang.Object

Exemple de CubicCurve2D

Créez le programme Java suivant en utilisant n'importe quel éditeur de votre choix dans say D:/ > AWT > com > tutorialspoint > gui >

AWTGraphicsDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

public class AWTGraphicsDemo extends Frame {
       
   public AWTGraphicsDemo(){
      super("Java AWT Examples");
      prepareGUI();
   }

   public static void main(String[] args){
      AWTGraphicsDemo  awtGraphicsDemo = new AWTGraphicsDemo();  
      awtGraphicsDemo.setVisible(true);
   }

   private void prepareGUI(){
      setSize(400,400);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      }); 
   }    

   @Override
   public void paint(Graphics g) {
      CubicCurve2D shape = new CubicCurve2D.Float();
      shape.setCurve(250F,250F,20F,90F,140F,100F,350F,330F);       
      Graphics2D g2 = (Graphics2D) g; 
      g2.draw (shape);
      Font font = new Font("Serif", Font.PLAIN, 24);
      g2.setFont(font);
      g.drawString("Welcome to TutorialsPoint", 50, 70);
      g2.drawString("CubicCurve2D.Curve", 100, 120);
   }
}

Compilez le programme à l'aide de l'invite de commande. Aller àD:/ > AWT

et tapez la commande suivante.

D:\AWT>javac com\tutorialspoint\gui\AWTGraphicsDemo.java

Si aucune erreur ne survient, cela signifie que la compilation est réussie. Exécutez le programme en utilisant la commande suivante.

D:\AWT>java com.tutorialspoint.gui.AWTGraphicsDemo

Vérifiez la sortie suivante