Kalkulator promienia okręgu - oblicz promień z danych

Oblicz promień okręgu na podstawie średnicy, obwodu lub pola. Idealne do obliczeń geometrycznych i zrozumienia właściwości okręgu.

Kalkulator promienia koła

📚

Dokumentacja

Kalkulator Promienia Koła

Wprowadzenie

Promień koła jest jedną z jego najważniejszych właściwości. Jest to odległość od środka koła do dowolnego punktu na jego obwodzie. Ten kalkulator pozwala określić promień koła na podstawie trzech różnych parametrów wejściowych:

  1. Średnica
  2. Obwód
  3. Pole

Podając dowolną z tych wartości, możesz obliczyć promień, korzystając z matematycznych zależności inherentnych w geometrii koła.

Wzór

Promień można obliczyć ze średnicy, obwodu lub pola, korzystając z następujących wzorów:

  1. Ze Średnicy (dd):

    r=d2r = \frac{d}{2}
  2. Z Obwodu (CC):

    r=C2πr = \frac{C}{2\pi}
  3. Z Pola (AA):

    r=Aπr = \sqrt{\frac{A}{\pi}}

Te wzory są wyprowadzone z podstawowych właściwości koła:

  • Średnica: Średnica jest dwa razy większa od promienia (d=2rd = 2r).
  • Obwód: Obwód to odległość wokół koła (C=2πrC = 2\pi r).
  • Pole: Pole zamknięte przez koło (A=πr2A = \pi r^2).

Obliczenia

Obliczanie Promienia ze Średnicy

Podana średnica, promień to po prostu jej połowa:

r=d2r = \frac{d}{2}

Przykład:

Jeśli średnica wynosi 10 jednostek:

r=102=5 jednostekr = \frac{10}{2} = 5 \text{ jednostek}

Obliczanie Promienia z Obwodu

Zaczynając od wzoru na obwód:

C=2πrC = 2\pi r

Rozwiązując dla rr:

r=C2πr = \frac{C}{2\pi}

Przykład:

Jeśli obwód wynosi 31.415931.4159 jednostek:

r=31.41592π31.41596.28325 jednostekr = \frac{31.4159}{2\pi} \approx \frac{31.4159}{6.2832} \approx 5 \text{ jednostek}

Obliczanie Promienia z Pola

Zaczynając od wzoru na pole:

A=πr2A = \pi r^2

Rozwiązując dla rr:

r=Aπr = \sqrt{\frac{A}{\pi}}

Przykład:

Jeśli pole wynosi 78.539878.5398 jednostek kwadratowych:

r=78.5398π=78.53983.141625=5 jednostekr = \sqrt{\frac{78.5398}{\pi}} = \sqrt{\frac{78.5398}{3.1416}} \approx \sqrt{25} = 5 \text{ jednostek}

Przypadki Krawędzi i Walidacja Wejścia

  • Zera lub Ujemne Wejścia: Koło nie może mieć ujemnej lub zerowej średnicy, obwodu ani pola. Jeśli którakolwiek z tych wartości jest zerowa lub ujemna, promień jest niezdefiniowany. Kalkulator wyświetli w takich przypadkach komunikat o błędzie.

  • Wejścia Nienumeryczne: Kalkulator wymaga numerycznych wejść. Wartości nienumeryczne (np. litery lub symbole) są nieprawidłowe.

Precyzja i Zaokrąglanie

Ten kalkulator używa arytmetyki zmiennoprzecinkowej podwójnej precyzji do obliczeń. Wyniki są zazwyczaj wyświetlane zaokrąglone do czterech miejsc po przecinku dla większej dokładności. Przy użyciu stałych matematycznych, takich jak π\pi, kalkulator wykorzystuje pełną precyzję dostępną w języku programowania lub środowisku. Należy pamiętać, że arytmetyka zmiennoprzecinkowa może w niektórych przypadkach wprowadzać małe błędy zaokrągleń.

Przykłady Zastosowań

Obliczanie promienia koła jest istotne w różnych dziedzinach:

Inżynieria i Budownictwo

  • Projektowanie Komponentów Okrągłych: Inżynierowie często muszą określić promień przy projektowaniu kół, zębatek, rur lub kopuł.

  • Architektura: Architekci używają promienia do projektowania łuków, kopuł i okrągłych budynków.

Astronomia

  • Orbity Planetarne: Astronomowie obliczają promień orbit planetarnych na podstawie danych obserwacyjnych.

  • Ciała Niebieskie: Określenie rozmiarów planet, gwiazd i innych obiektów niebieskich.

Rozwiązywanie Codziennych Problemów

  • Sztuka i Projektowanie: Artyści i projektanci obliczają promień, aby tworzyć okrągłe wzory i projekty.

  • Projekty DIY: Obliczanie materiałów potrzebnych do okrągłych stołów, ogrodów lub fontann.

Matematyka i Edukacja

  • Nauka Geometrii: Zrozumienie właściwości kół jest fundamentalne w edukacji geometrycznej.

  • Rozwiązywanie Problemów: Obliczenia promienia są powszechne w problemach matematycznych i zawodach.

Alternatywy

Chociaż promień jest podstawową właściwością, czasami inne właściwości koła są wygodniejsze do bezpośredniego zmierzenia:

  • Mierzenie Długości Chordu: Przydatne, gdy masz stałe punkty na kole i musisz obliczyć promień.

  • Używanie Powierzchni Sektora lub Długości Łuku: W przypadkach dotyczących częściowych sekcji koła.

Historia

Badanie kół sięga starożytnych cywilizacji:

  • Starożytna Geometria: Koło było badane od czasów starożytnych Egipcjan i Babilończyków.

  • Elementy Euklidesa: Około 300 roku p.n.e. Euklides zdefiniował koło i jego właściwości w swoim przełomowym dziele, Elementy.

  • Archimedes: Opracował metody przybliżania (\pi) i obliczał pola i objętości związane z kołami i sferami.

  • Rozwój (\pi): Na przestrzeni wieków matematycy, tacy jak Liu Hui, Zu Chongzhi, Aryabhata, a ostatecznie John Wallis i Isaac Newton, udoskonalili wartość i zrozumienie (\pi).

Promień pozostaje fundamentalnym pojęciem nie tylko w geometrii, ale także w fizyce, inżynierii i różnych naukach stosowanych.

Przykłady

Oto przykłady kodu w wielu językach programowania do obliczania promienia ze średnicy, obwodu i pola.

Ze Średnicy

Python
1## Obliczanie promienia ze średnicy
2def radius_from_diameter(diameter):
3    if diameter <= 0:
4        raise ValueError("Średnica musi być większa od zera.")
5    return diameter / 2
6
7## Przykład użycia
8d = 10
9r = radius_from_diameter(d)
10print(f"Promień wynosi {r} jednostek.")
11
JavaScript
1// Obliczanie promienia ze średnicy
2function radiusFromDiameter(diameter) {
3    if (diameter <= 0) {
4        throw new Error("Średnica musi być większa od zera.");
5    }
6    return diameter / 2;
7}
8
9// Przykład użycia
10let d = 10;
11let r = radiusFromDiameter(d);
12console.log(`Promień wynosi ${r} jednostek.`);
13
Java
1public class CircleRadiusCalculator {
2    public static double radiusFromDiameter(double diameter) {
3        if (diameter <= 0) {
4            throw new IllegalArgumentException("Średnica musi być większa od zera.");
5        }
6        return diameter / 2;
7    }
8
9    public static void main(String[] args) {
10        double d = 10;
11        double r = radiusFromDiameter(d);
12        System.out.printf("Promień wynosi %.2f jednostek.%n", r);
13    }
14}
15
C++
1// Obliczanie promienia ze średnicy
2#include <iostream>
3#include <stdexcept>
4
5double radiusFromDiameter(double diameter) {
6    if (diameter <= 0) {
7        throw std::invalid_argument("Średnica musi być większa od zera.");
8    }
9    return diameter / 2.0;
10}
11
12int main() {
13    double d = 10.0;
14    try {
15        double r = radiusFromDiameter(d);
16        std::cout << "Promień wynosi " << r << " jednostek." << std::endl;
17    } catch (const std::exception& e) {
18        std::cerr << e.what() << std::endl;
19    }
20    return 0;
21}
22
R
1## Obliczanie promienia ze średnicy
2radius_from_diameter <- function(diameter) {
3  if (diameter <= 0) {
4    stop("Średnica musi być większa od zera.")
5  }
6  return(diameter / 2)
7}
8
9## Przykład użycia
10d <- 10
11r <- radius_from_diameter(d)
12cat(sprintf("Promień wynosi %.2f jednostek.\n", r))
13
Ruby
1## Obliczanie promienia ze średnicy
2def radius_from_diameter(diameter)
3  raise ArgumentError, "Średnica musi być większa od zera." if diameter <= 0
4  diameter / 2.0
5end
6
7## Przykład użycia
8d = 10
9r = radius_from_diameter(d)
10puts "Promień wynosi #{r} jednostek."
11
PHP
1<?php
2// Obliczanie promienia ze średnicy
3function radiusFromDiameter($diameter) {
4    if ($diameter <= 0) {
5        throw new Exception('Średnica musi być większa od zera.');
6    }
7    return $diameter / 2;
8}
9
10// Przykład użycia
11$d = 10;
12$r = radiusFromDiameter($d);
13echo "Promień wynosi {$r} jednostek.";
14?>
15
Rust
1// Obliczanie promienia ze średnicy
2fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
3    if diameter <= 0.0 {
4        return Err("Średnica musi być większa od zera.");
5    }
6    Ok(diameter / 2.0)
7}
8
9fn main() {
10    let d = 10.0;
11    match radius_from_diameter(d) {
12        Ok(r) => println!("Promień wynosi {:.2} jednostek.", r),
13        Err(e) => println!("{}", e),
14    }
15}
16
Swift
1import Foundation
2
3// Obliczanie promienia ze średnicy
4func radiusFromDiameter(_ diameter: Double) throws -> Double {
5    if diameter <= 0 {
6        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Średnica musi być większa od zera."])
7    }
8    return diameter / 2.0
9}
10
11// Przykład użycia
12do {
13    let d = 10.0
14    let r = try radiusFromDiameter(d)
15    print("Promień wynosi \(r) jednostek.")
16} catch {
17    print(error.localizedDescription)
18}
19

Z Obwodu

Python
1import math
2
3## Obliczanie promienia z obwodu
4def radius_from_circumference(circumference):
5    if circumference <= 0:
6        raise ValueError("Obwód musi być większy od zera.")
7    return circumference / (2 * math.pi)
8
9## Przykład użycia
10C = 31.4159
11r = radius_from_circumference(C)
12print(f"Promień wynosi {r:.2f} jednostek.")
13
JavaScript
1// Obliczanie promienia z obwodu
2function radiusFromCircumference(circumference) {
3    if (circumference <= 0) {
4        throw new Error("Obwód musi być większy od zera.");
5    }
6    return circumference / (2 * Math.PI);
7}
8
9// Przykład użycia
10let C = 31.4159;
11let r = radiusFromCircumference(C);
12console.log(`Promień wynosi ${r.toFixed(2)} jednostek.`);
13
Java
1public class CircleRadiusCalculator {
2    public static double radiusFromCircumference(double circumference) {
3        if (circumference <= 0) {
4            throw new IllegalArgumentException("Obwód musi być większy od zera.");
5        }
6        return circumference / (2 * Math.PI);
7    }
8
9    public static void main(String[] args) {
10        double C = 31.4159;
11        double r = radiusFromCircumference(C);
12        System.out.printf("Promień wynosi %.2f jednostek.%n", r);
13    }
14}
15
C++
1// Obliczanie promienia z obwodu
2#include <iostream>
3#include <cmath>
4#include <stdexcept>
5
6double radiusFromCircumference(double circumference) {
7    if (circumference <= 0) {
8        throw std::invalid_argument("Obwód musi być większy od zera.");
9    }
10    return circumference / (2.0 * M_PI);
11}
12
13int main() {
14    double C = 31.4159;
15    try {
16        double r = radiusFromCircumference(C);
17        std::cout << "Promień wynosi " << r << " jednostek." << std::endl;
18    } catch (const std::exception& e) {
19        std::cerr << e.what() << std::endl;
20    }
21    return 0;
22}
23
R
1## Obliczanie promienia z obwodu
2radius_from_circumference <- function(circumference) {
3  if (circumference <= 0) {
4    stop("Obwód musi być większy od zera.")
5  }
6  return(circumference / (2 * pi))
7}
8
9## Przykład użycia
10C <- 31.4159
11r <- radius_from_circumference(C)
12cat(sprintf("Promień wynosi %.2f jednostek.\n", r))
13
Ruby
1## Obliczanie promienia z obwodu
2def radius_from_circumference(circumference)
3  raise ArgumentError, "Obwód musi być większy od zera." if circumference <= 0
4  circumference / (2 * Math::PI)
5end
6
7## Przykład użycia
8C = 31.4159
9r = radius_from_circumference(C)
10puts "Promień wynosi #{format('%.2f', r)} jednostek."
11
PHP
1<?php
2// Obliczanie promienia z obwodu
3function radiusFromCircumference($circumference) {
4    if ($circumference <= 0) {
5        throw new Exception('Obwód musi być większy od zera.');
6    }
7    return $circumference / (2 * M_PI);
8}
9
10// Przykład użycia
11$C = 31.4159;
12$r = radiusFromCircumference($C);
13echo "Promień wynosi " . round($r, 2) . " jednostek.";
14?>
15
Rust
1use std::f64::consts::PI;
2
3// Obliczanie promienia z obwodu
4fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
5    if circumference <= 0.0 {
6        return Err("Obwód musi być większy od zera.");
7    }
8    Ok(circumference / (2.0 * PI))
9}
10
11fn main() {
12    let C = 31.4159;
13    match radius_from_circumference(C) {
14        Ok(r) => println!("Promień wynosi {:.2} jednostek.", r),
15        Err(e) => println!("{}", e),
16    }
17}
18
Swift
1import Foundation
2
3// Obliczanie promienia z obwodu
4func radiusFromCircumference(_ circumference: Double) throws -> Double {
5    if circumference <= 0 {
6        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Obwód musi być większy od zera."])
7    }
8    return circumference / (2 * Double.pi)
9}
10
11// Przykład użycia
12do {
13    let C = 31.4159
14    let r = try radiusFromCircumference(C)
15    print(String(format: "Promień wynosi %.2f jednostek.", r))
16} catch {
17    print(error.localizedDescription)
18}
19

Z Pola

Python
1import math
2
3## Obliczanie promienia z pola
4def radius_from_area(area):
5    if area <= 0:
6        raise ValueError("Pole musi być większe od zera.")
7    return math.sqrt(area / math.pi)
8
9## Przykład użycia
10A = 78.5398
11r = radius_from_area(A)
12print(f"Promień wynosi {r:.2f} jednostek.")
13
JavaScript
1// Obliczanie promienia z pola
2function radiusFromArea(area) {
3    if (area <= 0) {
4        throw new Error("Pole musi być większe od zera.");
5    }
6    return Math.sqrt(area / Math.PI);
7}
8
9// Przykład użycia
10let A = 78.5398;
11let r = radiusFromArea(A);
12console.log(`Promień wynosi ${r.toFixed(2)} jednostek.`);
13
Java
1public class CircleRadiusCalculator {
2    public static double radiusFromArea(double area) {
3        if (area <= 0) {
4            throw new IllegalArgumentException("Pole musi być większe od zera.");
5        }
6        return Math.sqrt(area / Math.PI);
7    }
8
9    public static void main(String[] args) {
10        double A = 78.5398;
11        double r = radiusFromArea(A);
12        System.out.printf("Promień wynosi %.2f jednostek.%n", r);
13    }
14}
15
C++
1// Obliczanie promienia z pola
2#include <iostream>
3#include <cmath>
4#include <stdexcept>
5
6double radiusFromArea(double area) {
7    if (area <= 0) {
8        throw std::invalid_argument("Pole musi być większe od zera.");
9    }
10    return std::sqrt(area / M_PI);
11}
12
13int main() {
14    double A = 78.5398;
15    try {
16        double r = radiusFromArea(A);
17        std::cout << "Promień wynosi " << r << " jednostek." << std::endl;
18    } catch (const std::exception& e) {
19        std::cerr << e.what() << std::endl;
20    }
21    return 0;
22}
23
R
1## Obliczanie promienia z pola
2radius_from_area <- function(area) {
3  if (area <= 0) {
4    stop("Pole musi być większe od zera.")
5  }
6  return(sqrt(area / pi))
7}
8
9## Przykład użycia
10A <- 78.5398
11r <- radius_from_area(A)
12cat(sprintf("Promień wynosi %.2f jednostek.\n", r))
13
MATLAB
1% Obliczanie promienia z pola
2function r = radius_from_area(area)
3    if area <= 0
4        error('Pole musi być większe od zera.');
5    end
6    r = sqrt(area / pi);
7end
8
9% Przykład użycia
10A = 78.5398;
11r = radius_from_area(A);
12fprintf('Promień wynosi %.2f jednostek.\n', r);
13
C#
1using System;
2
3class CircleRadiusCalculator
4{
5    public static double RadiusFromArea(double area)
6    {
7        if (area <= 0)
8            throw new ArgumentException("Pole musi być większe od zera.");
9        return Math.Sqrt(area / Math.PI);
10    }
11
12    static void Main()
13    {
14        double A = 78.5398;
15        double r = RadiusFromArea(A);
16        Console.WriteLine("Promień wynosi {0:F2} jednostek.", r);
17    }
18}
19
Go
1package main
2
3import (
4	"fmt"
5	"math"
6)
7
8func radiusFromArea(area float64) (float64, error) {
9	if area <= 0 {
10		return 0, fmt.Errorf("Pole musi być większe od zera.")
11	}
12	return math.Sqrt(area / math.Pi), nil
13}
14
15func main() {
16	A := 78.5398
17	r, err := radiusFromArea(A)
18	if err != nil {
19		fmt.Println(err)
20		return
21	}
22	fmt.Printf("Promień wynosi %.2f jednostek.\n", r)
23}
24
Ruby
1## Obliczanie promienia z pola
2def radius_from_area(area)
3  raise ArgumentError, "Pole musi być większe od zera." if area <= 0
4  Math.sqrt(area / Math::PI)
5end
6
7## Przykład użycia
8A = 78.5398
9r = radius_from_area(A)
10puts "Promień wynosi #{format('%.2f', r)} jednostek."
11
PHP
1<?php
2// Obliczanie promienia z pola
3function radiusFromArea($area) {
4    if ($area <= 0) {
5        throw new Exception('Pole musi być większe od zera.');
6    }
7    return sqrt($area / M_PI);
8}
9
10// Przykład użycia
11$A = 78.5398;
12$r = radiusFromArea($A);
13echo "Promień wynosi " . round($r, 2) . " jednostek.";
14?>
15
Rust
1use std::f64::consts::PI;
2
3// Obliczanie promienia z pola
4fn radius_from_area(area: f64) -> Result<f64, &'static str> {
5    if area <= 0.0 {
6        return Err("Pole musi być większe od zera.");
7    }
8    Ok((area / PI).sqrt())
9}
10
11fn main() {
12    let A = 78.5398;
13    match radius_from_area(A) {
14        Ok(r) => println!("Promień wynosi {:.2} jednostek.", r),
15        Err(e) => println!("{}", e),
16    }
17}
18
Swift
1import Foundation
2
3// Obliczanie promienia z pola
4func radiusFromArea(_ area: Double) throws -> Double {
5    if area <= 0 {
6        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Pole musi być większe od zera."])
7    }
8    return sqrt(area / Double.pi)
9}
10
11// Przykład użycia
12do {
13    let A = 78.5398
14    let r = try radiusFromArea(A)
15    print(String(format: "Promień wynosi %.2f jednostek.", r))
16} catch {
17    print(error.localizedDescription)
18}
19

Excel

1## Obliczanie promienia ze średnicy w komórce B1
2=IF(B1>0, B1/2, "Nieprawidłowe wejście")
3
4## Obliczanie promienia z obwodu w komórce B2
5=IF(B2>0, B2/(2*PI()), "Nieprawidłowe wejście")
6
7## Obliczanie promienia z pola w komórce B3
8=IF(B3>0, SQRT(B3/PI()), "Nieprawidłowe wejście")
9

Wizualizacja

Diagram SVG ilustrujący związek między promieniem, średnicą i obwodem:

Promień (r) Średnica (d) Obwód (C)

Źródła

  1. Koło - Wikipedia
  2. Obwód - Matematyka jest fajna
  3. Pole Koła - Khan Academy
  4. Historia (\pi) - Wikipedia