Straal van een Cirkel Calculator
Inleiding
De straal van een cirkel is een van zijn meest fundamentele eigenschappen. Het is de afstand van het midden van de cirkel naar elk punt op de omtrek. Deze calculator stelt je in staat om de straal van een cirkel te bepalen op basis van drie verschillende invoerparameters:
- Diameter
- Omtrek
- Oppervlakte
Door een van deze waarden op te geven, kun je de straal berekenen met behulp van de wiskundige relaties die inherent zijn aan de cirkelgeometrie.
Formule
De straal kan worden berekend uit de diameter, omtrek of oppervlakte met behulp van de volgende formules:
-
Van Diameter ():
-
Van Omtrek ():
-
Van Oppervlakte ():
Deze formules zijn afgeleid van de basis eigenschappen van een cirkel:
- Diameter: De diameter is twee keer de straal ().
- Omtrek: De omtrek is de afstand rond de cirkel ().
- Oppervlakte: De oppervlakte die door de cirkel wordt omheind ().
Berekening
Berekenen van de Straal uit Diameter
Gegeven de diameter, is de straal simpelweg de helft ervan:
Voorbeeld:
Als de diameter 10 eenheden is:
Berekenen van de Straal uit Omtrek
Beginnend met de omtrekformule:
Oplossen voor :
Voorbeeld:
Als de omtrek eenheden is:
Berekenen van de Straal uit Oppervlakte
Beginnend met de oppervlakteformule:
Oplossen voor :
Voorbeeld:
Als de oppervlakte vierkante eenheden is:
Randgevallen en Invoer Validatie
-
Nul of Negatieve Invoeren: Een cirkel kan geen negatieve of nul diameter, omtrek of oppervlakte hebben. Als een van deze waarden nul of negatief is, is de straal niet gedefinieerd. De calculator zal in dergelijke gevallen een foutmelding weergeven.
-
Niet-numerieke Invoeren: De calculator vereist numerieke invoeren. Niet-numerieke waarden (bijv. letters of symbolen) zijn ongeldig.
Precisie en Afronding
Deze calculator gebruikt dubbele precisie drijvende komma-aritmetiek voor berekeningen. Resultaten worden meestal weergegeven afgerond op vier decimalen voor grotere nauwkeurigheid. Bij het gebruik van wiskundige constanten zoals , maakt de calculator gebruik van de volledige precisie die beschikbaar is in de programmeertaal of omgeving. Wees je ervan bewust dat drijvende komma-aritmetiek kleine afrondingsfouten kan introduceren in sommige gevallen.
Toepassingen
Het berekenen van de straal van een cirkel is essentieel in verschillende gebieden:
Ingenieurs- en Bouwkunde
-
Ontwerpen van Circulaire Componenten: Ingenieurs moeten vaak de straal bepalen bij het ontwerpen van wielen, tandwielen, pijpen of koepels.
-
Architectuur: Architecten gebruiken de straal om bogen, koepels en ronde gebouwen te ontwerpen.
Astronomie
-
Planetaire Banen: Astronomen berekenen de straal van planetaire banen op basis van waarnemingsgegevens.
-
Hemelse Lichamen: Bepalen van de afmetingen van planeten, sterren en andere hemelobjecten.
Alledaagse Probleemoplossing
-
Kunst en Ontwerp: Kunstenaars en ontwerpers berekenen de straal om cirkelvormige patronen en ontwerpen te maken.
-
Doe-het-zelf Projecten: Berekenen van materialen die nodig zijn voor ronde tafels, tuinen of fonteinen.
Wiskunde en Onderwijs
-
Leren over Geometrie: Het begrijpen van de eigenschappen van cirkels is fundamenteel in de geometrie-educatie.
-
Probleemoplossing: Straalberekeningen komen vaak voor in wiskundige problemen en competities.
Alternatieven
Hoewel de straal een primaire eigenschap is, zijn soms andere cirkel eigenschappen handiger om direct te meten:
-
Meten van de Koordlengte: Handig wanneer je vaste punten op een cirkel hebt en de straal wilt berekenen.
-
Gebruik van Sectorgrootte of Booglengte: In gevallen die gedeeltelijke secties van een cirkel omvatten.
Geschiedenis
De studie van cirkels dateert terug tot oude beschavingen:
-
Oude Geometrie: De cirkel is bestudeerd sinds de tijd van de oude Egyptenaren en Babyloniërs.
-
Euclides' Elementen: Rond 300 v.Chr. definieerde Euclides de cirkel en zijn eigenschappen in zijn baanbrekende werk, Elementen.
-
Archimedes: Bood methoden aan om (\pi) te benaderen en berekende gebieden en volumes gerelateerd aan cirkels en bollen.
-
Ontwikkeling van (\pi): Door de eeuwen heen hebben wiskundigen zoals Liu Hui, Zu Chongzhi, Aryabhata, en uiteindelijk John Wallis en Isaac Newton de waarde en het begrip van (\pi) verfijnd.
De straal blijft een fundamenteel concept, niet alleen in de geometrie, maar ook in de natuurkunde, techniek en verschillende toegepaste wetenschappen.
Voorbeelden
Hier zijn codevoorbeelden in meerdere programmeertalen om de straal te berekenen uit diameter, omtrek en oppervlakte.
Van Diameter
Python
## Bereken straal uit diameter
def radius_from_diameter(diameter):
if diameter <= 0:
raise ValueError("Diameter moet groter zijn dan nul.")
return diameter / 2
## Voorbeeldgebruik
d = 10
r = radius_from_diameter(d)
print(f"De straal is {r} eenheden.")
JavaScript
// Bereken straal uit diameter
function radiusFromDiameter(diameter) {
if (diameter <= 0) {
throw new Error("Diameter moet groter zijn dan nul.");
}
return diameter / 2;
}
// Voorbeeldgebruik
let d = 10;
let r = radiusFromDiameter(d);
console.log(`De straal is ${r} eenheden.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw new IllegalArgumentException("Diameter moet groter zijn dan nul.");
}
return diameter / 2;
}
public static void main(String[] args) {
double d = 10;
double r = radiusFromDiameter(d);
System.out.printf("De straal is %.2f eenheden.%n", r);
}
}
C++
// Bereken straal uit diameter
#include <iostream>
#include <stdexcept>
double radiusFromDiameter(double diameter) {
if (diameter <= 0) {
throw std::invalid_argument("Diameter moet groter zijn dan nul.");
}
return diameter / 2.0;
}
int main() {
double d = 10.0;
try {
double r = radiusFromDiameter(d);
std::cout << "De straal is " << r << " eenheden." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Bereken straal uit diameter
radius_from_diameter <- function(diameter) {
if (diameter <= 0) {
stop("Diameter moet groter zijn dan nul.")
}
return(diameter / 2)
}
## Voorbeeldgebruik
d <- 10
r <- radius_from_diameter(d)
cat(sprintf("De straal is %.2f eenheden.\n", r))
Ruby
## Bereken straal uit diameter
def radius_from_diameter(diameter)
raise ArgumentError, "Diameter moet groter zijn dan nul." if diameter <= 0
diameter / 2.0
end
## Voorbeeldgebruik
d = 10
r = radius_from_diameter(d)
puts "De straal is #{r} eenheden."
PHP
<?php
// Bereken straal uit diameter
function radiusFromDiameter($diameter) {
if ($diameter <= 0) {
throw new Exception('Diameter moet groter zijn dan nul.');
}
return $diameter / 2;
}
// Voorbeeldgebruik
$d = 10;
$r = radiusFromDiameter($d);
echo "De straal is {$r} eenheden.";
?>
Rust
// Bereken straal uit diameter
fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
if diameter <= 0.0 {
return Err("Diameter moet groter zijn dan nul.");
}
Ok(diameter / 2.0)
}
fn main() {
let d = 10.0;
match radius_from_diameter(d) {
Ok(r) => println!("De straal is {:.2} eenheden.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Bereken straal uit diameter
func radiusFromDiameter(_ diameter: Double) throws -> Double {
if diameter <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Diameter moet groter zijn dan nul."])
}
return diameter / 2.0
}
// Voorbeeldgebruik
do {
let d = 10.0
let r = try radiusFromDiameter(d)
print("De straal is \(r) eenheden.")
} catch {
print(error.localizedDescription)
}
Van Omtrek
Python
import math
## Bereken straal uit omtrek
def radius_from_circumference(circumference):
if circumference <= 0:
raise ValueError("Omtrek moet groter zijn dan nul.")
return circumference / (2 * math.pi)
## Voorbeeldgebruik
C = 31.4159
r = radius_from_circumference(C)
print(f"De straal is {r:.2f} eenheden.")
JavaScript
// Bereken straal uit omtrek
function radiusFromCircumference(circumference) {
if (circumference <= 0) {
throw new Error("Omtrek moet groter zijn dan nul.");
}
return circumference / (2 * Math.PI);
}
// Voorbeeldgebruik
let C = 31.4159;
let r = radiusFromCircumference(C);
console.log(`De straal is ${r.toFixed(2)} eenheden.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw new IllegalArgumentException("Omtrek moet groter zijn dan nul.");
}
return circumference / (2 * Math.PI);
}
public static void main(String[] args) {
double C = 31.4159;
double r = radiusFromCircumference(C);
System.out.printf("De straal is %.2f eenheden.%n", r);
}
}
C++
// Bereken straal uit omtrek
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromCircumference(double circumference) {
if (circumference <= 0) {
throw std::invalid_argument("Omtrek moet groter zijn dan nul.");
}
return circumference / (2.0 * M_PI);
}
int main() {
double C = 31.4159;
try {
double r = radiusFromCircumference(C);
std::cout << "De straal is " << r << " eenheden." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Bereken straal uit omtrek
radius_from_circumference <- function(circumference) {
if (circumference <= 0) {
stop("Omtrek moet groter zijn dan nul.")
}
return(circumference / (2 * pi))
}
## Voorbeeldgebruik
C <- 31.4159
r <- radius_from_circumference(C)
cat(sprintf("De straal is %.2f eenheden.\n", r))
Ruby
## Bereken straal uit omtrek
def radius_from_circumference(circumference)
raise ArgumentError, "Omtrek moet groter zijn dan nul." if circumference <= 0
circumference / (2 * Math::PI)
end
## Voorbeeldgebruik
C = 31.4159
r = radius_from_circumference(C)
puts "De straal is #{format('%.2f', r)} eenheden."
PHP
<?php
// Bereken straal uit omtrek
function radiusFromCircumference($circumference) {
if ($circumference <= 0) {
throw new Exception('Omtrek moet groter zijn dan nul.');
}
return $circumference / (2 * M_PI);
}
// Voorbeeldgebruik
$C = 31.4159;
$r = radiusFromCircumference($C);
echo "De straal is " . round($r, 2) . " eenheden.";
?>
Rust
use std::f64::consts::PI;
// Bereken straal uit omtrek
fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
if circumference <= 0.0 {
return Err("Omtrek moet groter zijn dan nul.");
}
Ok(circumference / (2.0 * PI))
}
fn main() {
let C = 31.4159;
match radius_from_circumference(C) {
Ok(r) => println!("De straal is {:.2} eenheden.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Bereken straal uit omtrek
func radiusFromCircumference(_ circumference: Double) throws -> Double {
if circumference <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Omtrek moet groter zijn dan nul."])
}
return circumference / (2 * Double.pi)
}
// Voorbeeldgebruik
do {
let C = 31.4159
let r = try radiusFromCircumference(C)
print(String(format: "De straal is %.2f eenheden.", r))
} catch {
print(error.localizedDescription)
}
Van Oppervlakte
Python
import math
## Bereken straal uit oppervlakte
def radius_from_area(area):
if area <= 0:
raise ValueError("Oppervlakte moet groter zijn dan nul.")
return math.sqrt(area / math.pi)
## Voorbeeldgebruik
A = 78.5398
r = radius_from_area(A)
print(f"De straal is {r:.2f} eenheden.")
JavaScript
// Bereken straal uit oppervlakte
function radiusFromArea(area) {
if (area <= 0) {
throw new Error("Oppervlakte moet groter zijn dan nul.");
}
return Math.sqrt(area / Math.PI);
}
// Voorbeeldgebruik
let A = 78.5398;
let r = radiusFromArea(A);
console.log(`De straal is ${r.toFixed(2)} eenheden.`);
Java
public class CircleRadiusCalculator {
public static double radiusFromArea(double area) {
if (area <= 0) {
throw new IllegalArgumentException("Oppervlakte moet groter zijn dan nul.");
}
return Math.sqrt(area / Math.PI);
}
public static void main(String[] args) {
double A = 78.5398;
double r = radiusFromArea(A);
System.out.printf("De straal is %.2f eenheden.%n", r);
}
}
C++
// Bereken straal uit oppervlakte
#include <iostream>
#include <cmath>
#include <stdexcept>
double radiusFromArea(double area) {
if (area <= 0) {
throw std::invalid_argument("Oppervlakte moet groter zijn dan nul.");
}
return std::sqrt(area / M_PI);
}
int main() {
double A = 78.5398;
try {
double r = radiusFromArea(A);
std::cout << "De straal is " << r << " eenheden." << std::endl;
} catch (const std::exception& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
R
## Bereken straal uit oppervlakte
radius_from_area <- function(area) {
if (area <= 0) {
stop("Oppervlakte moet groter zijn dan nul.")
}
return(sqrt(area / pi))
}
## Voorbeeldgebruik
A <- 78.5398
r <- radius_from_area(A)
cat(sprintf("De straal is %.2f eenheden.\n", r))
MATLAB
% Bereken straal uit oppervlakte
function r = radius_from_area(area)
if area <= 0
error('Oppervlakte moet groter zijn dan nul.');
end
r = sqrt(area / pi);
end
% Voorbeeldgebruik
A = 78.5398;
r = radius_from_area(A);
fprintf('De straal is %.2f eenheden.\n', r);
C#
using System;
class CircleRadiusCalculator
{
public static double RadiusFromArea(double area)
{
if (area <= 0)
throw new ArgumentException("Oppervlakte moet groter zijn dan nul.");
return Math.Sqrt(area / Math.PI);
}
static void Main()
{
double A = 78.5398;
double r = RadiusFromArea(A);
Console.WriteLine("De straal is {0:F2} eenheden.", r);
}
}
Go
package main
import (
"fmt"
"math"
)
func radiusFromArea(area float64) (float64, error) {
if area <= 0 {
return 0, fmt.Errorf("Oppervlakte moet groter zijn dan nul.")
}
return math.Sqrt(area / math.Pi), nil
}
func main() {
A := 78.5398
r, err := radiusFromArea(A)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("De straal is %.2f eenheden.\n", r)
}
Ruby
## Bereken straal uit oppervlakte
def radius_from_area(area)
raise ArgumentError, "Oppervlakte moet groter zijn dan nul." if area <= 0
Math.sqrt(area / Math::PI)
end
## Voorbeeldgebruik
A = 78.5398
r = radius_from_area(A)
puts "De straal is #{format('%.2f', r)} eenheden."
PHP
<?php
// Bereken straal uit oppervlakte
function radiusFromArea($area) {
if ($area <= 0) {
throw new Exception('Oppervlakte moet groter zijn dan nul.');
}
return sqrt($area / M_PI);
}
// Voorbeeldgebruik
$A = 78.5398;
$r = radiusFromArea($A);
echo "De straal is " . round($r, 2) . " eenheden.";
?>
Rust
use std::f64::consts::PI;
// Bereken straal uit oppervlakte
fn radius_from_area(area: f64) -> Result<f64, &'static str> {
if area <= 0.0 {
return Err("Oppervlakte moet groter zijn dan nul.");
}
Ok((area / PI).sqrt())
}
fn main() {
let A = 78.5398;
match radius_from_area(A) {
Ok(r) => println!("De straal is {:.2} eenheden.", r),
Err(e) => println!("{}", e),
}
}
Swift
import Foundation
// Bereken straal uit oppervlakte
func radiusFromArea(_ area: Double) throws -> Double {
if area <= 0 {
throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Oppervlakte moet groter zijn dan nul."])
}
return sqrt(area / Double.pi)
}
// Voorbeeldgebruik
do {
let A = 78.5398
let r = try radiusFromArea(A)
print(String(format: "De straal is %.2f eenheden.", r))
} catch {
print(error.localizedDescription)
}
Excel
## Bereken straal uit diameter in cel B1
=IF(B1>0, B1/2, "Ongeldige invoer")
## Bereken straal uit omtrek in cel B2
=IF(B2>0, B2/(2*PI()), "Ongeldige invoer")
## Bereken straal uit oppervlakte in cel B3
=IF(B3>0, SQRT(B3/PI()), "Ongeldige invoer")
Visualisatie
Een SVG-diagram dat de relatie tussen de straal, diameter en omtrek illustreert:
Referenties
- Cirkel - Wikipedia
- Omtrek - Math Is Fun
- Oppervlakte van een Cirkel - Khan Academy
- Geschiedenis van (\pi) - Wikipedia