US3728528A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Circular interpolation by finite differences
Assignee: Allen Bradley Co LLC
•
Filing: 1971-03-24
•
Granted: 1973-04-17
•
Expires: 1991-03-24
Abstract
Abstract A sine cosine generator is described which can iteratively rotate an initial condition vector at a predetermined rate thus producing points which lie on a circle whose radius is determined by the initial condition vector.
Inventors
- 👤 R Walters
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-25 16:56
CPC Classifications
G; G05; G05B; G05B19/00; G05B19/02; G05B19/18; G05B19/41; G05B19/4103; G06; G06F; G06F17/00; G06F17/10; G06F17/17
Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
451 words
A system for iteratively producing points which lie on a desired circle having a radius determined by initial conditions including the x and y position coordinates of a starting point of said circle and the desired radians/iteration represented as phi , said system comprising: first means for storing the value of x, second means for storing the value of y, third means for storing the value of phi , first means for multiplying to which the contents of said first means for storing and said third means for storing are applied to produce a first product, second means for multiplying to which the contents of said second means for storing and said third means for storing are applied, to produce a second product, fourth means for storing the first product produced by said first means for multiplying, fifth means for storing the second product produced by said second means for multiplying, a first adder/subtractor to which the contents of said fourth means for storing and the contents of said second means for storing are applied to be subtracted to produce a difference value, a second adder/subtractor to which the contents of said fifth means for storing and the contents of said first means for storing are applied to be added to produce a sum value, means for applying the value in said third means for storing and the value in said first adder/subtractor means to said first means for multiplying to produce a third product value, means for applying the value in said third means for storing and the value in said second adder/subtrcctor means to said second means for multiplying to pRoduce a fourth product value, means for transferring said third product in said first means for multiplying into said fourth means for storing, means for transferring said fourth product value in said second means for multiplying into said fifth means for storing, means for applying the third product value in said fourth means for storing and the value in said first means for storing to said first adder/subtractor to be added to produce a value which is the x coordinate of the next point on the perimeter of said desired circle, means for applying the value in said second means for storing and the value in said fifth means for storing to said second adder/subtractor to be subtracted to produce a value which is the y coordinate of the next point on the perimeter of said desired circle, and means for entering the x and y coordinate values generated by said first and second adder/subtractor respectively into said first and second means for storing for determining the locus of the next point on the perimeter of said desired circle.
Claim 2
Independent Claim
451 words
A system for iteratively producing points which lie on a desired circle having a radius determined by initial conditions including the x and y position coordinates of a starting point of said circle and the desired radians/iteration represented as phi , said system comprising: first means for storing the value of x, second means for storing the value of y, third means for storing the value of phi , first means for multiplying to which the contents of said first means for storing and said third means for storing are applied to produce a first product, second means for multiplying to which the contents of said second means for storing and said third means for storing are applied, to produce a second product, fourth means for storing the first product produced by said first means for multiplying, fifth means for storing the second product produced by said second means for multiplying, a first adder/subtractor to which the contents of said fourth means for storing and the contents of said second means for storing are applied to be subtracted to produce a difference value, a second adder/subtractor to which the contents of said fifth means for storing and the contents of said first means for storing are applied to be added to produce a sum value, means for applying the value in said third means for storing and the value in said first adder/subtractor means to said first means for multiplying to produce a third product value, means for applying the value in said third means for storing and the value in said second adder/subtrcctor means to said second means for multiplying to pRoduce a fourth product value, means for transferring said third product in said first means for multiplying into said fourth means for storing, means for transferring said fourth product value in said second means for multiplying into said fifth means for storing, means for applying the third product value in said fourth means for storing and the value in said first means for storing to said first adder/subtractor to be added to produce a value which is the x coordinate of the next point on the perimeter of said desired circle, means for applying the value in said second means for storing and the value in said fifth means for storing to said second adder/subtractor to be subtracted to produce a value which is the y coordinate of the next point on the perimeter of said desired circle, and means for entering the x and y coordinate values generated by said first and second adder/subtractor respectively into said first and second means for storing for determining the locus of the next point on the perimeter of said desired circle.
Claim 3
Dependent Claim
209 words
A system as recited in claim 1 wherein said first through said fifth means for storing all comprise shift registers, first and second ones of said shift registers which are said first and second means for storing each includes means for shifting the values x and y in said first and second shift registers in one direction a number of digit positions required to normalize said values, less one digit position to produce a value K, a third of said shift registers which is said third means for storing includes means for shifting said value phi in said third shift register a number of digit positions equal to K in a direction opposite to said one direction, a fourth and fifth ones of said shift registers which are said fourth and fifth means for storing includes means for shifting the respective first and second product values phi x and phi y in said fourth and fifth shift registers in a direction opposite to said one direction a number of digit positions equal to (1+16- K), and means for shifting the respective third and fourth product values in said fourth and fifth shift registers in a direction opposite to said one direction a number of digit positions equal to (16-K).
Claim 4
Dependent Claim
34 words
A system as recited in claim 1 wherein said first and second means for multiplying include means for producing as their products only a predetermined number of the most significant bits in their products.
Claim 5
Dependent Claim
54 words
A system as recited in claim 1 wherein there is included means for subtracting the respective x and y values in said first and second means for storing from the respective x and y coordinate values generated by said first and second adder/subtractors to provide values representative of motion increments for describing a circle.
Claim 6
Independent Claim
289 words
The method for iteratively producing points which lie on the periphery of a circle from initial condition information comrising the x and y coordinates of the start of the desired circle and a value phi '' which equals radians per iteration ( phi ) X 232 where phi < 1.0, said method comprising storing the values of x, y and phi '' respectively in first, second and third storage means, multiplying the values in said first and third storage registers to produce a first product, multiplying the values in said second and third storage means to produce a second product, storage said first and second products respectively in a fourth and fifth storage means, subtracting the product in said fourth storage means from the value in said second storage register to produce a first difference, adding the value in said first storage means to the product in said fifth storage means to produce a first sum, multiplying said first difference by the value in said third storage means to produce a third product, multipLying said first sum by the value in said third means to produce a fourth product, storing the third and fourth products respectively in said fourth and fifth storage means, adding the values in said first register to the third product in said fourth storage means to produce the x coordinate of the next point on the circle, subtracting from the value in said second storage means the product in said fifth storage means to produce the y coordinate of the next point on the circle, and storing the respective values of the x and y coordinates of the next point on the circle respectively in the first and second storage means for the next iteration.
Claim 7
Independent Claim
289 words
The method for iteratively producing points which lie on the periphery of a circle from initial condition information comrising the x and y coordinates of the start of the desired circle and a value phi '' which equals radians per iteration ( phi ) X 232 where phi < 1.0, said method comprising storing the values of x, y and phi '' respectively in first, second and third storage means, multiplying the values in said first and third storage registers to produce a first product, multiplying the values in said second and third storage means to produce a second product, storage said first and second products respectively in a fourth and fifth storage means, subtracting the product in said fourth storage means from the value in said second storage register to produce a first difference, adding the value in said first storage means to the product in said fifth storage means to produce a first sum, multiplying said first difference by the value in said third storage means to produce a third product, multipLying said first sum by the value in said third means to produce a fourth product, storing the third and fourth products respectively in said fourth and fifth storage means, adding the values in said first register to the third product in said fourth storage means to produce the x coordinate of the next point on the circle, subtracting from the value in said second storage means the product in said fifth storage means to produce the y coordinate of the next point on the circle, and storing the respective values of the x and y coordinates of the next point on the circle respectively in the first and second storage means for the next iteration.
Claim 8
Dependent Claim
160 words
The method recited in claim 5 wherein the step of storing the values of x, y and phi '' in said first, second and third storage means further includes the steps of normalizing the x and y values in said first and second storage means whereby the values of x and y are multiplied by 2N, where N is a normalization value, reducing the normalization of the x and y values in said first and second storage means by one digit position to reduce their multiplication to a value 2N 1 equal to 2K, multiplying the value phi in the third storage means by 2 K; said step of storing said first and second products in a fourth and fifth storage means further includes multiplying the respective first and second products in said fourth and fifth storage means 2 (1 16 K), and multiplying the third and fourth products in said fourth and fifth storage means by 2 (16 K).
Claim 9
Dependent Claim
99 words
The method as recited in claim 6 wherein there is included the steps of storing the values of x, y, and the x and y coordinates of the next point on the circle respectively in sixth, seventh, eighth and ninth storage means, multiply the values in each of said sixth, seventh, eighth and ninth storage means by 2 K, subtracting the values in said sixth and said seventh shift registers from one another to produce circular motion command increments, and subtracting the values in said seventh and ninth shift registers from one another to produce circular motion command increments.
Claim 10
Dependent Claim
25 words
The method as recited in claim 5 wherein each of steps of multiplying includes omitting a predetermined number of least significant bits in the product.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1976-04-16 | 1976-10-16 | 1977-04-17 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1980-04-16 | 1980-10-16 | 1981-04-17 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1984-04-16 | 1984-10-16 | 1985-04-17 | $7700.00 | Window Closed / Lapsed |