Ympyrän säteen laskin - Laske säde halkaisijasta tai pinta-alasta

Laske ympyrän säde käyttäen halkaisijaa, ympärysmittaa tai pinta-alaa. Ihanteellinen geometrialaskentaan ja ympyrän ominaisuuksien ymmärtämiseen.

Ympyrän säteen laskin

📚

Dokumentaatio

Ympyrän säteen laskin

Johdanto

Säde on yksi ympyrän perusominaisuuksista. Se on etäisyys ympyrän keskipisteestä mihin tahansa pisteeseen sen kehällä. Tämä laskin mahdollistaa ympyrän säteen määrittämisen kolmen eri syöttöparametrin perusteella:

  1. Halkaisija
  2. Ympärysmitta
  3. Pinta-ala

Antamalla jonkin näistä arvoista voit laskea säteen ympyrägeometrian matemaattisten suhteiden avulla.

Kaava

Säde voidaan laskea halkaisijasta, ympärysmittasta tai pinta-alasta seuraavien kaavojen avulla:

  1. Halkaisijasta (dd):

    r=d2r = \frac{d}{2}
  2. Ympärysmittasta (CC):

    r=C2πr = \frac{C}{2\pi}
  3. Pinta-alasta (AA):

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

Nämä kaavat on johdettu ympyrän perusominaisuuksista:

  • Halkaisija: Halkaisija on kaksi kertaa säde (d=2rd = 2r).
  • Ympärysmitta: Ympärysmitta on etäisyys ympyrän ympärillä (C=2πrC = 2\pi r).
  • Pinta-ala: Ympyrän suljettu pinta-ala (A=πr2A = \pi r^2).

Laskenta

Säteen laskeminen halkaisijasta

Annettaessa halkaisija, säde on yksinkertaisesti puolet siitä:

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

Esimerkki:

Jos halkaisija on 10 yksikköä:

r=102=5 yksikko¨a¨r = \frac{10}{2} = 5 \text{ yksikköä}

Säteen laskeminen ympärysmittasta

Aloitetaan ympärysmittakaavasta:

C=2πrC = 2\pi r

Ratkaistaan rr:

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

Esimerkki:

Jos ympärysmitta on 31.415931.4159 yksikköä:

r=31.41592π31.41596.28325 yksikko¨a¨r = \frac{31.4159}{2\pi} \approx \frac{31.4159}{6.2832} \approx 5 \text{ yksikköä}

Säteen laskeminen pinta-alasta

Aloitetaan pinta-alakaavasta:

A=πr2A = \pi r^2

Ratkaistaan rr:

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

Esimerkki:

Jos pinta-ala on 78.539878.5398 neliöyksikköä:

r=78.5398π=78.53983.141625=5 yksikko¨a¨r = \sqrt{\frac{78.5398}{\pi}} = \sqrt{\frac{78.5398}{3.1416}} \approx \sqrt{25} = 5 \text{ yksikköä}

Reunakohdat ja syöttötarkistus

  • Nolla tai negatiiviset syötteet: Ympyrällä ei voi olla negatiivista tai nollaa halkaisijaa, ympärysmittaa tai pinta-alaa. Jos jokin näistä arvoista on nolla tai negatiivinen, säde on määrittelemätön. Laskin näyttää virheilmoituksen tällaisissa tapauksissa.

  • Numeron ulkopuoliset syötteet: Laskin vaatii numeerisia syötteitä. Nonnumeriset arvot (esim. kirjaimet tai symbolit) ovat virheellisiä.

Tarkkuus ja pyöristys

Tämä laskin käyttää kaksoistarkkuuden liukulukuaritmetiikkaa laskentaan. Tulokset näytetään tyypillisesti pyöristettyinä neljään desimaaliin suuremman tarkkuuden saavuttamiseksi. Käytettäessä matemaattisia vakioita, kuten π\pi, laskin hyödyntää ohjelmointikielen tai ympäristön saatavilla olevaa täyttä tarkkuutta. Ole tietoinen siitä, että liukulukuaritmetiikka voi aiheuttaa pieniä pyöristysvirheitä joissakin tapauksissa.

Käyttötapaukset

Ympyrän säteen laskeminen on olennaista eri aloilla:

Insinööritiede ja rakentaminen

  • Pyöreiden komponenttien suunnittelu: Insinöörit tarvitsevat usein säteen määrittämistä suunnitellessaan renkaita, vaihteita, putkia tai kupoleita.

  • Arkkitehtuuri: Arkkitehdit käyttävät sädettä suunnitellessaan holveja, kupoleita ja pyöreitä rakennuksia.

Astronomia

  • Planeettojen radat: Astronomit laskevat planeettojen ratojen säteen havaintotietojen perusteella.

  • Taivaankappaleet: Määritetään planeettojen, tähtien ja muiden taivaankappaleiden kokoja.

Arkielämän ongelmanratkaisu

  • Taide ja suunnittelu: Taiteilijat ja suunnittelijat laskevat säteen luodakseen pyöreitä kuvioita ja malleja.

  • DIY-projektit: Materiaalien laskeminen pyöreille pöydille, puutarhoille tai suihkulähteille.

Matematiikka ja koulutus

  • Geometrian oppiminen: Ympyröiden ominaisuuksien ymmärtäminen on perusasia geometrian opetuksessa.

  • Ongelmien ratkaiseminen: Säteen laskeminen on yleistä matemaattisissa ongelmissa ja kilpailuissa.

Vaihtoehdot

Vaikka säde on ensisijainen ominaisuus, joskus muut ympyrän ominaisuudet ovat kätevämpiä mitata suoraan:

  • Kaaren pituuden mittaaminen: Hyödyllinen, kun sinulla on kiinteät pisteet ympyrässä ja tarvitset säteen laskemista.

  • Sekoitusalueen tai kaaren pituuden käyttäminen: Tapauksissa, joissa on osittaisia ympyrän osia.

Historia

Ympyröiden tutkimus juontaa juurensa muinaisiin sivilisaatioihin:

  • Muinaiset geometriat: Ympyrää on tutkittu muinaisten egyptiläisten ja babylonialaisten ajoista lähtien.

  • Eucliduksen elementit: Noin 300 eKr. Euclid määritteli ympyrän ja sen ominaisuudet merkittävässä teoksessaan Elementit.

  • Arkhimedes: Tarjosi menetelmiä (\pi):n arvioimiseksi ja laski alueita ja tilavuuksia, jotka liittyvät ympyröihin ja palloihin.

  • (\pi):n kehitys: Vuosisatojen aikana matemaatikot, kuten Liu Hui, Zu Chongzhi, Aryabhata, ja lopulta John Wallis ja Isaac Newton, tarkensivat (\pi):n arvoa ja ymmärrystä.

Säde on edelleen peruskäsite, ei vain geometriassa, vaan myös fysiikassa, insinööritieteessä ja eri sovelletuissa tieteissä.

Esimerkit

Tässä on koodiesimerkkejä useilla ohjelmointikielillä säteen laskemiseksi halkaisijasta, ympärysmittasta ja pinta-alasta.

Halkaisijasta

Python
1## Laske säde halkaisijasta
2def radius_from_diameter(diameter):
3    if diameter <= 0:
4        raise ValueError("Halkaisijan on oltava suurempi kuin nolla.")
5    return diameter / 2
6
7## Esimerkin käyttö
8d = 10
9r = radius_from_diameter(d)
10print(f"Säde on {r} yksikköä.")
11
JavaScript
1// Laske säde halkaisijasta
2function radiusFromDiameter(diameter) {
3    if (diameter <= 0) {
4        throw new Error("Halkaisijan on oltava suurempi kuin nolla.");
5    }
6    return diameter / 2;
7}
8
9// Esimerkin käyttö
10let d = 10;
11let r = radiusFromDiameter(d);
12console.log(`Säde on ${r} yksikköä.`);
13
Java
1public class CircleRadiusCalculator {
2    public static double radiusFromDiameter(double diameter) {
3        if (diameter <= 0) {
4            throw new IllegalArgumentException("Halkaisijan on oltava suurempi kuin nolla.");
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("Säde on %.2f yksikköä.%n", r);
13    }
14}
15
C++
1// Laske säde halkaisijasta
2#include <iostream>
3#include <stdexcept>
4
5double radiusFromDiameter(double diameter) {
6    if (diameter <= 0) {
7        throw std::invalid_argument("Halkaisijan on oltava suurempi kuin nolla.");
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 << "Säde on " << r << " yksikköä." << std::endl;
17    } catch (const std::exception& e) {
18        std::cerr << e.what() << std::endl;
19    }
20    return 0;
21}
22
R
1## Laske säde halkaisijasta
2radius_from_diameter <- function(diameter) {
3  if (diameter <= 0) {
4    stop("Halkaisijan on oltava suurempi kuin nolla.")
5  }
6  return(diameter / 2)
7}
8
9## Esimerkin käyttö
10d <- 10
11r <- radius_from_diameter(d)
12cat(sprintf("Säde on %.2f yksikköä.\n", r))
13
Ruby
1## Laske säde halkaisijasta
2def radius_from_diameter(diameter)
3  raise ArgumentError, "Halkaisijan on oltava suurempi kuin nolla." if diameter <= 0
4  diameter / 2.0
5end
6
7## Esimerkin käyttö
8d = 10
9r = radius_from_diameter(d)
10puts "Säde on #{r} yksikköä."
11
PHP
1<?php
2// Laske säde halkaisijasta
3function radiusFromDiameter($diameter) {
4    if ($diameter <= 0) {
5        throw new Exception('Halkaisijan on oltava suurempi kuin nolla.');
6    }
7    return $diameter / 2;
8}
9
10// Esimerkin käyttö
11$d = 10;
12$r = radiusFromDiameter($d);
13echo "Säde on {$r} yksikköä.";
14?>
15
Rust
1// Laske säde halkaisijasta
2fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
3    if diameter <= 0.0 {
4        return Err("Halkaisijan on oltava suurempi kuin nolla.");
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!("Säde on {:.2} yksikköä.", r),
13        Err(e) => println!("{}", e),
14    }
15}
16
Swift
1import Foundation
2
3// Laske säde halkaisijasta
4func radiusFromDiameter(_ diameter: Double) throws -> Double {
5    if diameter <= 0 {
6        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Halkaisijan on oltava suurempi kuin nolla."])
7    }
8    return diameter / 2.0
9}
10
11// Esimerkin käyttö
12do {
13    let d = 10.0
14    let r = try radiusFromDiameter(d)
15    print("Säde on \(r) yksikköä.")
16} catch {
17    print(error.localizedDescription)
18}
19

Ympärysmittasta

Python
1import math
2
3## Laske säde ympärysmittasta
4def radius_from_circumference(circumference):
5    if circumference <= 0:
6        raise ValueError("Ympärysmitan on oltava suurempi kuin nolla.")
7    return circumference / (2 * math.pi)
8
9## Esimerkin käyttö
10C = 31.4159
11r = radius_from_circumference(C)
12print(f"Säde on {r:.2f} yksikköä.")
13
JavaScript
1// Laske säde ympärysmittasta
2function radiusFromCircumference(circumference) {
3    if (circumference <= 0) {
4        throw new Error("Ympärysmitan on oltava suurempi kuin nolla.");
5    }
6    return circumference / (2 * Math.PI);
7}
8
9// Esimerkin käyttö
10let C = 31.4159;
11let r = radiusFromCircumference(C);
12console.log(`Säde on ${r.toFixed(2)} yksikköä.`);
13
Java
1public class CircleRadiusCalculator {
2    public static double radiusFromCircumference(double circumference) {
3        if (circumference <= 0) {
4            throw new IllegalArgumentException("Ympärysmitan on oltava suurempi kuin nolla.");
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("Säde on %.2f yksikköä.%n", r);
13    }
14}
15
C++
1// Laske säde ympärysmittasta
2#include <iostream>
3#include <cmath>
4#include <stdexcept>
5
6double radiusFromCircumference(double circumference) {
7    if (circumference <= 0) {
8        throw std::invalid_argument("Ympärysmitan on oltava suurempi kuin nolla.");
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 << "Säde on " << r << " yksikköä." << std::endl;
18    } catch (const std::exception& e) {
19        std::cerr << e.what() << std::endl;
20    }
21    return 0;
22}
23
R
1## Laske säde ympärysmittasta
2radius_from_circumference <- function(circumference) {
3  if (circumference <= 0) {
4    stop("Ympärysmitan on oltava suurempi kuin nolla.")
5  }
6  return(circumference / (2 * pi))
7}
8
9## Esimerkin käyttö
10C <- 31.4159
11r <- radius_from_circumference(C)
12cat(sprintf("Säde on %.2f yksikköä.\n", r))
13
Ruby
1## Laske säde ympärysmittasta
2def radius_from_circumference(circumference)
3  raise ArgumentError, "Ympärysmitan on oltava suurempi kuin nolla." if circumference <= 0
4  circumference / (2 * Math::PI)
5end
6
7## Esimerkin käyttö
8C = 31.4159
9r = radius_from_circumference(C)
10puts "Säde on #{format('%.2f', r)} yksikköä."
11
PHP
1<?php
2// Laske säde ympärysmittasta
3function radiusFromCircumference($circumference) {
4    if ($circumference <= 0) {
5        throw new Exception('Ympärysmitan on oltava suurempi kuin nolla.');
6    }
7    return $circumference / (2 * M_PI);
8}
9
10// Esimerkin käyttö
11$C = 31.4159;
12$r = radiusFromCircumference($C);
13echo "Säde on " . round($r, 2) . " yksikköä.";
14?>
15
Rust
1use std::f64::consts::PI;
2
3// Laske säde ympärysmittasta
4fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
5    if circumference <= 0.0 {
6        return Err("Ympärysmitan on oltava suurempi kuin nolla.");
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!("Säde on {:.2} yksikköä.", r),
15        Err(e) => println!("{}", e),
16    }
17}
18
Swift
1import Foundation
2
3// Laske säde ympärysmittasta
4func radiusFromCircumference(_ circumference: Double) throws -> Double {
5    if circumference <= 0 {
6        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Ympärysmitan on oltava suurempi kuin nolla."])
7    }
8    return circumference / (2 * Double.pi)
9}
10
11// Esimerkin käyttö
12do {
13    let C = 31.4159
14    let r = try radiusFromCircumference(C)
15    print(String(format: "Säde on %.2f yksikköä.", r))
16} catch {
17    print(error.localizedDescription)
18}
19

Pinta-alasta

Python
1import math
2
3## Laske säde pinta-alasta
4def radius_from_area(area):
5    if area <= 0:
6        raise ValueError("Pinta-alan on oltava suurempi kuin nolla.")
7    return math.sqrt(area / math.pi)
8
9## Esimerkin käyttö
10A = 78.5398
11r = radius_from_area(A)
12print(f"Säde on {r:.2f} yksikköä.")
13
JavaScript
1// Laske säde pinta-alasta
2function radiusFromArea(area) {
3    if (area <= 0) {
4        throw new Error("Pinta-alan on oltava suurempi kuin nolla.");
5    }
6    return Math.sqrt(area / Math.PI);
7}
8
9// Esimerkin käyttö
10let A = 78.5398;
11let r = radiusFromArea(A);
12console.log(`Säde on ${r.toFixed(2)} yksikköä.`);
13
Java
1public class CircleRadiusCalculator {
2    public static double radiusFromArea(double area) {
3        if (area <= 0) {
4            throw new IllegalArgumentException("Pinta-alan on oltava suurempi kuin nolla.");
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("Säde on %.2f yksikköä.%n", r);
13    }
14}
15
C++
1// Laske säde pinta-alasta
2#include <iostream>
3#include <cmath>
4#include <stdexcept>
5
6double radiusFromArea(double area) {
7    if (area <= 0) {
8        throw std::invalid_argument("Pinta-alan on oltava suurempi kuin nolla.");
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 << "Säde on " << r << " yksikköä." << std::endl;
18    } catch (const std::exception& e) {
19        std::cerr << e.what() << std::endl;
20    }
21    return 0;
22}
23
R
1## Laske säde pinta-alasta
2radius_from_area <- function(area) {
3  if (area <= 0) {
4    stop("Pinta-alan on oltava suurempi kuin nolla.")
5  }
6  return(sqrt(area / pi))
7}
8
9## Esimerkin käyttö
10A <- 78.5398
11r <- radius_from_area(A)
12cat(sprintf("Säde on %.2f yksikköä.\n", r))
13
MATLAB
1% Laske säde pinta-alasta
2function r = radius_from_area(area)
3    if area <= 0
4        error('Pinta-alan on oltava suurempi kuin nolla.');
5    end
6    r = sqrt(area / pi);
7end
8
9% Esimerkin käyttö
10A = 78.5398;
11r = radius_from_area(A);
12fprintf('Säde on %.2f yksikköä.\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("Pinta-alan on oltava suurempi kuin nolla.");
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("Säde on {0:F2} yksikköä.", 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("Pinta-alan on oltava suurempi kuin nolla.")
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("Säde on %.2f yksikköä.\n", r)
23}
24
Ruby
1## Laske säde pinta-alasta
2def radius_from_area(area)
3  raise ArgumentError, "Pinta-alan on oltava suurempi kuin nolla." if area <= 0
4  Math.sqrt(area / Math::PI)
5end
6
7## Esimerkin käyttö
8A = 78.5398
9r = radius_from_area(A)
10puts "Säde on #{format('%.2f', r)} yksikköä."
11
PHP
1<?php
2// Laske säde pinta-alasta
3function radiusFromArea($area) {
4    if ($area <= 0) {
5        throw new Exception('Pinta-alan on oltava suurempi kuin nolla.');
6    }
7    return sqrt($area / M_PI);
8}
9
10// Esimerkin käyttö
11$A = 78.5398;
12$r = radiusFromArea($A);
13echo "Säde on " . round($r, 2) . " yksikköä.";
14?>
15
Rust
1use std::f64::consts::PI;
2
3// Laske säde pinta-alasta
4fn radius_from_area(area: f64) -> Result<f64, &'static str> {
5    if area <= 0.0 {
6        return Err("Pinta-alan on oltava suurempi kuin nolla.");
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!("Säde on {:.2} yksikköä.", r),
15        Err(e) => println!("{}", e),
16    }
17}
18
Swift
1import Foundation
2
3// Laske säde pinta-alasta
4func radiusFromArea(_ area: Double) throws -> Double {
5    if area <= 0 {
6        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Pinta-alan on oltava suurempi kuin nolla."])
7    }
8    return sqrt(area / Double.pi)
9}
10
11// Esimerkin käyttö
12do {
13    let A = 78.5398
14    let r = try radiusFromArea(A)
15    print(String(format: "Säde on %.2f yksikköä.", r))
16} catch {
17    print(error.localizedDescription)
18}
19

Excel

1## Laske säde halkaisijasta solussa B1
2=IF(B1>0, B1/2, "Virheellinen syöte")
3
4## Laske säde ympärysmittasta solussa B2
5=IF(B2>0, B2/(2*PI()), "Virheellinen syöte")
6
7## Laske säde pinta-alasta solussa B3
8=IF(B3>0, SQRT(B3/PI()), "Virheellinen syöte")
9

Visualisointi

SVG-diagrammi, joka havainnollistaa säteen, halkaisijan ja ympärysmitan välistä suhdetta:

Säde (r) Halkaisija (d) Ympärysmitta (C)

Viitteet

  1. Ympyrä - Wikipedia
  2. Ympärysmitta - Math Is Fun
  3. Ympyrän pinta-ala - Khan Academy
  4. (\pi):n historia - Wikipedia