Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Sätta punkter efter vissa vinklar i en cirkel

Postades av 2011-07-25 19:43:31 - Benni Svensson, i forum c# (c-sharp), Tråden har 3 Kommentarer och lästs av 3176 personer

Jag håller på att göra ett litet program som skall hjälpa mig med mitt rundbord(ett bord för min metallfräs för att kunna dela in för hålborning, kuggfräsning mm).
Jag har redan fixat koderna för att räkna ut grader efter antal punkter på cirklen, men jag skulle vilja visa med en större punkt var vinklen börjar/slutar.
Så här ritar jag cirklen.
<code>
private void Form1_Paint(object sender, PaintEventArgs e)
{
Pen myPen = new Pen(Color.Red);
int r =200; // radius of circle
int x =this.Height/2, y=this.Width/2; // center coordinates of circle
SolidBrush mybrush = new SolidBrush(Color.AntiqueWhite);
e.Graphics.FillEllipse(mybrush, x - r, y - r, r, r);
e.Graphics.DrawEllipse(myPen, x - r, y - r, r, r);
}
</code>
Det jag skulle vilja ha hjälp med är alltså punterna.
För att förtydliga, om jag väljer två punkter så skall alltså en punkt hamna på 180 grader den andra på 360 grader.


Svara

Sv: Sätta punkter efter vissa vinklar i en cirkel

Postades av 2011-08-01 14:36:19 - Per Hultqvist

Vet inte om jag fattat frågan rätt, men om du vill räkna ut koordinater på på en cirkel med radien r och du har vinkeln v så är formlerna så här:

x = r * cos( v )
y = r * sin( v )

Ex för en cirkel med radien 100 med 10 punkter på cirkeln (=36 grader mellan punkterna) blir första punkten :

x = 100 * cos( 36 ) = 100 * 0.809 = 80.9
y = 100 * sin ( 36 ) = 100 * 0.587 = 58.7

alltså blir koordinaten för första punkten (80.9 , 58.7). Nästa koordinat blir v = n * 36, dvs 36, 72, 108, osv upp till 360 grader för punkt 10...kanske inte jättebra förklarat men sitter på jobbet så det fick bli en snabb förklaring :-)


Svara

Sv:Sätta punkter efter vissa vinklar i en cirkel

Postades av 2011-08-10 20:28:46 - Benni Svensson

Tack för att du svarade, men jag är rädd att jag inte riktigt förstår dig. Jag vill försöka att få till det programmeringsriktigt.
Säj att jag vill ha fem hål(punkter), då blir det
72
144
216
288
360
Skulle det vara rätt att skriva:

x = 100 * cos( 72 )
y = 100 * sin (72)
x = 100 * cos( 144 )
y = 100 * sin (144) osv?


Svara

Sv: Sätta punkter efter vissa vinklar i en cirkel

Postades av 2011-08-11 10:42:07 - Benni Svensson

Jag får problem....
Jag får fram vinklen perfekt men jag kan inte få ut punkterna på rätt sätt, det blir minuskordenationer!
<code>
private void drawDots(double angel)
{
double x = 100 * Math.Cos(angel) ;
double y = 100 * Math.Sin(angel);
double s = 5;
Graphics g = this.CreateGraphics();
Pen pe = new Pen(Color.Black);
SolidBrush mybrush = new SolidBrush(Color.White);
g.FillEllipse(mybrush, (int)x, (int)y, (int)s, (int)s);
g.DrawEllipse(pe, (int)x, (int)y, (int)s, (int)s);
}
</code>
Jag utgår ifrån att jag gör något fel, men vad???
[REDIGERAT]
Genom att ändra lite så får jag scriptet att skriva ut de pluttar jag vill ha..
<code>
double x = 100 * Math.Cos(angel)+122 ;
double y = 100 * Math.Sin(angel)+161;
</code>
..men de blir inte jämnt fördelade. 0 och 360 skall ju vara rakt upp, men det blir den inte.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 764
27 959
271 761
734
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies