All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > Just Math
Worlds in collision (Posted on 2008-02-16) Difficulty: 3 of 5
The equation for an ellipse in polar coordinates is R = p/(1+ecos(t)) where t is the angle between the periapsis and any position on the ellipse, as measured from the origin (focus).

Suppose that two ellipses in the same plane and also sharing the same focus have periapses separated by an angle D. Show that the ellipses intersect if and only if

2p1p2 (1 - e1e2cosD) is at least as large as

p12(1 - e22) + p22(1 - e12)

__________________________________________________

Bonus problem

Suppose that the ellipses were in distinct planes, given by their normals L1 and L2. Now what is the intersection condition?

Note:

The title refers to the fact that planetary orbits are ellipses with common focus.

See The Solution Submitted by FrankM    
Rating: 3.0000 (1 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
Some Thoughts computer exploration Comment 1 of 1

The following Visual Basic 5.0 program seems to verify the results, but of course, is no proof.  For the bonus, it would seem to be necessary just to compute R along the line of intersection of the two planes, for the two ellipses, to see if either one of one ellipse matches either one of the other ellipse.

VERSION 5.00
Begin VB.Form Form1
   AutoRedraw      =   -1  'True
   Caption         =   "Form1"
   ClientHeight    =   9330
   ClientLeft      =   1275
   ClientTop       =   825
   ClientWidth     =   12210
   LinkTopic       =   "Form1"
   ScaleHeight     =   16.457
   ScaleMode       =   7  'Centimeter
   ScaleWidth      =   21.537
   Begin VB.TextBox txtNum2
      Height          =   285
      Left            =   240
      TabIndex        =   12
      Top             =   9000
      Width           =   855
   End
   Begin VB.TextBox txtNum1
      Height          =   285
      Left            =   240
      TabIndex        =   11
      Top             =   8640
      Width           =   855
   End
   Begin VB.TextBox txtD
      Height          =   285
      Left            =   11040
      TabIndex        =   8
      Top             =   840
      Width           =   975
   End
   Begin VB.CommandButton cmdStart
      Caption         =   "Start"
      Default         =   -1  'True
      Height          =   495
      Left            =   11280
      TabIndex        =   10
      Top             =   8640
      Width           =   855
   End
   Begin VB.TextBox txtE2
      Height          =   285
      Left            =   11040
      TabIndex        =   7
      Top             =   480
      Width           =   975
   End
   Begin VB.TextBox txtP2
      Height          =   285
      Left            =   11040
      TabIndex        =   4
      Top             =   120
      Width           =   975
   End
   Begin VB.TextBox txtE1
      Height          =   285
      Left            =   600
      TabIndex        =   3
      Top             =   480
      Width           =   975
   End
   Begin VB.TextBox txtP1
      Height          =   285
      Left            =   600
      TabIndex        =   0
      Top             =   120
      Width           =   975
   End
   Begin VB.Label Label5
      Caption         =   "D:"
      Height          =   255
      Left            =   10680
      TabIndex        =   9
      Top             =   840
      Width           =   255
   End
   Begin VB.Label Label4
      Caption         =   "e2:"
      Height          =   255
      Left            =   10680
      TabIndex        =   6
      Top             =   480
      Width           =   255
   End
   Begin VB.Label Label3
      Caption         =   "p2:"
      Height          =   255
      Left            =   10680
      TabIndex        =   5
      Top             =   120
      Width           =   255
   End
   Begin VB.Label Label2
      Caption         =   "e1:"
      Height          =   255
      Left            =   240
      TabIndex        =   2
      Top             =   480
      Width           =   255
   End
   Begin VB.Label Label1
      Caption         =   "p1:"
      Height          =   255
      Left            =   240
      TabIndex        =   1
      Top             =   120
      Width           =   255
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim pi, dr, x, y, xOffset, yOffset

Private Sub cmdStart_Click()
pi = Atn(1) * 4: dr = pi / 180
xOffset = ScaleWidth * 2 / 3: yOffset = ScaleHeight / 2

Cls

txtNum1 = 2 * Val(txtP1) * Val(txtP2) * (1 - Val(txtE1) * Val(txtE2) * Cos(Val(txtD) * dr))
txtNum2 = Val(txtP1) ^ 2 * (1 - Val(txtE2) ^ 2) + Val(txtP2) ^ 2 * (1 - Val(txtE1) ^ 2)

p = Val(txtP1): e = Val(txtE1): D = 0
For t = 0 To 360
 position p, e, t, 0
 If t = 0 Then PSet (x, y) Else Line -(x, y)
Next

p = Val(txtP2): e = Val(txtE2): D = Val(txtD)
For t = 0 To 360
 position p, e, t, D
 If t = 0 Then PSet (x, y) Else Line -(x, y)
Next

End Sub

Sub position(p, e, t, D)
 r = p / (1 + e * Cos(t * dr))
 x = xOffset + r * Cos((t + D) * dr)
 y = yOffset - r * Sin((t + D) * dr)
End Sub


  Posted by Charlie on 2008-02-16 12:48:43
Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (13)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2024 by Animus Pactum Consulting. All rights reserved. Privacy Information