Group Abstract Group Abstract

Message Boards Message Boards

0
|
3.6K Views
|
4 Replies
|
2 Total Likes
View groups...
Share
Share this post:

[?] Formula to return object area comprised of lines and radii?

Posted 7 years ago
Attachments:
POSTED BY: Barry Frye
4 Replies
Posted 7 years ago

I'm sure this will return the accuracy required. Since I no longer have the formula that I used, what I would like to find that formula. The input file contained codes to indicate straight line motion and circular motion (clockwise and counterclockwise) along with the x-y coordinates for destination and x-y offset coordinates for radii location. The program provided the area under the lines and radii. Areas were positive for left-right relative motion (I & II) and negative for relative right-left motion (III & IV).I found the formula in the appendix of a calculus book published ~1970-1973.

POSTED BY: Barry Frye

Another way:

data = Polygon[{{1, 1}, {2, 10}, {4, 10}, {4.15, 9.6}, {4.5, 9}, {5, 
    8.5}, {5.4, 8.3}, {6, 8.2}, {6, 8.6}, {6.1, 9}, {6.25, 9.3}, {6.5,
     9.5}, {9.5, 9}, {9.5, 3}, {7, 2.5}, {6.8, 2.2}, {6.4, 1.9}, {6, 
    1.8}, {5.4, 1.85}, {4.96, 2.2}, {4.8, 2.3}, {4.5, 2.35}, {4.4, 
    2.35}, {3.9, 2.2}, {3.5, 1.8}}];
Graphics[data]

enter image description here

Area[data]
(* 57.6415 *)
POSTED BY: Mariusz Iwaniuk
Posted 7 years ago

I would need the accuracy to be +/- 0.001 so the polygon solution would be approximate. Correct?

POSTED BY: Barry Frye

In Wolfram Language(Mathematica) only exact numbers have infinity precision.

A toy example:

     data = Polygon[{{0, 0}, {1, 1}, {1, 1/3}}];(* 1/3 exact value *)
     Graphics[data]
     Area[data, Method -> {"NIntegrate", WorkingPrecision -> 100}]
     (* 0.33333333333333333333333333333333333333333333333333333333333333333333\
     33333333333333333333333333333333 *)


      data = Polygon[{{0, 0}, {1, 1}, {1, 0.3}}];(* 0.3 a numeric value with "MachinePrecision" *)
      Graphics[data]
      Precision[0.3]
      (*  MachinePrecision *)
      Area[data, Method -> {"NIntegrate", WorkingPrecision -> 100}]
      ( *0.35 *)

      data = Polygon[{{0, 0}, {1, 1}, {1,0.33333}}];(* 0.33333 a numeric value with "MachinePrecision" *)
      Graphics[data]
      Precision[0.33333]
      (*  MachinePrecision *)
      Area[data, Method -> {"NIntegrate", WorkingPrecision -> 100}]
      ( *0.333335 *)
POSTED BY: Mariusz Iwaniuk
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard