Whiz Tools

Калкулатор на радиус на окръжност

Въведение

Радиусът на окръжност е едно от най-основните й свойства. Това е разстоянието от центъра на окръжността до всяка точка на нейната обиколка. Този калкулатор ви позволява да определите радиуса на окръжност, базирайки се на три различни входни параметъра:

  1. Диаметър
  2. Обиколка
  3. Площ

Чрез предоставяне на която и да е от тези стойности, можете да изчислите радиуса, използвайки математическите отношения, присъщи на геометрията на окръжността.

Формула

Радиусът може да бъде изчислен от диаметъра, обиколката или площта, използвайки следните формули:

  1. От диаметър (dd):

    r=d2r = \frac{d}{2}
  2. От обиколка (CC):

    r=C2πr = \frac{C}{2\pi}
  3. От площ (AA):

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

Тези формули са извлечени от основните свойства на окръжността:

  • Диаметър: Диаметърът е два пъти радиуса (d=2rd = 2r).
  • Обиколка: Обиколката е разстоянието около окръжността (C=2πrC = 2\pi r).
  • Площ: Площта, заключена от окръжността (A=πr2A = \pi r^2).

Изчисление

Изчисляване на радиуса от диаметър

Даден диаметър, радиусът е просто половината от него:

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

Пример:

Ако диаметърът е 10 единици:

r=102=5 единициr = \frac{10}{2} = 5 \text{ единици}

Изчисляване на радиуса от обиколка

Започвайки с формулата за обиколка:

C=2πrC = 2\pi r

Решаваме за rr:

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

Пример:

Ако обиколката е 31.415931.4159 единици:

r=31.41592π31.41596.28325 единициr = \frac{31.4159}{2\pi} \approx \frac{31.4159}{6.2832} \approx 5 \text{ единици}

Изчисляване на радиуса от площ

Започвайки с формулата за площ:

A=πr2A = \pi r^2

Решаваме за rr:

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

Пример:

Ако площта е 78.539878.5398 квадратни единици:

r=78.5398π=78.53983.141625=5 единициr = \sqrt{\frac{78.5398}{\pi}} = \sqrt{\frac{78.5398}{3.1416}} \approx \sqrt{25} = 5 \text{ единици}

Гранични случаи и валидиране на входа

  • Нулеви или отрицателни входове: Окръжността не може да има отрицателен или нулев диаметър, обиколка или площ. Ако някоя от тези стойности е нула или отрицателна, радиусът е неясен. Калкулаторът ще покаже съобщение за грешка в такива случаи.

  • Неномерирани входове: Калкулаторът изисква числови входове. Неномерираните стойности (например, букви или символи) са невалидни.

Прецизност и закръгляне

Този калкулатор използва аритметика с двойна прецизност за изчисления. Резултатите обикновено се показват закръглени до четири десетични знака за по-голяма точност. При използване на математически константи като π\pi, калкулаторът използва пълната прецизност, налична в програмния език или среда. Имайте предвид, че аритметиката с плаваща запетая може да въведе малки закръгления в някои случаи.

Случаи на употреба

Изчисляването на радиуса на окръжност е от съществено значение в различни области:

Инженерство и строителство

  • Проектиране на кръгли компоненти: Инженерите често трябва да определят радиуса при проектиране на колела, зъбни колела, тръби или куполи.

  • Архитектура: Архитектите използват радиуса, за да проектират арки, куполи и кръгли сгради.

Астрономия

  • Планетарни орбити: Астрономите изчисляват радиуса на планетарни орбити на базата на наблюдателни данни.

  • Небесни тела: Определяне на размерите на планети, звезди и други небесни обекти.

Всекидневно решаване на проблеми

  • Изкуство и дизайн: Художниците и дизайнерите изчисляват радиуса, за да създадат кръгли модели и дизайни.

  • Проекти "Направи си сам": Изчисляване на необходимите материали за кръгли маси, градини или фонтани.

Математика и образование

  • Учене на геометрия: Разбирането на свойствата на окръжностите е основополагающо в образованието по геометрия.

  • Решаване на проблеми: Изчисленията на радиуса са често срещани в математически проблеми и конкурси.

Алтернативи

Докато радиусът е основно свойство, понякога други свойства на окръжността са по-удобни за директно измерване:

  • Измерване на дължината на хорда: Полезно, когато имате фиксирани точки на окръжността и трябва да изчислите радиуса.

  • Използване на площ на сектор или дължина на дъга: В случаи, свързани с частични секции на окръжността.

История

Изучаването на окръжности датира от древни цивилизации:

  • Древна геометрия: Окръжността е била изучавана от времето на древните египтяни и вавилонци.

  • Евклидови елементи: Около 300 г. пр.н.е. Евклид дефинира окръжността и нейните свойства в своята основополагаща работа, Елементи.

  • Архимед: Предоставил методи за приближаване на (\pi) и изчислявал площи и обеми, свързани с окръжности и сфери.

  • Развитие на (\pi): През вековете математици като Лиу Хуи, Дзъ Чонгжи, Арйабхата и в крайна сметка Джон Уалис и Исак Нютон усъвършенствали стойността и разбирането на (\pi).

Радиусът остава основна концепция не само в геометрията, но и в физиката, инженерството и различни приложни науки.

Примери

Ето примери на код на множество програмни езици за изчисляване на радиуса от диаметър, обиколка и площ.

От диаметър

Python
## Изчисляване на радиуса от диаметър
def radius_from_diameter(diameter):
    if diameter <= 0:
        raise ValueError("Диаметърът трябва да бъде по-голям от нула.")
    return diameter / 2

## Пример за употреба
d = 10
r = radius_from_diameter(d)
print(f"Радиусът е {r} единици.")
JavaScript
// Изчисляване на радиуса от диаметър
function radiusFromDiameter(diameter) {
    if (diameter <= 0) {
        throw new Error("Диаметърът трябва да бъде по-голям от нула.");
    }
    return diameter / 2;
}

// Пример за употреба
let d = 10;
let r = radiusFromDiameter(d);
console.log(`Радиусът е ${r} единици.`);
Java
public class CircleRadiusCalculator {
    public static double radiusFromDiameter(double diameter) {
        if (diameter <= 0) {
            throw new IllegalArgumentException("Диаметърът трябва да бъде по-голям от нула.");
        }
        return diameter / 2;
    }

    public static void main(String[] args) {
        double d = 10;
        double r = radiusFromDiameter(d);
        System.out.printf("Радиусът е %.2f единици.%n", r);
    }
}
C++
// Изчисляване на радиуса от диаметър
#include <iostream>
#include <stdexcept>

double radiusFromDiameter(double diameter) {
    if (diameter <= 0) {
        throw std::invalid_argument("Диаметърът трябва да бъде по-голям от нула.");
    }
    return diameter / 2.0;
}

int main() {
    double d = 10.0;
    try {
        double r = radiusFromDiameter(d);
        std::cout << "Радиусът е " << r << " единици." << std::endl;
    } catch (const std::exception& e) {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
R
## Изчисляване на радиуса от диаметър
radius_from_diameter <- function(diameter) {
  if (diameter <= 0) {
    stop("Диаметърът трябва да бъде по-голям от нула.")
  }
  return(diameter / 2)
}

## Пример за употреба
d <- 10
r <- radius_from_diameter(d)
cat(sprintf("Радиусът е %.2f единици.\n", r))
Ruby
## Изчисляване на радиуса от диаметър
def radius_from_diameter(diameter)
  raise ArgumentError, "Диаметърът трябва да бъде по-голям от нула." if diameter <= 0
  diameter / 2.0
end

## Пример за употреба
d = 10
r = radius_from_diameter(d)
puts "Радиусът е #{r} единици."
PHP
<?php
// Изчисляване на радиуса от диаметър
function radiusFromDiameter($diameter) {
    if ($diameter <= 0) {
        throw new Exception('Диаметърът трябва да бъде по-голям от нула.');
    }
    return $diameter / 2;
}

// Пример за употреба
$d = 10;
$r = radiusFromDiameter($d);
echo "Радиусът е {$r} единици.";
?>
Rust
// Изчисляване на радиуса от диаметър
fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
    if diameter <= 0.0 {
        return Err("Диаметърът трябва да бъде по-голям от нула.");
    }
    Ok(diameter / 2.0)
}

fn main() {
    let d = 10.0;
    match radius_from_diameter(d) {
        Ok(r) => println!("Радиусът е {:.2} единици.", r),
        Err(e) => println!("{}", e),
    }
}
Swift
import Foundation

// Изчисляване на радиуса от диаметър
func radiusFromDiameter(_ diameter: Double) throws -> Double {
    if diameter <= 0 {
        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Диаметърът трябва да бъде по-голям от нула."])
    }
    return diameter / 2.0
}

// Пример за употреба
do {
    let d = 10.0
    let r = try radiusFromDiameter(d)
    print("Радиусът е \(r) единици.")
} catch {
    print(error.localizedDescription)
}

От обиколка

Python
import math

## Изчисляване на радиуса от обиколка
def radius_from_circumference(circumference):
    if circumference <= 0:
        raise ValueError("Обиколката трябва да бъде по-голяма от нула.")
    return circumference / (2 * math.pi)

## Пример за употреба
C = 31.4159
r = radius_from_circumference(C)
print(f"Радиусът е {r:.2f} единици.")
JavaScript
// Изчисляване на радиуса от обиколка
function radiusFromCircumference(circumference) {
    if (circumference <= 0) {
        throw new Error("Обиколката трябва да бъде по-голяма от нула.");
    }
    return circumference / (2 * Math.PI);
}

// Пример за употреба
let C = 31.4159;
let r = radiusFromCircumference(C);
console.log(`Радиусът е ${r.toFixed(2)} единици.`);
Java
public class CircleRadiusCalculator {
    public static double radiusFromCircumference(double circumference) {
        if (circumference <= 0) {
            throw new IllegalArgumentException("Обиколката трябва да бъде по-голяма от нула.");
        }
        return circumference / (2 * Math.PI);
    }

    public static void main(String[] args) {
        double C = 31.4159;
        double r = radiusFromCircumference(C);
        System.out.printf("Радиусът е %.2f единици.%n", r);
    }
}
C++
// Изчисляване на радиуса от обиколка
#include <iostream>
#include <cmath>
#include <stdexcept>

double radiusFromCircumference(double circumference) {
    if (circumference <= 0) {
        throw std::invalid_argument("Обиколката трябва да бъде по-голяма от нула.");
    }
    return circumference / (2.0 * M_PI);
}

int main() {
    double C = 31.4159;
    try {
        double r = radiusFromCircumference(C);
        std::cout << "Радиусът е " << r << " единици." << std::endl;
    } catch (const std::exception& e) {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
R
## Изчисляване на радиуса от обиколка
radius_from_circumference <- function(circumference) {
  if (circumference <= 0) {
    stop("Обиколката трябва да бъде по-голяма от нула.")
  }
  return(circumference / (2 * pi))
}

## Пример за употреба
C <- 31.4159
r <- radius_from_circumference(C)
cat(sprintf("Радиусът е %.2f единици.\n", r))
Ruby
## Изчисляване на радиуса от обиколка
def radius_from_circumference(circumference)
  raise ArgumentError, "Обиколката трябва да бъде по-голяма от нула." if circumference <= 0
  circumference / (2 * Math::PI)
end

## Пример за употреба
C = 31.4159
r = radius_from_circumference(C)
puts "Радиусът е #{format('%.2f', r)} единици."
PHP
<?php
// Изчисляване на радиуса от обиколка
function radiusFromCircumference($circumference) {
    if ($circumference <= 0) {
        throw new Exception('Обиколката трябва да бъде по-голяма от нула.');
    }
    return $circumference / (2 * M_PI);
}

// Пример за употреба
$C = 31.4159;
$r = radiusFromCircumference($C);
echo "Радиусът е " . round($r, 2) . " единици.";
?>
Rust
use std::f64::consts::PI;

// Изчисляване на радиуса от обиколка
fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
    if circumference <= 0.0 {
        return Err("Обиколката трябва да бъде по-голяма от нула.");
    }
    Ok(circumference / (2.0 * PI))
}

fn main() {
    let C = 31.4159;
    match radius_from_circumference(C) {
        Ok(r) => println!("Радиусът е {:.2} единици.", r),
        Err(e) => println!("{}", e),
    }
}
Swift
import Foundation

// Изчисляване на радиуса от обиколка
func radiusFromCircumference(_ circumference: Double) throws -> Double {
    if circumference <= 0 {
        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Обиколката трябва да бъде по-голяма от нула."])
    }
    return circumference / (2 * Double.pi)
}

// Пример за употреба
do {
    let C = 31.4159
    let r = try radiusFromCircumference(C)
    print(String(format: "Радиусът е %.2f единици.", r))
} catch {
    print(error.localizedDescription)
}

От площ

Python
import math

## Изчисляване на радиуса от площ
def radius_from_area(area):
    if area <= 0:
        raise ValueError("Площта трябва да бъде по-голяма от нула.")
    return math.sqrt(area / math.pi)

## Пример за употреба
A = 78.5398
r = radius_from_area(A)
print(f"Радиусът е {r:.2f} единици.")
JavaScript
// Изчисляване на радиуса от площ
function radiusFromArea(area) {
    if (area <= 0) {
        throw new Error("Площта трябва да бъде по-голяма от нула.");
    }
    return Math.sqrt(area / Math.PI);
}

// Пример за употреба
let A = 78.5398;
let r = radiusFromArea(A);
console.log(`Радиусът е ${r.toFixed(2)} единици.`);
Java
public class CircleRadiusCalculator {
    public static double radiusFromArea(double area) {
        if (area <= 0) {
            throw new IllegalArgumentException("Площта трябва да бъде по-голяма от нула.");
        }
        return Math.sqrt(area / Math.PI);
    }

    public static void main(String[] args) {
        double A = 78.5398;
        double r = radiusFromArea(A);
        System.out.printf("Радиусът е %.2f единици.%n", r);
    }
}
C++
// Изчисляване на радиуса от площ
#include <iostream>
#include <cmath>
#include <stdexcept>

double radiusFromArea(double area) {
    if (area <= 0) {
        throw std::invalid_argument("Площта трябва да бъде по-голяма от нула.");
    }
    return std::sqrt(area / M_PI);
}

int main() {
    double A = 78.5398;
    try {
        double r = radiusFromArea(A);
        std::cout << "Радиусът е " << r << " единици." << std::endl;
    } catch (const std::exception& e) {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
R
## Изчисляване на радиуса от площ
radius_from_area <- function(area) {
  if (area <= 0) {
    stop("Площта трябва да бъде по-голяма от нула.")
  }
  return(sqrt(area / pi))
}

## Пример за употреба
A <- 78.5398
r <- radius_from_area(A)
cat(sprintf("Радиусът е %.2f единици.\n", r))
MATLAB
% Изчисляване на радиуса от площ
function r = radius_from_area(area)
    if area <= 0
        error('Площта трябва да бъде по-голяма от нула.');
    end
    r = sqrt(area / pi);
end

% Пример за употреба
A = 78.5398;
r = radius_from_area(A);
fprintf('Радиусът е %.2f единици.\n', r);
C#
using System;

class CircleRadiusCalculator
{
    public static double RadiusFromArea(double area)
    {
        if (area <= 0)
            throw new ArgumentException("Площта трябва да бъде по-голяма от нула.");
        return Math.Sqrt(area / Math.PI);
    }

    static void Main()
    {
        double A = 78.5398;
        double r = RadiusFromArea(A);
        Console.WriteLine("Радиусът е {0:F2} единици.", r);
    }
}
Go
package main

import (
	"fmt"
	"math"
)

func radiusFromArea(area float64) (float64, error) {
	if area <= 0 {
		return 0, fmt.Errorf("Площта трябва да бъде по-голяма от нула.")
	}
	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("Радиусът е %.2f единици.\n", r)
}
Ruby
## Изчисляване на радиуса от площ
def radius_from_area(area)
  raise ArgumentError, "Площта трябва да бъде по-голяма от нула." if area <= 0
  Math.sqrt(area / Math::PI)
end

## Пример за употреба
A = 78.5398
r = radius_from_area(A)
puts "Радиусът е #{format('%.2f', r)} единици."
PHP
<?php
// Изчисляване на радиуса от площ
function radiusFromArea($area) {
    if ($area <= 0) {
        throw new Exception('Площта трябва да бъде по-голяма от нула.');
    }
    return sqrt($area / M_PI);
}

// Пример за употреба
$A = 78.5398;
$r = radiusFromArea($A);
echo "Радиусът е " . round($r, 2) . " единици.";
?>
Rust
use std::f64::consts::PI;

// Изчисляване на радиуса от площ
fn radius_from_area(area: f64) -> Result<f64, &'static str> {
    if area <= 0.0 {
        return Err("Площта трябва да бъде по-голяма от нула.");
    }
    Ok((area / PI).sqrt())
}

fn main() {
    let A = 78.5398;
    match radius_from_area(A) {
        Ok(r) => println!("Радиусът е {:.2} единици.", r),
        Err(e) => println!("{}", e),
    }
}
Swift
import Foundation

// Изчисляване на радиуса от площ
func radiusFromArea(_ area: Double) throws -> Double {
    if area <= 0 {
        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "Площта трябва да бъде по-голяма от нула."])
    }
    return sqrt(area / Double.pi)
}

// Пример за употреба
do {
    let A = 78.5398
    let r = try radiusFromArea(A)
    print(String(format: "Радиусът е %.2f единици.", r))
} catch {
    print(error.localizedDescription)
}

Excel

## Изчисляване на радиуса от диаметър в клетка B1
=IF(B1>0, B1/2, "Невалиден вход")

## Изчисляване на радиуса от обиколка в клетка B2
=IF(B2>0, B2/(2*PI()), "Невалиден вход")

## Изчисляване на радиуса от площ в клетка B3
=IF(B3>0, SQRT(B3/PI()), "Невалиден вход")

Визуализация

SVG диаграма, илюстрираща връзката между радиуса, диаметъра и обиколката:

Радиус (r) Диаметър (d) Обиколка (C)

Референции

  1. Окръжност - Уикипедия
  2. Обиколка - Math Is Fun
  3. Площ на окръжност - Khan Academy
  4. История на (\pi) - Уикипедия
Feedback