-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!not-for-mail
From: g...@n...invalid (Adam Wysocki)
Newsgroups: pl.comp.programming
Subject: Re: iterowanie po kwadracie
Date: Mon, 2 Apr 2012 12:51:35 +0000 (UTC)
Organization: news.chmurka.net
Lines: 40
Message-ID: <p...@n...chmurka.net>
References: <jl4tcg$jo0$1@inews.gazeta.pl> <jl56od$hos$1@inews.gazeta.pl>
NNTP-Posting-Host: avenger.chmurka.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: avenger.news.chmurka.net 1333371095 15140 94.75.119.166 (2 Apr 2012 12:51:35
GMT)
X-Complaints-To: usenet#chmurka.net
NNTP-Posting-Date: Mon, 2 Apr 2012 12:51:35 +0000 (UTC)
X-Accept-Language: pl, en-us, en
X-Face: cH9M7E&=}hx;:1xh~O-@_W%(+nYCoNx6[gzClaf{{5#M@%v@D@3#5[=yv>XO\D?39"SsA~%
:>dyB~`d?;hdxK-'g3?"Mz/4%[j@_MMe8:8B=EUYkc#nqxy<vvbc(@~@|ML,jK%C;z3)gKyR:,QBb3
9PPzM74c>y{6"X`:)D*<j-,~_L`IYzr)@RG_dn
X-Composer: nano
X-User-Uptime: 854847791 seconds
X-Hackerkey: v4sw7CHPSU$hw8ln4pr8OP$ck4$ma6u7LNS$w2Cm4g/l8D$i5e5t4Xb5en8$aIs0r1
p0/0g4/5CHO http://www.hackerkey.com/
User-Agent: tin/1.9.3-20080506 ("Dalintober") (UNIX) (Linux/2.6.38-avenger (i686))
X-Geek-Code: v3.1 G d- s:++ a- C++++$ UBL++++$ P+ L++++$ !E !W++ N++ o? K--? !w !O M?
!V PS+++ PE++ Y++ PGP++ !t !5 X+ !R tv-- b- DI D+ G e h r++ y?**
X-Comment-To: " M.M." <m...@g...pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:196544
[ ukryj nagłówki ]M.M. <m...@g...pl> wrote:
> Kolejne punkty leza na prostych, wiec punkt nastepny uzyskuje
> sie przez dodanie dx i dy do punktu poprzedniego. Ze
> wzorow na obrot trzeb wyliczyc start_x i start_y a
> potem odpowiednio dodawac dx i dy.
Może to kumulować błąd, jeżeli dx i dy są w jakiś sposób przybliżone
(np. float). Lepiej nie dodawać tylko mnożyć.
Przykład tego o czym mówię:
#include <stdio.h>
int main()
{
long i;
const float factor = 1.11;
float f = 0;
for (i = 0; i <= 100000; ++i)
{
if (!(i % 1000))
printf("i=%d i*factor=%.4f f=%.4f diff=%.4f\n", i, i *
factor, f, f - i * factor);
f += factor;
}
return 0;
}
Ostatnia linijka outputu:
i=100000 i*factor=111000.0014 f=110948.9922 diff=-51.0092
Kalkulator mówi, że 100000 * 1.11 to 111000 i mniej więcej tyle wyszło
z mnożenia, a z dodawania 0.05% mniej.
--
Gof
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-20 Fiat 125p wer. pikup - w PRL moszna było, w III Reczy [pospolitej] nie moszna
- 2024-05-19 Pożar salonu z chińskimi elektrykami
- 2024-05-18 LED
- 2024-05-19 ceny nieruchomości
- 2024-05-18 Szczecin => UX/UI Designer <=
- 2024-05-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=