Floating Point Precision Loss


Posted on 16th Feb 2014 07:03 pm by admin

I'm writing a program to draw a three-dimensional cube (with a corner cut off) without using any 3D graphics APIs. The only API call I make is win32's SetPixel()

Everything is going great. I've drawn lines, faces, and even the entire cube. Then rotation came along.

Did you know?Explore Trending and Topic pages for more stories like this.
For some reason, when I rotate my cube, it begins to shrink. I became confused, then I realised something. Floating point numbers are truncated.

Here's some code that is fired everytime the user presses 'X' on the keyboard.

Code: p->setY( p->getY() * cos(5.0/180.0*PI) - p->getZ() * sin(5.0/180.0*PI)); p->setZ( p->getY() * sin(5.0/180.0*PI) + p->getZ() * cos(5.0/180.0*PI));

p is a Point object that I created. Here the Y value and the Z value of the Point are being set. The problem is everytime X is pressed, and this code is fired, a small amount of precision is lost. As a result, the cube shrinks.

I'm really completely stumped. I remember when studying assembler that floating point numbers can be truncated or rounded. I think rounding would solve my problem. Since 50% of the time the value would round up, and 50% of the time the value would round down.

Whereas with truncation values are always lost, and never gained.
No comments posted yet

Your Answer:

Login to answer
213 Like 53 Dislike
Previous forums Next forums
Other forums

Kill a process
I have a question - how can I kill a process from a command line or by using Oracle SQL Developer? I

MS Access data into a html table
Hi everyone, I am quite a novice at php but I have created some helpful scripts that fetch data
f

Php navigation
I have four buttons on a php page.
If i click a button it will redirect to different php pages.

how do i display data on a page from mysql
1 - do i use this code at the top of each of my page i wish to only alow access if there as been a s

Time-based image rotation script
I'm trying to write a PHP script that rotates an image based on what time of day it is. I want the

how to remove in php string display
My code is

$message="We're looking at developing our website.";

$body= "

array_combine() trouble w/csv file
I have a problem with a piece of code I wrote to import some records from a csv file into mysql. I h

Force download script not handling files with spaces properly
I have a regular old php force download script, uses this code:

Code: header("Cache-Cont

If statement help please.
Hello on my site I have 2 content boxes. 1 is for the main content (which is the biggest one) and th

retrieving images from mysql database using php
So I've been trying to figure out how to store images in a mysql database, and as far as i can tell

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash