Campo Elétrico do Quadripolo
Publicado por Roberto Júnior 30/11/2006
[ Hits: 9.094 ]
Homepage: http://sites.google.com/site/dibetao
Publiquei aqui (VOL) um script de um programa em C que gera o gráfico de um campo elétrico por duas cargas opostas (dipolo elétrico). Agora, para ampliar e dar mais entendimento ao código, estou publicando uma variação do programa, um quadripolo (quatro cargas elétricas). Vale à pena conferir!
/** * @author Roberto Lima da C C Junior * @file campo2.c * * @begin Sab Nov 11 2006 * @copyright (C) 2006 by Roberto Lima * @email dibetao@gmail.com * PROGRAMA GERADOR DO GRAFICO DO CAMPO ELETRICO * * Usamos tres elementos vetoriais: * Ei : (campo eletrico da carga i) * Ri : (posicao da carga i) * r : (vetor que roda o espaco) * ou melhor E(r) - E em funcao de r * * E1 - Em relacao a carga 1 * E1[1] - Campo da carga 1 na dimensao 1 (que pode ser X) * E1[2] - Campo da carga 1 na dimensao 2 (que pode ser Y) * Assim como para as outras cargas. * * No caso: Quadrupolo Elétrico * * ______________ * | q1 q2 | * | | * | q4 q3 | * |____________| * Este programa plota o gráfico do campo elétrico gerado por quatro cargas elétricas puntiformes. Para gerar o gráfico voce terá que ter o GNUPlot. http://www.gnuplot.info/ Quando o programa for compilado (gcc campo2.c -lm -o campo2) e executado (./campo2), será criado um arquivo (dados.dat) onde estarão os dados a serem plotados no GNUPLot. Então basta executar o Gnuplot e digitar o seguinte comando: plot "dados.dat" w vectors; O será gerado o grafico do Campo Elétrico criado pelas cargas (gráfico vetorial). */ #include <stdio.h> #include <stdlib.h> #include <math.h> main() { int i,j,k; float C,q1,q2,q3,q4,x,y; float E1[4]={0}; float R1[4]={0,-30,30,0}; float E2[4]={0}; float R2[4]={0,30,30,0}; float E3[4]={0}; float R3[4]={0,30,-30,0}; float E4[4]={0}; float R4[4]={0,-30,-30,0}; float r[4]={0}; FILE *arq1; arq1= fopen("dados.dat","w+"); C=8; q1=1.0; q2=-1.0; q3=1.0; q4=-1.0; for (r[1]=-50; r[1]<=50; r[1]++) for (r[2]=-50; r[2]<=50; r[2]++) { E1[1] = (C*q1*(R1[1]-r[1]))/sqrt( pow(R1[1]-r[1],2) + pow(R1[2]-r[2],2)); E1[2] = (C*q1*(R1[2]-r[2]))/sqrt( pow(R1[1]-r[1],2) + pow(R1[2]-r[2],2)); E2[1] = (C*q2*(R2[1]-r[1]))/sqrt( pow(R2[1]-r[1],2) + pow(R2[2]-r[2],2)); E2[2] = (C*q2*(R2[2]-r[2]))/sqrt( pow(R2[1]-r[1],2) + pow(R2[2]-r[2],2)); E3[1] = (C*q3*(R3[1]-r[1]))/sqrt( pow(R3[1]-r[1],2) + pow(R3[2]-r[2],2)); E3[2] = (C*q3*(R3[2]-r[2]))/sqrt( pow(R3[1]-r[1],2) + pow(R3[2]-r[2],2)); E4[1] = (C*q4*(R4[1]-r[1]))/sqrt( pow(R4[1]-r[1],2) + pow(R4[2]-r[2],2)); E4[2] = (C*q4*(R4[2]-r[2]))/sqrt( pow(R4[1]-r[1],2) + pow(R4[2]-r[2],2)); fprintf(arq1,"\n%f %f %f %f",R1[1]-r[1]+R2[1]-r[1]+R3[1]-r[1]+R4[1]-r[1], R1[2]-r[2]+R2[2]-r[2]+R3[2]-r[2]+R4[2]-r[2], E1[1]+E2[1]+E3[1]+E4[1], E1[2]+E2[2]+E3[2]+E4[2]); } fclose(arq1); }
SIMULADOR DE DADOS DE RPG - Baseado em Vampiro A Máscara - Alea Jacta Est ver2.0.1
Pedindo uma senha ao usuário!!!
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)