Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

4
  • $\begingroup$ Can you just scale two of the coordinates down, but leave the other coordinate (assuming an axis aligned ellipse) i.e just squash the circle points in two directions? That's just a linear transformation which is kind of trivial. If it weren't axis aligned then you'd need another matrix to rotate the coordinate frame first, squash, then un-rotate. $\endgroup$ Commented Aug 17, 2021 at 20:59
  • $\begingroup$ @flinty I'm not sure I understand about squashing only two directions. This squashing would need some fine tuning on more squashing towards the center and less towards the ends, no? Also, what you say about the axis-aligned transfer is a great point I hadn't considered. I'll add a comment on that. Ideally, this would keep the direction vector aligned to the major axis of the ellipsoid. $\endgroup$ Commented Aug 17, 2021 at 22:35
  • $\begingroup$ Are the points projected on to the ellipsoid not the nearest using the spherical radius? Also could you take a distribution of points on an ellipsoid and Manipulate[] the eccentricity to a sphere? $\endgroup$ Commented Aug 17, 2021 at 23:24
  • $\begingroup$ @TumbiSapichu I meant like this: Graphics3D[{reg, Blue, Point[reg[[2]]*# & /@ myPoints], Green, Point[npl] }] - but that will change the density of points - note the discrepancy between blue and green points. For the rotation this is really easy, just use a RotationTransform[{u,{1,0,0}}] that moves the vector u to {1,0,0} and apply to all points on the sphere, do stuff with the axis aligned ellipse, then rotate back with RotationTransform[{{1,0,0},u}] $\endgroup$ Commented Aug 18, 2021 at 11:52