簡體   English   中英

使用C在SVG中繪制切線圖

[英]draw a graph of tangent in SVG using C

這是我有點復雜的家庭作業的最后一部分,我無法弄清楚自己。

基本上,這是一個切線函數,使用C繪制到SVG。

這是我繪制的方式:

在此處輸入圖片說明

它應該是這樣的:

在此處輸入圖片說明

幾乎一樣,只是我要畫那些未定義切線的線。我該如何擺脫呢? 我實際上是使用簡單的for循環生成該切線,並且我了解了將Lineto更改為Moveto會擺脫這些線,但是如何確定適用於任何高度/寬度和任何(-x, x)(-y,y)。 有什么想法嗎?

源代碼鏈接到我的圖紙 | 鏈接到原始圖紙

編輯:結構

typedef struct svg_graph{
    int w;
    int h;
    int x;
    int y;
} graph;

和代碼本身:

double initializer = 0;
double m = 0;
double temp = 0;

initializer = svg->h/2 - tan(-svg->x)*(((double)svg->h/2)/svg->y);
fprintf(output, "<path clip-path=\"url(#myClip)\" d=\"M 0 %.1f", initializer)
temp = ((double)svg->x/(svg->w/2));
m = svg->h/2 - tan(-svg->x+temp)*((double)(svg->h/2)/svg->y);
for (int i = 1; i<=svg->w; i++){

      fprintf(output, " L %d %.1f", i, m);

      temp = ((double)svg->x/(svg->w/2)) + temp;
      m = svg->h/2 - tan(-svg->x+temp)*((double)(svg->h/2)/svg->y);
}

如果導數是非有限的,那么您需要移動而不是直線。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM