US20060012600A1 - System and method for specifying elliptical parameters - Google Patents

System and method for specifying elliptical parameters Download PDF

Info

Publication number
US20060012600A1
US20060012600A1 US11/228,742 US22874205A US2006012600A1 US 20060012600 A1 US20060012600 A1 US 20060012600A1 US 22874205 A US22874205 A US 22874205A US 2006012600 A1 US2006012600 A1 US 2006012600A1
Authority
US
United States
Prior art keywords
ellipse
point
arc
elliptical arc
semi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/228,742
Inventor
Arnold Steed
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CA Inc
Original Assignee
Computer Associates Think Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Computer Associates Think Inc filed Critical Computer Associates Think Inc
Priority to US11/228,742 priority Critical patent/US20060012600A1/en
Assigned to COMPUTER ASSOCIATES THINK, INC. reassignment COMPUTER ASSOCIATES THINK, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: STEED, ARNOLD F.
Publication of US20060012600A1 publication Critical patent/US20060012600A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Definitions

  • the present disclosure relates in general to the Computer-Aided Design/Computer-Aided Manufacturing (CAD/CAM) field and, in particular, but not exclusively, to a system and method providing an intuitive and interactive interface for specifying parameters for computer-implemented drawing of arc segments, including elliptical arc segments.
  • CAD/CAM Computer-Aided Design/Computer-Aided Manufacturing
  • Certain CAD/CAM drawing tools exist that include elliptical arcs. To simplify the user interface, these tools typically fix certain of the ellipses' parameters. For example, a common, simplified drawing technique used for creating an ellipse is to force the ellipse to be parallel either to the x- or y-axis, and then have the user draw a box into which the ellipse is to fit. Other drawing tools allow a user to manually enter (e.g., type in) the elliptical parameters, which can provide some design flexibility.
  • SVG Scalable Vector Graphics
  • an interactive arc control system is provided for use in drawing and diagramming applications, which enables a user to completely specify the parameters of an arc (e.g., an elliptical arc) connecting two node points.
  • an arc e.g., an elliptical arc
  • the arc control system provides two control points—a center control point and a focus control point—that a user can interactively manipulate in order to change the parameters of a particular arc (e.g., an elliptical arc) being displayed.
  • a particular arc e.g., an elliptical arc
  • the center control point controls the radius of the ellipse in the x direction (semi-major axis), while keeping constant the ratio of the radius of the ellipse in the y direction (semi-minor axis) to the radius of the ellipse in the x direction (semi-major axis).
  • the center control point can also control the relationship of the sweep flag (e.g., flag specifying whether the arc is to be drawn clockwise or counter-clockwise) to the large arc flag (e.g., flag specifying whether the larger or smaller arc of the ellipse is to be used).
  • the focus control point controls the ratio of the radius of the ellipse in the y direction (semi-minor axis) to the radius of the ellipse in the x direction (semi-major axis), the angle from the x-axis of the coordinate system to the x-axis of the ellipse (rotation), and the sweep flag.
  • the two control points described can be used to specify the parameters for an arc connecting two node points in an intuitive and relatively easy manner.
  • the arc control system provides three control points—a center control point and two foci control points—that a user can interactively manipulate in order to change the parameters of a particular arc (e.g., an elliptical arc) being displayed.
  • the center control point controls the radius of the ellipse in the x direction (semi-major axis), while keeping constant the ratio of the radius of the ellipse in the y direction (semi-minor axis) to the radius of the ellipse in the x direction (semi-major axis).
  • the center control point can also control the relationship of the sweep flag (e.g., flag specifying whether the arc is to be drawn clockwise or counter-clockwise) to the large arc flag (e.g., flag specifying whether the larger or smaller arc of the ellipse is to be used).
  • Each of the two foci control points can control the ratio of the radius of the ellipse in the y direction (semi-minor axis) to the radius of the ellipse in the x direction (semi-major axis), the angle from the x-axis of the coordinate system to the x-axis of the ellipse (rotation), and the sweep flag.
  • the three control points described can be used to specify the parameters for an arc connecting two node points in an intuitive and relatively easy manner and provide greater symmetry of the displayed control.
  • FIG. 1 is an exemplary illustrates an example work station that can be used to implement one or more embodiments of the present disclosure
  • FIG. 2 is an exemplary block diagram of a drawing tool of the elliptical arc control system according to the present disclosure
  • FIGS. 3 A-B are exemplary displays of an elliptical arc that a user can specify by interactively manipulating one or more of the control points shown;
  • FIG. 4 illustrates elliptical arc parameters used for end point parameterization in an SVG system
  • FIG. 5 illustrates elliptical arc parameters used for center point parameterization
  • FIG. 6 illustrates elliptical arc parameters used for foci point parameterization
  • FIG. 7 is an exemplary flow diagram for implementing one exemplary embodiment of the present disclosure.
  • the workstation 10 can be a computer typically used for CAD/CAM or engineering applications, desktop publishing, software development, or other types of applications that provide relatively high quality graphics capabilities.
  • workstation 10 can be a desktop computer having a high-resolution graphics monitor 12 , internal memory (e.g., Random Access Memory) 14 , and a Graphical User Interface (GUI) 16 .
  • GUI Graphical User Interface
  • a mouse 20 , other pointing device, or touch screen may be provided to allow a user to specify, select, move and/or otherwise control elements displayed by GUI 16 on monitor 12 .
  • the memory 14 may also include a mass storage device or media 18 , such as a disk drive.
  • a suitable operating system for workstation 10 can be a UNIX® or WINDOWS NT® operating system.
  • Workstation 10 can be a single-user computer, or a plurality of workstations, servers and/or other computer devices linked together to form one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), or a portion of a global network, such as the Internet.
  • LANs local area networks
  • MANs metropolitan area networks
  • WANs wide area networks
  • Internet a portion of a global network
  • the arc control system 100 includes an application window 110 and an interactive arc control component 102 .
  • the elliptical arc control system 100 can be implemented in software and/or hardware.
  • the application window 110 is displayed on monitor 12 by GUI 16 , and allows users to generate objects (e.g., elliptical arcs) and to interactively modify the objects by manipulating one or more control points associated with the objects.
  • the interactive arc control system 102 includes an end point parameterization component 104 , a center point parameterization component 106 , and a foci point parameterization component 108 .
  • the end point parameterization component 104 is used by the system 100 to support Scalable Vector Graphics (SVG).
  • the center parameterization component 106 is used for drawing an arc (e.g., an elliptical arc) for display in application window 110 .
  • the combination of the center parameterization component 106 and the foci parameterization component 108 provides user control of the arc (e.g., elliptical arc parameters) parameters by determining the arc parameters from control points graphically specified by the user through the application window 110 .
  • the arc control system 102 may determine all of the parameters by converting, for example, elliptical parameters from one type to another while holding the end points of the arc fixed.
  • the arc control system 102 may map endpoint parameters to center and/or foci parameters and may map center and/or foci parameters to each other and/or to endpoint parameters.
  • FIG. 3A illustrates an exemplary elliptical arc 120 displayed to and controllable by a user through application window 110 .
  • the elliptical arc 120 and any suitable SVG arc may be displayed to and manipulated by the user in real time.
  • the elliptical arc 120 connects two endpoints, P 1 and P 2 .
  • Control points defining the elliptical arc's configuration are also displayed on application window 110 .
  • three control points can be used for manipulating the arc displayed—a center point (C) and two foci points (F 1 and F 2 ).
  • C center point
  • F 1 and F 2 two foci points
  • two control points can be used for manipulating the arc displayed—a center point (C) and a foci point (F 1 or F 2 ).
  • the configuration of the elliptical arc 120 can be specified by the user by interactively manipulating one or more of the center (C) or foci (F 1 and/or F 2 ) control points.
  • Each end point P 1 , P 2 , and control point C and F 1 and/or F 2 can be independently manipulated by selecting and dragging the point with mouse 20 connected to GUI 16 of the workstation 10 .
  • At least one of the foci points, F 1 or F 2 is used based on the specified control points used the parameters to render the elliptical arc 120 and to support SVG or other standards for defining elliptical arcs can be determined.
  • the standardized parameters for SVG are provided by the end point parameterization component 104 (seen in FIG. 2 ) and are determined based on the control points using center parameterization component 106 and foci parameterization component 108 .
  • FIG. 4 illustrates an exemplary ellipse 122 and elliptical arc 121 specified by the end point parameterization component 104 .
  • the parameters P 1 and P 2 represent the start point and end point of the arc 121 .
  • the parameters R x and R y represent the radius of the ellipse 122 in the x direction and y direction, respectively.
  • the parameter, ⁇ represents the angle from the x-axis of the coordinate system to the x-axis of the ellipse 122 (e.g., rotation).
  • the parameter, f A specifies whether the larger or smaller arc of the ellipse 122 is used (e.g., large arc flag), and the parameter, f S , specifies whether the arc 121 is drawn clockwise or counter-clockwise (e.g., sweep flag).
  • the end points P 1 and P 2 are entered by the user, and the remaining parameters of the arc to be displayed are indirectly determined from the control points by center and foci parameterization components 106 and 108 .
  • FIG. 5 illustrates the elliptical arc 121 specified by the center parameterization component 106 .
  • the parameter C represents the center point of the arc 121 .
  • the parameters ⁇ , R x and R y are as previously described.
  • the parameter, ⁇ represents the start angle of the arc 121 (from the x-axis of the coordinate system), and the parameter ⁇ , represents the sweep angle of the arc 121 (e.g., negative for a clockwise arc).
  • FIG. 6 illustrates the ellipse 122 specified by the foci parameterization component 108 .
  • the parameter F 1 represents the first focal point of the ellipse 122
  • the parameter F 2 represents the second focal point of the ellipse 122
  • the parameter F R represents the focal radius of the ellipse involved (sum of the distances from each of the foci to any point on the ellipse).
  • the elliptical arc control system 102 allows a user to move one or more of the end points and control points (e.g., C, P 1 , P 2 , F 1 , or F 2 ) shown in FIG. 3 in an interactive an intuitive manner and based on those points specifies all of the remaining end point, center and foci parameters shown in FIGS. 4, 5 and 6 based on the mathematical relationships that can exist between the elliptical parameters involved.
  • the control points can be changed by a user “dragging” (e.g., with a cursor controlled by a mouse 20 ) these points directly on monitor 12 (e.g., via GUI 16 ).
  • the center point, C ( FIG.
  • the foci, F 1 and F 2 can be interchangeable (i.e., swapping the values of F 1 and F 2 can result in the same ellipse). Consequently, the relative positions of the foci, F 1 and F 2 , can be used to determine the value of the sweep flag, F S , without sacrificing generality. As such, rotating an ellipse by 180 degrees can result in flipping the value of the sweep flag, F S (from true to false or vice versa).
  • FIG. 7 illustrates an example method 200 that can be used to draw arcs in accordance with the present disclosure.
  • the above-described geometric relationships can be used to determine all of the end point parameters for an elliptical arc by a user manipulating one or more of the three control points, C, F 1 or F 2 (e.g., as shown in FIG. 3 ) using, for example, GUI 16 and elliptical arc control 102 ( FIG. 2 ).
  • new values can be computed for the foci control points, F 1 and F 2 , with the value of the distance from either foci control point to the center of the ellipse, F C , being held fixed.
  • the value of the focal radius, F R can be computed twice, based on the points, P 1 and P 2 .
  • the smaller value of F R based on P 1 or P 2 can be used to re-compute the radius of the ellipse in the x direction (semi-major axis), R x .
  • the value of the radius of the ellipse in the y direction (semi-minor axis), R y can be computed from the ratio of R y /R x .
  • step 208 if the center control point, C, is moved across a straight line joining the end points, P 1 and P 2 , then at step 209 , the value of F S can be swapped (e.g., the value of F A is maintained, but the relationship between F A and F S has changed). Otherwise, at step 210 , the center and foci control parameters, C, F 1 and F 2 , can be re-computed based on the new end point parameters, and the resulting curve and control points can be redrawn.
  • a new F C (distance from either foci to the center of the ellipse) and second focal point of the ellipse, F 2 , can be computed with C and the focal radius, F R , being held fixed.
  • the rotation angle, ⁇ can be re-computed based on the new values of the foci control points, F 1 and F 2 .
  • the new F C can be used to re-compute the radius of the ellipse in the x direction, R x , and the radius of the ellipse in the y direction, R y .
  • the values of each of the sweep flag, f S , and the large arc flag, f A can be swapped. Otherwise, at step 218 , the center and foci control parameters, C, F 1 and F 2 , can be re-computed based on the new end point parameters, and the resulting curve and control points can be redrawn.
  • the second focal point of the ellipse, F 2 may be manipulated by performing the same steps 212 through 218 as performed for the first focal point, F 1 .
  • the above-described function of interactively specifying elliptical parameters can be provided using only two of the control points shown (e.g., the center control point and one of the foci control points).
  • a second foci control point e.g., F 1 or F 2
  • F 1 or F 2 can be included to provide a symmetrical and more intuitive interface to be used.
  • the end point parameters can be mapped to the movement of the center and foci control points, C, F 1 and F 2 , in a number of other ways. For example, if a user moves the center control point, C, instead of computing the radius of the ellipse in the y direction, R y , to maintain the ratio of R y /R x constant, the value of R y can be computed to maintain F C constant. Also, if a user moves a focal control point (e.g., F 1 ), the other focal control point (e.g., F 2 ) can be maintained constant, instead of maintaining the position of the center control point, C, constant, and vice versa.
  • a focal control point e.g., F 1
  • the other focal control point e.g., F 2

Abstract

An interactive elliptical arc control system and method are disclosed. Three control points are provided—a center control point and two foci control points—that a user can interactively manipulate in order to specify and change the elliptical parameters involved. The center control point can control the radius of the ellipse in the x direction, while keeping constant the ratio of the radius of the ellipse in the y direction to the radius of the ellipse in the x direction. The center control point can also control the relationship of the sweep flag to the large arc flag involved. The two foci control points can control the ratio of the radius of the ellipse in the y direction to the radius of the ellipse in the x direction, the angle from the x-axis of the coordinate system to the x-axis of the ellipse, and the value of the sweep flag.

Description

    RELATED APPLICATION
  • This application is a continuation of U.S. application Ser. No. 10/367,077 filed Feb. 14, 2003, entitled, “System and Method for Specifying Elliptical Parameters,” which claims priority under 35 U.S.C. §119 of Provisional Application Ser. No. 60/357,480 filed Feb. 15, 2002, entitled “System and Method for Specifying Elliptical Parameters”.
  • TECHNICAL FIELD
  • The present disclosure relates in general to the Computer-Aided Design/Computer-Aided Manufacturing (CAD/CAM) field and, in particular, but not exclusively, to a system and method providing an intuitive and interactive interface for specifying parameters for computer-implemented drawing of arc segments, including elliptical arc segments.
  • BACKGROUND
  • Certain CAD/CAM drawing tools exist that include elliptical arcs. To simplify the user interface, these tools typically fix certain of the ellipses' parameters. For example, a common, simplified drawing technique used for creating an ellipse is to force the ellipse to be parallel either to the x- or y-axis, and then have the user draw a box into which the ellipse is to fit. Other drawing tools allow a user to manually enter (e.g., type in) the elliptical parameters, which can provide some design flexibility.
  • Certain CAD applications import and export Scalable Vector Graphics (SVG) data including elliptical arc segments. SVG is a vector-based CAD format that enables users to create dynamic interactive graphics that can be resized, animated, rotated, etc. in real-time. Each elliptical arc segment is specified in SVG with five elliptical parameters plus the endpoints of the segment involved.
  • SUMMARY
  • The present disclosure provides a method and system for specifying arc parameters for computer implemented drawings. In accordance with one embodiment, an interactive arc control system is provided for use in drawing and diagramming applications, which enables a user to completely specify the parameters of an arc (e.g., an elliptical arc) connecting two node points.
  • In one embodiment, the arc control system provides two control points—a center control point and a focus control point—that a user can interactively manipulate in order to change the parameters of a particular arc (e.g., an elliptical arc) being displayed. For example if an elliptical arc is displayed or being drawn, the center control point controls the radius of the ellipse in the x direction (semi-major axis), while keeping constant the ratio of the radius of the ellipse in the y direction (semi-minor axis) to the radius of the ellipse in the x direction (semi-major axis). The center control point can also control the relationship of the sweep flag (e.g., flag specifying whether the arc is to be drawn clockwise or counter-clockwise) to the large arc flag (e.g., flag specifying whether the larger or smaller arc of the ellipse is to be used). The focus control point controls the ratio of the radius of the ellipse in the y direction (semi-minor axis) to the radius of the ellipse in the x direction (semi-major axis), the angle from the x-axis of the coordinate system to the x-axis of the ellipse (rotation), and the sweep flag. As a result, the two control points described can be used to specify the parameters for an arc connecting two node points in an intuitive and relatively easy manner.
  • In an alternative embodiment, the arc control system provides three control points—a center control point and two foci control points—that a user can interactively manipulate in order to change the parameters of a particular arc (e.g., an elliptical arc) being displayed. Similarly, in this embodiment if an elliptical arc is being displayed, the center control point controls the radius of the ellipse in the x direction (semi-major axis), while keeping constant the ratio of the radius of the ellipse in the y direction (semi-minor axis) to the radius of the ellipse in the x direction (semi-major axis). The center control point can also control the relationship of the sweep flag (e.g., flag specifying whether the arc is to be drawn clockwise or counter-clockwise) to the large arc flag (e.g., flag specifying whether the larger or smaller arc of the ellipse is to be used). Each of the two foci control points can control the ratio of the radius of the ellipse in the y direction (semi-minor axis) to the radius of the ellipse in the x direction (semi-major axis), the angle from the x-axis of the coordinate system to the x-axis of the ellipse (rotation), and the sweep flag. As a result, the three control points described can be used to specify the parameters for an arc connecting two node points in an intuitive and relatively easy manner and provide greater symmetry of the displayed control.
  • DESCRIPTION OF DRAWINGS
  • For a more complete understanding of the present disclosure reference is now made to the following descriptions, taken in conjunction with the accompanying drawings, in which:
  • FIG. 1 is an exemplary illustrates an example work station that can be used to implement one or more embodiments of the present disclosure;
  • FIG. 2 is an exemplary block diagram of a drawing tool of the elliptical arc control system according to the present disclosure;
  • FIGS. 3A-B are exemplary displays of an elliptical arc that a user can specify by interactively manipulating one or more of the control points shown;
  • FIG. 4 illustrates elliptical arc parameters used for end point parameterization in an SVG system;
  • FIG. 5 illustrates elliptical arc parameters used for center point parameterization;
  • FIG. 6 illustrates elliptical arc parameters used for foci point parameterization; and
  • FIG. 7 is an exemplary flow diagram for implementing one exemplary embodiment of the present disclosure.
  • DETAILED DESCRIPTION
  • Referring to FIG. 1, an exemplary workstation 10 that can be used to implement one or more embodiments of the systems and methods of the present disclosure is provided. The workstation 10 can be a computer typically used for CAD/CAM or engineering applications, desktop publishing, software development, or other types of applications that provide relatively high quality graphics capabilities. For example, workstation 10 can be a desktop computer having a high-resolution graphics monitor 12, internal memory (e.g., Random Access Memory) 14, and a Graphical User Interface (GUI) 16. A mouse 20, other pointing device, or touch screen may be provided to allow a user to specify, select, move and/or otherwise control elements displayed by GUI 16 on monitor 12. The memory 14 may also include a mass storage device or media 18, such as a disk drive.
  • A suitable operating system for workstation 10 can be a UNIX® or WINDOWS NT® operating system. Workstation 10 can be a single-user computer, or a plurality of workstations, servers and/or other computer devices linked together to form one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), or a portion of a global network, such as the Internet.
  • Referring to FIG. 2 is an exemplary block diagram of an arc control system 100 according to one embodiment of the present disclosure. The arc control system 100 includes an application window 110 and an interactive arc control component 102. The elliptical arc control system 100 can be implemented in software and/or hardware. The application window 110 is displayed on monitor 12 by GUI 16, and allows users to generate objects (e.g., elliptical arcs) and to interactively modify the objects by manipulating one or more control points associated with the objects.
  • The interactive arc control system 102 includes an end point parameterization component 104, a center point parameterization component 106, and a foci point parameterization component 108. The end point parameterization component 104 is used by the system 100 to support Scalable Vector Graphics (SVG). The center parameterization component 106 is used for drawing an arc (e.g., an elliptical arc) for display in application window 110. The combination of the center parameterization component 106 and the foci parameterization component 108 provides user control of the arc (e.g., elliptical arc parameters) parameters by determining the arc parameters from control points graphically specified by the user through the application window 110. In a particular embodiment, the arc control system 102 may determine all of the parameters by converting, for example, elliptical parameters from one type to another while holding the end points of the arc fixed. In a specific embodiment, for example, the arc control system 102 may map endpoint parameters to center and/or foci parameters and may map center and/or foci parameters to each other and/or to endpoint parameters.
  • FIG. 3A illustrates an exemplary elliptical arc 120 displayed to and controllable by a user through application window 110. The elliptical arc 120 and any suitable SVG arc may be displayed to and manipulated by the user in real time. The elliptical arc 120 connects two endpoints, P1 and P2. Control points defining the elliptical arc's configuration are also displayed on application window 110. In the embodiment of FIG. 3A, three control points can be used for manipulating the arc displayed—a center point (C) and two foci points (F1 and F2). In an alternative embodiment, seen in FIG. 3B, two control points can be used for manipulating the arc displayed—a center point (C) and a foci point (F1 or F2). The configuration of the elliptical arc 120 can be specified by the user by interactively manipulating one or more of the center (C) or foci (F1 and/or F2) control points. Each end point P1, P2, and control point C and F1 and/or F2 can be independently manipulated by selecting and dragging the point with mouse 20 connected to GUI 16 of the workstation 10.
  • In the embodiments of FIGS. 3A-B at least one of the foci points, F1 or F2, is used based on the specified control points used the parameters to render the elliptical arc 120 and to support SVG or other standards for defining elliptical arcs can be determined. In a particular embodiment, the standardized parameters for SVG are provided by the end point parameterization component 104 (seen in FIG. 2) and are determined based on the control points using center parameterization component 106 and foci parameterization component 108.
  • FIG. 4 illustrates an exemplary ellipse 122 and elliptical arc 121 specified by the end point parameterization component 104. For example, with end point parameterization, the parameters P1 and P2 represent the start point and end point of the arc 121. The parameters Rx and Ry represent the radius of the ellipse 122 in the x direction and y direction, respectively. The parameter, φ, represents the angle from the x-axis of the coordinate system to the x-axis of the ellipse 122 (e.g., rotation). The parameter, fA, specifies whether the larger or smaller arc of the ellipse 122 is used (e.g., large arc flag), and the parameter, fS, specifies whether the arc 121 is drawn clockwise or counter-clockwise (e.g., sweep flag). As described below, the end points P1 and P2 are entered by the user, and the remaining parameters of the arc to be displayed are indirectly determined from the control points by center and foci parameterization components 106 and 108.
  • FIG. 5 illustrates the elliptical arc 121 specified by the center parameterization component 106. For example, with center point parameterization, the parameter C represents the center point of the arc 121. The parameters φ, Rx and Ry are as previously described. The parameter, θ, represents the start angle of the arc 121 (from the x-axis of the coordinate system), and the parameter Δθ, represents the sweep angle of the arc 121 (e.g., negative for a clockwise arc).
  • FIG. 6 illustrates the ellipse 122 specified by the foci parameterization component 108. For example, with foci point parameterization, the parameter F1 represents the first focal point of the ellipse 122, the parameter F2 represents the second focal point of the ellipse 122, and the parameter FR represents the focal radius of the ellipse involved (sum of the distances from each of the foci to any point on the ellipse).
  • In one aspect of operation, the elliptical arc control system 102 allows a user to move one or more of the end points and control points (e.g., C, P1, P2, F1, or F2) shown in FIG. 3 in an interactive an intuitive manner and based on those points specifies all of the remaining end point, center and foci parameters shown in FIGS. 4, 5 and 6 based on the mathematical relationships that can exist between the elliptical parameters involved. The control points can be changed by a user “dragging” (e.g., with a cursor controlled by a mouse 20) these points directly on monitor 12 (e.g., via GUI 16).
  • For example, referring to FIG. 3, the foci, F1 and F2, lie on the semi-major axis of the elliptical arc 120. Consequently, the rotation angle, φ (FIGS. 4 and 5), can be computed from the foci, F1 and F2. Also, the radius of the ellipse in the x direction (semi-major axis), Rx (FIGS. 4 and 5), can be determined by the relationship, Rx=FR/2 (where FR in FIG. 6 is the focal radius of the ellipse 122 involved). If a parameter, FC, represents the distance from either foci, F1 or F2, to the center of the ellipse 122 involved (FIG. 6), then the square of the radius of the ellipse in the y direction (semi-minor axis), Ry 2, is equal to the square of the radius of the ellipse in the x direction (semi-major axis),Rx 2, minus the square of the parameter, FC (e.g., Ry 2=Rx 2−FC 2). The center point, C (FIG. 3), can determine which of the two possible ellipses can be used, and can also establish a relationship between the sweep flag, FS, and the large arc flag, FA (e.g., either FA=FS or FA not equal FS). Also, the foci, F1 and F2 (FIG. 3), can be interchangeable (i.e., swapping the values of F1 and F2 can result in the same ellipse). Consequently, the relative positions of the foci, F1 and F2, can be used to determine the value of the sweep flag, FS, without sacrificing generality. As such, rotating an ellipse by 180 degrees can result in flipping the value of the sweep flag, FS (from true to false or vice versa).
  • FIG. 7 illustrates an example method 200 that can be used to draw arcs in accordance with the present disclosure. As such, the above-described geometric relationships can be used to determine all of the end point parameters for an elliptical arc by a user manipulating one or more of the three control points, C, F1 or F2 (e.g., as shown in FIG. 3) using, for example, GUI 16 and elliptical arc control 102 (FIG. 2). At step 202, if a user moves the center control point, C, at step 203, new values can be computed for the foci control points, F1 and F2, with the value of the distance from either foci control point to the center of the ellipse, FC, being held fixed. At step 204, the value of the focal radius, FR, can be computed twice, based on the points, P1 and P2. At step 205, the smaller value of FR based on P1 or P2 can be used to re-compute the radius of the ellipse in the x direction (semi-major axis), Rx. At step 206, the value of the radius of the ellipse in the y direction (semi-minor axis), Ry, can be computed from the ratio of Ry/Rx. At step 208, if the center control point, C, is moved across a straight line joining the end points, P1 and P2, then at step 209, the value of FS can be swapped (e.g., the value of FA is maintained, but the relationship between FA and FS has changed). Otherwise, at step 210, the center and foci control parameters, C, F1 and F2, can be re-computed based on the new end point parameters, and the resulting curve and control points can be redrawn.
  • At step 212, if a user moves or “drags” the first focal point of the ellipse, F1, at step 213, a new FC (distance from either foci to the center of the ellipse) and second focal point of the ellipse, F2, can be computed with C and the focal radius, FR, being held fixed. At step 214, the rotation angle, φ, can be re-computed based on the new values of the foci control points, F1 and F2. At step 215, the new FC can be used to re-compute the radius of the ellipse in the x direction, Rx, and the radius of the ellipse in the y direction, Ry. At step 216, if a user moves the first focal control point, F1, across the x-axis, at step 217, the values of each of the sweep flag, fS, and the large arc flag, fA, can be swapped. Otherwise, at step 218, the center and foci control parameters, C, F1 and F2, can be re-computed based on the new end point parameters, and the resulting curve and control points can be redrawn. The second focal point of the ellipse, F2, may be manipulated by performing the same steps 212 through 218 as performed for the first focal point, F1. In fact, the above-described function of interactively specifying elliptical parameters can be provided using only two of the control points shown (e.g., the center control point and one of the foci control points). However, a second foci control point (e.g., F1 or F2) can be included to provide a symmetrical and more intuitive interface to be used.
  • The end point parameters can be mapped to the movement of the center and foci control points, C, F1 and F2, in a number of other ways. For example, if a user moves the center control point, C, instead of computing the radius of the ellipse in the y direction, Ry, to maintain the ratio of Ry/Rx constant, the value of Ry can be computed to maintain FC constant. Also, if a user moves a focal control point (e.g., F1), the other focal control point (e.g., F2) can be maintained constant, instead of maintaining the position of the center control point, C, constant, and vice versa.
  • Although a preferred embodiment of the method and apparatus of the present disclosure has been illustrated in the accompanying drawings and described in the foregoing detailed description, it will be understood that the disclosure is not limited to the embodiment disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the disclosure as set forth and defined by the following claims.

Claims (16)

1. A method for rendering an elliptical arc in response to user input, comprising:
receiving, via a pointing device of a graphical user interface (GUI), a first end point and a second end point for an elliptical arc;
receiving, via the pointing device of the GUI, a center point for the elliptical arc;
receiving, via the pointing device of the GUI, a foci point for the elliptical arc; and
rendering the elliptical arc passing through the first and second end points, and having a center at the center point and a semi-major axis along a line joining the center point and the foci point.
2. The method of claim 1, further comprising:
receiving, via the pointing device of the GUI, a second foci point for the elliptical arc; and
rendering the elliptical arc having the semi-major axis along a line joining the center point and the second foci point.
3. The method of claim 1, further comprising determining a radius of the ellipse along the semi-major axis and a radius of the ellipse along a semi-minor axis based on the received user input.
4. The method of claim 1, further comprising determining an angle from an x-axis of a coordinate system of the GUI to an x-axis of the ellipse based on the received user input.
5. The method of claim 1, further comprising the arc of the ellipse and a direction of the arc based on the received user input.
6. A system for rendering an elliptical arc in response to user input, comprising:
a graphical user interface; and
a pointing device coupled to the graphical user interface, the graphical user interface operable to:
receive, via the pointing device, a first end point and a second end point for an elliptical arc;
receive, via the pointing device, a center point for the elliptical arc;
receive, via the pointing device, a foci point for the elliptical arc; and
render the elliptical arc passing through the first and second end points, and having a center at the center point and a semi-major axis along a line joining the center point and the foci point.
7. The system of claim 6, wherein the graphical user interface is further operable to:
receive, via the pointing device of the GUI, a second foci point for the elliptical arc; and
render the elliptical arc having the semi-major axis along a line joining the center point and the second foci point.
8. The system of claim 6, wherein the graphical user interface is further operable to determine the radius of the ellipse along the semi-major axis and a radius of the ellipse along a semi-minor axis based on the received user input.
9. The system of claim 6, wherein the graphical user interface is further operable to determine an angle from an x-axis of a coordinate system of the GUI to the x-axis of the ellipse based on the received user input.
10. The system of claim 6, wherein the graphical user interface is further operable to determine the arc of the ellipse and a direction of the arc based on the received user input.
11. Software for rendering an elliptical arc in response to user input, the software being embodied in logic encoded in media and when executed operable to:
receive, via a pointing device of a GUI, a first end point and a second end point for an elliptical arc;
receive, via the pointing device of the GUI, a center point for the elliptical arc;
receive, via the pointing device of the GUI, a foci point for the elliptical arc;
render the elliptical arc passing through the first and second endpoints, and having a center at the center point and a semi-major axis along a line joining the center point and the foci point; and
determine a radius of the ellipse along the semi-major axis, a radius of the ellipse along a semi-minor axis and an angle from an x-axis of a coordinate system of the GUI to an x-axis of the ellipse based on the received user input.
12. The software of claim 11, wherein the software is further operable to:
receive, via the pointing device of the GUI, a second foci point for the elliptical arc; and
render the elliptical arc having the semi-major axis along a line joining the center point and the second foci point.
13. The software of claim 11, wherein the software is further operable to determine the radius of the ellipse along the semi-major axis and a radius of the ellipse along a semi-minor axis based on the received user input.
14. The software of claim 11, wherein the software is further operable to determine an angle from an x-axis of a coordinate system of the GUI to the x-axis of the ellipse based on the received user input.
15. The software of claim 11, wherein the software is further operable to determine the arc of the ellipse and a direction of the arc based on the received user input.
16. A system for rendering an elliptical arc in response to user input, comprising:
means for receiving from a user a first end point and a second end point for an elliptical arc;
means for receiving from a user a center point for the elliptical arc;
means for receiving a foci point for the elliptical arc;
means for rendering the elliptical arc passing through the first and second end points, and having a center at the center point and a semi-major axis along a line joining the center point and the foci point; and
means for determining a radius of the ellipse along a semi-major axis, a radius of the ellipse along a semi-minor axis, an angle from an x-axis of a coordinate system of the GUI to the x-axis of the ellipse based on the received user input.
US11/228,742 2002-02-15 2005-09-15 System and method for specifying elliptical parameters Abandoned US20060012600A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/228,742 US20060012600A1 (en) 2002-02-15 2005-09-15 System and method for specifying elliptical parameters

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US35748002P 2002-02-15 2002-02-15
US10/367,077 US6967654B2 (en) 2002-02-15 2003-02-14 System and method for specifying elliptical parameters
US11/228,742 US20060012600A1 (en) 2002-02-15 2005-09-15 System and method for specifying elliptical parameters

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/367,077 Continuation US6967654B2 (en) 2002-02-15 2003-02-14 System and method for specifying elliptical parameters

Publications (1)

Publication Number Publication Date
US20060012600A1 true US20060012600A1 (en) 2006-01-19

Family

ID=27757625

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/367,077 Expired - Lifetime US6967654B2 (en) 2002-02-15 2003-02-14 System and method for specifying elliptical parameters
US11/228,742 Abandoned US20060012600A1 (en) 2002-02-15 2005-09-15 System and method for specifying elliptical parameters

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/367,077 Expired - Lifetime US6967654B2 (en) 2002-02-15 2003-02-14 System and method for specifying elliptical parameters

Country Status (9)

Country Link
US (2) US6967654B2 (en)
EP (1) EP1476831A2 (en)
JP (1) JP2005526310A (en)
KR (1) KR20040082430A (en)
CN (1) CN1633659A (en)
AU (1) AU2003217426B2 (en)
BR (1) BR0307658A (en)
CA (1) CA2475832A1 (en)
WO (1) WO2003071452A2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050231512A1 (en) * 2004-04-16 2005-10-20 Niles Gregory E Animation of an object using behaviors
US7932909B2 (en) * 2004-04-16 2011-04-26 Apple Inc. User interface for controlling three-dimensional animation of an object
US7411590B1 (en) 2004-08-09 2008-08-12 Apple Inc. Multimedia file format
US20070005312A1 (en) * 2004-09-14 2007-01-04 Christopher Bateman Method and apparatus of determining parameterizations and distances for feature frame modeling using attribute based modeling
US7518606B2 (en) * 2006-04-04 2009-04-14 Autodesk, Inc. System and method for generating curved pipe objects for computer aided design models
CN101916316B (en) * 2010-08-20 2012-05-02 镇江科大船苑计算机网络工程有限公司 Scutcheon scale value drawing method
WO2014205632A1 (en) * 2013-06-24 2014-12-31 Adobe Systems Incorporated Gravity point drawing method
CN104217450B (en) * 2014-09-05 2017-02-22 南京航空航天大学 Quick drawing method of any-angle circular arc
US11310121B2 (en) * 2017-08-22 2022-04-19 Moovila, Inc. Systems and methods for electron flow rendering and visualization correction
CN110659026A (en) * 2019-08-02 2020-01-07 深圳市优必选科技股份有限公司 Method, device and equipment for generating graphic control
CN111366961B (en) * 2020-03-30 2022-05-20 中铁四局集团第五工程有限公司 RTK axis lofting measurement method
CN113643410B (en) * 2021-08-24 2024-01-23 凌云光技术股份有限公司 GUI graphic control design method and device for positioning elliptical arc curve

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4384286A (en) * 1980-08-29 1983-05-17 General Signal Corp. High speed graphics
US4618989A (en) * 1983-01-21 1986-10-21 Michio Kawata, Director-General of Agency of Industrial Science and Technology Method and system for detecting elliptical objects
US4941116A (en) * 1988-07-15 1990-07-10 Honeywell Inc. Elliptical arc generator for display systems
US5003498A (en) * 1986-01-13 1991-03-26 Hitachi, Ltd. Graphic display method
US5101436A (en) * 1990-05-11 1992-03-31 Optigraphics Corporation Hybrid image editor
US5138697A (en) * 1987-12-29 1992-08-11 Nippon Steel Corporation Graphic data conversion method
US5146551A (en) * 1985-04-26 1992-09-08 International Business Machines Corporation System for generating a circular or elliptic arc on a digital display
US5231504A (en) * 1991-12-30 1993-07-27 Xerox Corporation Method for improved color reproduction using linear mixing calculations based on positional relationships between an original color and an achromatic region in a linear mixing space
US5235678A (en) * 1987-02-13 1993-08-10 Nec Corporation Circuit for detecting an end point of an arc
US5251521A (en) * 1992-01-31 1993-10-12 Bondhus Corporation TORX-compatible elliptical driver
US5268998A (en) * 1990-11-27 1993-12-07 Paraspectives, Inc. System for imaging objects in alternative geometries
US5425109A (en) * 1992-10-22 1995-06-13 Mutoh Industries Ltd. System for identifying freehand drawings
US5469537A (en) * 1992-10-28 1995-11-21 International Technical Illustration Co., Ltd. Method of tracing a drawing and apparatus for embodying the method
US5586232A (en) * 1994-06-20 1996-12-17 Fujitsu Limited Projection view creation method with vector discrimination onto plane-represented curved surfaces
US5734751A (en) * 1994-07-22 1998-03-31 Nec Corporation Ellipse-like curve recognition by calculation of distances of points on the curve from FOCI
US5805858A (en) * 1994-04-28 1998-09-08 Omron Corporation Apparatus and method of automatically creating supplemental segment in two-dimensional drawings, and CAD/CAM system having function of automatically creating supplemental segment in two-dimensional drawings
US5856828A (en) * 1991-12-19 1999-01-05 Aerohydro, Inc. System of relational entities for object-oriented computer-aided geometric design
US6100903A (en) * 1996-08-16 2000-08-08 Goettsche; Mark T Method for generating an ellipse with texture and perspective
US6191795B1 (en) * 1998-09-30 2001-02-20 Silicon Graphics, Inc. Ellipsoidal projection mapping
US6292197B1 (en) * 1998-03-04 2001-09-18 J. Willem R. Langelaan Computer graphics system for modeling objects that include segments of an intersection of a modular matrix of rectangles and an elliptic, a lenticular or a rhombic segment
US6330356B1 (en) * 1999-09-29 2001-12-11 Rockwell Science Center Llc Dynamic visual registration of a 3-D object with a graphical model
US6614940B2 (en) * 2001-03-09 2003-09-02 Morisawa & Co., Ltd. System, method and computer program product for generic outline font compression
US20040163271A1 (en) * 2002-02-04 2004-08-26 Zars Leif Alexander System for marking an arc segment
US20040233461A1 (en) * 1999-11-12 2004-11-25 Armstrong Brian S. Methods and apparatus for measuring orientation and distance

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469337A (en) 1994-11-14 1995-11-21 General Electric Company Multiple port high brightness centralized lighting system

Patent Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4384286A (en) * 1980-08-29 1983-05-17 General Signal Corp. High speed graphics
US4618989A (en) * 1983-01-21 1986-10-21 Michio Kawata, Director-General of Agency of Industrial Science and Technology Method and system for detecting elliptical objects
US5146551A (en) * 1985-04-26 1992-09-08 International Business Machines Corporation System for generating a circular or elliptic arc on a digital display
US5003498A (en) * 1986-01-13 1991-03-26 Hitachi, Ltd. Graphic display method
US5235678A (en) * 1987-02-13 1993-08-10 Nec Corporation Circuit for detecting an end point of an arc
US5138697A (en) * 1987-12-29 1992-08-11 Nippon Steel Corporation Graphic data conversion method
US4941116A (en) * 1988-07-15 1990-07-10 Honeywell Inc. Elliptical arc generator for display systems
US5101436A (en) * 1990-05-11 1992-03-31 Optigraphics Corporation Hybrid image editor
US5268998A (en) * 1990-11-27 1993-12-07 Paraspectives, Inc. System for imaging objects in alternative geometries
US5856828A (en) * 1991-12-19 1999-01-05 Aerohydro, Inc. System of relational entities for object-oriented computer-aided geometric design
US5231504A (en) * 1991-12-30 1993-07-27 Xerox Corporation Method for improved color reproduction using linear mixing calculations based on positional relationships between an original color and an achromatic region in a linear mixing space
US5251521A (en) * 1992-01-31 1993-10-12 Bondhus Corporation TORX-compatible elliptical driver
US5425109A (en) * 1992-10-22 1995-06-13 Mutoh Industries Ltd. System for identifying freehand drawings
US5469537A (en) * 1992-10-28 1995-11-21 International Technical Illustration Co., Ltd. Method of tracing a drawing and apparatus for embodying the method
US5805858A (en) * 1994-04-28 1998-09-08 Omron Corporation Apparatus and method of automatically creating supplemental segment in two-dimensional drawings, and CAD/CAM system having function of automatically creating supplemental segment in two-dimensional drawings
US5586232A (en) * 1994-06-20 1996-12-17 Fujitsu Limited Projection view creation method with vector discrimination onto plane-represented curved surfaces
US5734751A (en) * 1994-07-22 1998-03-31 Nec Corporation Ellipse-like curve recognition by calculation of distances of points on the curve from FOCI
US6100903A (en) * 1996-08-16 2000-08-08 Goettsche; Mark T Method for generating an ellipse with texture and perspective
US6292197B1 (en) * 1998-03-04 2001-09-18 J. Willem R. Langelaan Computer graphics system for modeling objects that include segments of an intersection of a modular matrix of rectangles and an elliptic, a lenticular or a rhombic segment
US6191795B1 (en) * 1998-09-30 2001-02-20 Silicon Graphics, Inc. Ellipsoidal projection mapping
US6330356B1 (en) * 1999-09-29 2001-12-11 Rockwell Science Center Llc Dynamic visual registration of a 3-D object with a graphical model
US20040233461A1 (en) * 1999-11-12 2004-11-25 Armstrong Brian S. Methods and apparatus for measuring orientation and distance
US6614940B2 (en) * 2001-03-09 2003-09-02 Morisawa & Co., Ltd. System, method and computer program product for generic outline font compression
US20040163271A1 (en) * 2002-02-04 2004-08-26 Zars Leif Alexander System for marking an arc segment
US6904697B2 (en) * 2002-02-04 2005-06-14 Leif Alexander Zars System for marking an arc segment

Also Published As

Publication number Publication date
BR0307658A (en) 2005-04-26
WO2003071452A2 (en) 2003-08-28
CN1633659A (en) 2005-06-29
KR20040082430A (en) 2004-09-24
EP1476831A2 (en) 2004-11-17
WO2003071452A3 (en) 2004-04-01
US6967654B2 (en) 2005-11-22
AU2003217426B2 (en) 2008-05-15
AU2003217426A1 (en) 2003-09-09
CA2475832A1 (en) 2003-08-28
US20030156123A1 (en) 2003-08-21
JP2005526310A (en) 2005-09-02

Similar Documents

Publication Publication Date Title
US20060012600A1 (en) System and method for specifying elliptical parameters
EP0825559B1 (en) Method and apparatus for modifying a node-link diagram
EP0702330B1 (en) Layout of node-link structure in space with negative curvature
JP3747404B2 (en) Graphics image creating apparatus, method and program thereof
US8004525B2 (en) Displaying interconnects having an appearance indicating data characteristics
JP6196032B2 (en) Generation of surfaces from multiple 3D curves
US8698844B1 (en) Processing cursor movements in a graphical user interface of a multimedia application
US8907947B2 (en) Method and system for navigating in a product structure of a product
KR20010012815A (en) A reference based parametric demensioning method and system
US11449209B2 (en) Automatically positioning objects in three-dimensional space utilizing a widget
Eddy et al. Multidimensional design visualization in multiobjective optimization
US20080100615A1 (en) Sweep with guide surface
US20020047845A1 (en) Method, apparatus, and article of manufacture for displaying a line at an angle relative to an existing entity
Burch et al. Challenges and perspectives of interacting with hierarchy visualizations on large-scale displays
US7583273B2 (en) Method and system for transforming spatial data
US11176759B2 (en) Computer-implemented method of displaying a subset of a digitally modeled assembly of objects
Citrin et al. Incorporating fisheyeing into a visual programming environment
EP0825558A2 (en) Method and apparatus for displaying free-form graphic objects
US20220028140A1 (en) Transforming digital design objects utilizing dynamic magnetic guides
Jankun-Kelly et al. Focus+ context display of the visualization exploration process
Moioli Modeling Inorganic and Organic Objects in Blender
US20150243057A1 (en) Methods of rendering graphics by stroking paths
JPH06250777A (en) Three-dimensional position indicating device
Stuart et al. A Linear-Time Visualization Algorithm for Drawing Planar Graphs Represented by Regions
JPH0997346A (en) Figure input method

Legal Events

Date Code Title Description
AS Assignment

Owner name: COMPUTER ASSOCIATES THINK, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STEED, ARNOLD F.;REEL/FRAME:016955/0799

Effective date: 20030213

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION