It looks like you're new here. If you want to get involved, click one of these buttons!

- 141.5K All Categories
- 104.7K Programming Languages
- 6.4K Assembler Developer
- 1.9K Basic
- 39.8K C and C++
- 4.3K C#
- 7.9K Delphi and Kylix
- 4 Haskell
- 9.6K Java
- 4.1K Pascal
- 1.3K Perl
- 2K PHP
- 518 Python
- 37 Ruby
- 4.3K VB.NET
- 1.6K VBA
- 20.8K Visual Basic
- 2.6K Game programming
- 312 Console programming
- 89 DirectX Game dev
- 1 Minecraft
- 110 Newbie Game Programmers
- 2 Oculus Rift
- 8.9K Applications
- 1.8K Computer Graphics
- 730 Computer Hardware
- 3.4K Database & SQL
- 522 Electronics development
- 1.6K Matlab
- 628 Sound & Music
- 257 XML Development
- 3.3K Classifieds
- 196 Co-operative Projects
- 185 For sale
- 189 FreeLance Software City
- 1.9K Jobs Available
- 600 Jobs Wanted
- 201 Wanted
- 2.9K Microsoft .NET
- 1.7K ASP.NET
- 1.1K .NET General
- 3.3K Miscellaneous
- 4 Join the Team
- 0 User Profiles
- 353 Comments on this site
- 60 Computer Emulators
- 2.1K General programming
- 183 New programming languages
- 604 Off topic board
- 170 Mobile & Wireless
- 44 Android
- 124 Palm Pilot
- 335 Multimedia
- 151 Demo programming
- 184 MP3 programming
- 0 Bash scripts
- 19 Cloud Computing
- 53 FreeBSD
- 1.7K LINUX programming
- 367 MS-DOS
- 0 Shell scripting
- 320 Windows CE & Pocket PC
- 4.1K Windows programming
- 895 Software Development
- 408 Algorithms
- 68 Object Orientation
- 89 Project Management
- 90 Quality & Testing
- 239 Security
- 7.6K WEB-Development
- 1.8K Active Server Pages
- 61 AJAX
- 2 Bootstrap Themes
- 55 CGI Development
- 19 ColdFusion
- 222 Flash development
- 1.4K HTML & WEB-Design
- 1.4K Internet Development
- 2.2K JavaScript
- 34 JQuery
- 286 WEB Servers
- 151 WEB-Services / SOAP

Whiteout
Posts: **1**Member

in 3D Graphics

Hi,

I am trying to project a point x in 3D Space onto a point x' on the surface of a cone. x' should be the point on the cone's surface closest to the original point x such that the normalized vector x-x' is the cone's surface normal in the point x'.

The Cone is parameterize in two distinct ways...

(1) - the cone's apex a e R

I am trying to project a point x in 3D Space onto a point x' on the surface of a cone. x' should be the point on the cone's surface closest to the original point x such that the normalized vector x-x' is the cone's surface normal in the point x'.

The Cone is parameterize in two distinct ways...

(1) - the cone's apex a e R

Terms of use / Privacy statement / Publisher: Lars Hagelin

Programmers Heaven articles / Programmers Heaven files / Programmers Heaven uploaded content / Programmers Heaven C Sharp ebook / Operated by CommunityHeaven LLC

© 1997-2015 Programmersheaven.com - All rights reserved.

## Comments

675MemberSimplify the problem. For example, you could rotate the whole space around such that the axis of the cone is the y axis. You could also transform so that the point x is on a plane like z=0. Don't forget this transformation because it will have to be reversed after you solve this simpler problem.

Look at that plane z=0. The cone's axis is on it along with the point x. The cone intersects the plane along 2 lines. Also, the closest point between x and the cone is on this plane too. In fact, the closest point between x and the cone is the same as the closest point between x and those lines.

Solve for the closest point on the plane. You can use basic linear algebra for this. The coordinates would be of the form (X,Y,0).

Now, perform the reverse of the earlier transformations on (X,Y,0) to get your point x prime.

I'm working on a ray tracer that uses a similar technique to make it easier to implement the scaling, translation, rotation... of shapes while each shape's ray tracing functions are implemented assuming it is centred on the origin, unscaled, and not rotated.

: Hi,

:

: I am trying to project a point x in 3D Space onto a point x' on the

: surface of a cone. x' should be the point on the cone's surface

: closest to the original point x such that the normalized vector x-x'

: is the cone's surface normal in the point x'.

:

: The Cone is parameterize in two distinct ways...

:

: (1) - the cone's apex a e R?

: - the cone's normal n e R?

: - the cone's opening semi-angle alpha

:

: (2) - a point p e R? on the cone's axis but not the apex

: - a normal n e R? pointing from p towards the axis

: - the ortohgonal distance s from from p to the cone's surface

: - the opening semi-angle alpha

:

: I have thought quite a lot about this problem but have not come up

: with a satisfying result. Does anybody know a solution and is

: willing to help out?

:

: Thanks a lot...

: