Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment fermer WCF Services 
  • Comment puis-je écrire un fichier C…
  • Comment modifier le Silverlight Data…
  • Comment initialiser les variables en…
  • Définition du RPC Fichier 
  • Comment créer un pointeur de mémoi…
  • Comment afficher le contenu d'une li…
  • Comment inclure un fichier d'en-têt…
  • Différence entre C & Visual C 
  • 'C' Programmation Android 
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    Comment calculer les cercles entrecroisés en C + +

    Calcul des points d'intersection des deux cercles est un problème assez délicat dans la géométrie, mais la solution est simple et facile à mettre en œuvre en C + + . Vous aurez besoin d' une sorte de classe de point disponible qui peut gérer l'arithmétique de base , telles que l'addition et la soustraction de points en 2 dimensions . Si vous n'en avez pas , vous pouvez utiliser un std :: vector de la Standard Template Library de la même façon . Choses que vous devez classe Point
    qui gère de base arithmétique
    Show More Instructions
    Check pour les cas particuliers
    1

    calculer la distance entre les centres des cercles :

    point delta = p2 - p1 ; flotteur distanceSquared = Ax * Ax + Ay Ay * ; distance float = sqrt ( distanceSquared ) ;
    2

    Vérifier si les cercles sont complètement séparées l'une de l' autre . Dans ce cas, la distance entre les centres des cercles sera plus grande que la somme de leurs rayons , donc il n'y a aucun moyen qu'ils peuvent se croiser . Si c'est le cas , gérer l'erreur dans la manière qui convient le mieux à votre programme

    if ( distSquared > ( R1 + R2 ) * ( R1 + R2 ) ) noIntersections de retour; .
    Hôtels 3

    Vérifiez si un cercle est complètement dans l'autre. Dans ce cas, il y aura également pas de solutions

    if ( distSquared < (r1 - r2) * (r1 - r2) ) noInersections de retour; .
    4

    Vérifiez si le cercles sont identiques. Cela signifie qu'il ya un nombre infini de solutions - un pour chaque point du cercle

    si ( distSquared == 0 && r1 == r2) infiniteIntersections de retour; .
    < . br> Trouver les intersections
    5

    calculer la distance entre le centre du premier cercle de la corde reliant les points d'intersection

    flotteur chordDistanceSquared = (r1 * r1 - r2 r2 * - distSquared ) * ( r1 * r1 - r2 * r2 - distSquared ) /( 4 * distSquared ) ; flotteur chordDistance = racine ( chordDistanceSquared ) ;
    6

    Calculer la moitié de la longueur de la corde :

    flotteur halfChordLength = racine (r1 * r1 - chordDistanceSquared ) ;
    7

    Trouver le point au centre de la corde :

    point chordMidpoint = p1 + chordDistance * delta /sqrt ( distSquared ) ;
    8

    Calculer les emplacements des points d'intersection en utilisant les informations que vous avez calculé jusqu'ici :

    Intersection1.x = chordMidpoint.x + chordDistance * ( p2.y - p1.y ) /distance, Intersection1.y = chordMidpoint.y + chordDistance * ( P2.x - P1.x ) /distance, Intersection2.x = chordMidpoint.x - chordDistance * ( p2.y - p1 . y) /distance, Intersection2.y = chordMidpoint.y - chordDistance * ( P2.x - P1.x ) /distance,

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire pour créer une instruction switch en C 
  • Comment créer un histogramme utilisant le code de programmation C 
  • Comment Word Wrap Avec Visual C 
  • Comment écrire un programme C + + qui calcule la moyenne des précipitations pour trois mois 
  • Comment utiliser des pointeurs de fonction en C + + 
  • Comment utiliser des pointeurs en C + + 
  • Comment déplacer un pointeur de fichier dans C + + 
  • Quels sont les pointeurs et comment sont- ils utilisés 
  • Comment réaliser des matrices en C + + 
  • Comment créer un tableau en C 
  • Connaissances Informatiques © http://www.ordinateur.cc